
제가 대학교 1학년 때 [명품 C++ Programming] 교재로 진행되는 C++ 수업에서 배운 내용을 교재와 ppt를 중심으로 정리한 내용입니다.
(2022.9 ~ 2022.12)
당시에 공부를 위해서 HWP 파일로 정리해 놓은 것을 그대로 올립니다.
프로그래밍 : 컴퓨터가 처리할 일련을 작업을 묘사하는 것.
프로그래밍 언어 : 프로그래밍을 할 때 사용하는 컴퓨터 언어.
프로그래밍 언어의 종류
1. 기계어 : 이진수(0,1)를 사용하는 가장 원시적인 언어
▶ CPU는 이진수밖에 이해하지 못하기에 기계어는 컴퓨터가 바로 이해,
처리 가능한 언어
▶ 사람이 작성하기엔 불편한 저수준 플로그래밍 언어 → 프로그래밍 제작과 수정이 어려움
2. 어셈블리어 : 기계어의 각 명령어를 니모닉 기호로 일대일 대응 시킨 언어
▶ 니모닉 기호(mnemonic symbol) : 사람이 표현하기 쉬운 상징적인 것
(ex. ADD, MOVE, SUB)
▶ 시스템 프로그램인 어셈블러를 통해 기계어 프로그램으로 변환되어 컴퓨터에서 실행됨.
▶ 어셈블리어 역시 사람이 다루기 힘든 저수준 언어로서 복잡한 구조의 프로그램 작성이나 다양한 형태의 자료를 표현하기에는 한계가 존재
3. 고급언어 : 사람이 이해하기 쉽도록 복잡한 작업, 자료, 구조, 알고리즘을 표현하기 위해 고안된 언어
(ex. C/C++, Java, Basic, Pascal, Fortran)
▶ 사람이 이해, 표현하기 쉬움.
▶ 시스템 프로그램인 컴파일러에 의해 기계어로 변환되어 컴퓨터에서 실행.
▶ 사람이 프로그래밍 언어를 통해서 작성한 고급 프로그램은 컴파일을 거쳐 어셈블리어로 변환되고(obj 파일 생성), 어셈블리어는 어셈블을 통해 기계어로 변환하여 CPU로 전달.
▶ obj 파일 : 기계어나 이에 준하는 이진 코드