-
C언어 1주차 1차시 ① 프로그래밍 언어컴공 2022. 1. 11. 15:47
■ 용어
-프로그래밍 언어 : 프로그램을 만들기 위해 사용하는 언어
-프로그래밍 : 프로그램을 만드는 작업 (코딩)
-프로그래머 : 프로그램을 만드는 사람
-프로그램 : 특정한 작업을 수행하도록 설계된 명령어들의 리스트
■ 컴퓨터의 개요
컴퓨터
-데이터를 입력하고 처리하고 필요에 따라 저장하고 결과를 출력해주는 전자장치
-사람의 지시에 따라 자동적으로 처리해 주는 전자 장치
-명령어들의 리스트에 따라 데이터를 처리하는 기계
-모든 정보를 0, 1로 코드화 시켜 연산 처리함
-하드웨어 HW와 소프트웨어 SW로 구성 되어 있다.
*HW : 기계적인 장치, 만질 수 있음 SW : 하드웨어의 동작을 제어하고 지시하는 모든 종류의 프로그램
처리순서
1. Input (입력)
2. Process (처리) -연산, 제어
3. Storage (저장)
4.Output (출력)
■ 프로그램의 역사
해석 기관
-프로그래밍이 가능한 최초의 기계
-챨스 배비지가 발명 (영국의 수학자)
-수천 개의 기어ㆍ바퀴ㆍ축ㆍ레버 등이 증기로 작동한다.
에이다 러브레이스
-최초의 프로그래머
-대문호 바이런의 친 딸
-해석 기관을 위한 프로그램을 개발
-핵심적인 컴퓨터 프로그래밍 기본 원리를 고안 (서브루틴ㆍ루프ㆍ점프 등)
ENIAC의 프로그램
-초기 컴퓨터 프로그램
-스위치에 의하여 기억되었고, 프로그램을 변경할 때마다 그 많은 스위치들을 처음부터 다시 연결해야 함
프로그램 내장 방식
-1945년 폰 노이만 제안
-컴퓨터에 기억장치를 설치하고, 프로그램과 데이터를 함께 기억장치에 저장했다가
프로그램과 데이터를 프로그램에 포함된 명령에 따라 자동으로 작업을 처리하는 방식
-주기억장치에서 명령어들을 순차적으로 가져와서 실행
■ 프로그램의 역사2
최초의 실용적인 프로그램 내장 방식의 컴퓨터
-에드박(EDVAC)
-1948
-최초의 이진수를 사용한 프로그램 내장 컴퓨터
-2진수로 되어 있는 데이터만 처리 가능
■ 프로그래밍 언어의 분류
하드웨어 → 기계어 → 어셈블리 언어 → 고급언어
기계어
-특정 컴퓨터의 명령어를 이진수로 표시한 것
-0과1로 이루어진 언어
-컴퓨터가 이해할 수 있는 언어
-매우 어렵고 복잡함 (00001111 00001100 00001110 00000111)
-하드웨어에 종속
어셈블리어
-0, 1 대신 ADD, MOV 등의 명령 기호로 기술
-니모닉 기호
-기계어보다는 더 높은 수준에서 프로그램을 작성하는 것이 가능
-기호와 CPU의 명령어가 일대일 대응
*어셈블러 : 기호를 이진수로 변환하는 프로그램 즉, 어셈블리어를 기계어로 변환함
고급언어
-특정한 컴퓨터의 구조나 프로세서에 무관하게 독립적으로 프로그램을 작성할 수 있는 언어
-C, C++, JAVA, FORTRAN, PASCAL
인터프린터 언어 (고급언어, 번역기)
-인터프리터에 의해 번역 및 실행되는 프로그래밍 언어
-자바스크립트, HTML, Python 등
-별도의 컴파일 시간 없음, 프로그램 수정이 간단함
-크기가 큰 소스 코드의 경우 컴파일 시간이 오래걸릴 수 있는데 인터프리터 언어의 경우엔 바로 실행이 가능함
컴파일 언어 (고급언어, 번역기)
-컴파일러에 의해 번역되는 프로그래밍 언어
-C, C++, JAVA, C#
-컴파일된 프로그램의 경우 일반적으로 인터프리터를 이용해 실행시키는 것보다 훨씬 빠르게 동작한다
인터프리터
-해석기
-번역과 실행이 동시에 이루어짐
-고급 언어 문장을 한 단계씩 번역하여 바로 실행해주는 프로그램
-별도의 실행 파일이 존재하지 않음
컴파일러
-번역기
-고급 언어 문장을 기계어로 변환하는 프로그램
-소스 프로그램을 목적 프로그램으로 변환하는 프로그램
■ 프로그래밍 순서
(에디터) (컴파일러) (링커) (로더)
소스파일.C → 목적파일.obj → 실행파일.exe →
'컴공' 카테고리의 다른 글
C언어 1주차 1차시 ② 알고리즘 (0) 2022.01.11