# [제 1 장] 프로그래밍언어 개요
###### tags: `C언어`
(c언어 공부를 위한 교재로 perfectC(3판)을 사용함)
<br>
## 1.1 '프로그램'은 무엇일까?
- 프로그래밍 언어
- 사람과 컴퓨터가 서로 의사교환을 하기 위한 언어.
$\quad$즉 사람이 컴퓨터에게 지시할 명령어를 기술하기 위하여 만들어진 언어
- 예) 포트란, 알골, 베이직, 코볼, 파스칼, C, C++, visual basic,
$\qquad$자바, objective-C, JSP, 자바스크립트, 파이썬, C#, Go, Swift, Kotlin 등
<span style="font-size:11px"><span style="color:grey">$\qquad$(존 베커스가 만든 포트란은 최초의 프로그래밍 언어가 아니라 최초의 대중화된 프로그래밍 언어. 최초의 언어는 에이다가 만든 ADA)</span></span>
<br>
## 1.2 프로그래밍 언어의 계층과 번역
- <span style="font-size:10px"> $\ 컴퓨터
\begin{cases}
\text{물리적부품인 하드웨어 : 중앙처리장치(CPU)(연산장치, 제어장치로 나뉘며 이들은 곧 칩=프로세서이다),
주기억장치,보조기억장치(SSD), 입력장치(키보드, 마우스), 출력장치(프린트기)}
\\
\\
\text{하드웨어를 작동하게하는 소프트웨어 : 컴퓨터가 수행할 작업을 지시하는 전자적 명령어들의 집합으로 구성된 프로그램(어플?)}
\end{cases}$</span>
$\qquad$$\qquad$$\qquad$$\qquad$$\qquad$$\qquad$$\qquad$ <span style="font-size:8px"> $\ :
\begin{cases}
\text{시스템 소프트웨어 : 컴퓨터가 잘 작동하도록 도와주는 기본 소프트웨어 }
\\
\text{ (기본소프트웨어에는 특정 CPU에 맞게,}
\\ \text{ 관련된 하드웨어를 작동하게 하고 응용소프트웨어를 실행해주는 소프트웨어인 운영체제}
\\ \text{ (예.. 컴퓨터: 유닉스, 리눅스, 윈도우, 맥OS 등, 스마트폰: 안드로이드, ios 등)와}
\\ \text{ 운영체제를 돕고 컴퓨터 시스템이 원활하게 작동하도록 돕는 각종 유틸리티 프로그램이 있다.)}
\\
\\
\text{응용 소프트웨어 : 문서 작성이나 인터넷 검색, 게임, 동영상 등과 같은 특정 업무에 활용되는 다양한 소프트웨어}
\end{cases}$</span>
<br>
## 1.3 왜 C언어를 배워야 할까?
<br>
## 1.4 프로그래밍의 자료표현
<br>
## 1.5 소프트웨어 개발
<br>
## 1.6 다양한 '프로그래밍 언어'