---
# System prepended metadata

title: '[제 1 장] 프로그래밍언어 개요'
tags: [C언어]

---

# [제 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 다양한 '프로그래밍 언어'

