본문 바로가기

C언어 기초

chapter 1. 이것이 C언어이다.

1-1) C언어의 개론적인 이야기

 

# C언어는 프로그래밍 언어이다

 

컴파일러의 역할

일본어를 모르는 한국사람과 한국어를 모르는 일본 사람이 대화하는 상황을 생각해보자

대화를 위해선 영어를 일본어로 번역할 통역가가 있어야 한다.

 

컴퓨터도 마찬가지이다.

 

C언어와 기계어를 이해하는 "컴파일러"라는 통역가가

프로그래밍 언어를 통해 인간과 컴퓨터의 소통을 도와준다.

 

1) 프로그래밍 언어란 ? : 컴파일러가 이해할 수 있는 약속된 형태의 언어2) 컴파일러의 역할 : 프로그래밍 언어를 컴퓨터가 이해할 수 있는 기계어로 번역(컴파일)

 


# C언어의 역사와 특징

 

기존 Unix 체제

:어셈블리 언어라는 저급 언어로 만들어져 이식성이 낮음

= 같은 기능이라도 CPU 종류에 따라 프로그램을 다시 작성

 

=> 저급언어적 특징을 지니면서도 이식성이 좋은 언어? = C언어

 

저급언어? 고급언어?

= 컴퓨터가 이해하기 쉬운 언어냐(저급) , 사람이 이해하기 쉬운 언어냐(고급)


#C언어의 장점

 

1) 절차지향적 특성

: 정해진 순서의 흐름을 중시

= 인간의 일반적 생각방식과 동일

 

2) C언어 프로그램은 이식성이 좋음

: 운영체제 차이와  CPU종류에 덜 민감

 

3) C언어로 구현된 프로그램은 좋은 성능을 보임

: 사용하는 메모리 양이 상대적으로 적음

: 속도저하요소가 최소화된 언어

 


1-2) C프로그램의 완성과정

#C프로그램의 완성과정의 전체적인 이해

출처 : https://mrtint.tistory.com/257

 

- 실행파일을 얻기 위한 3단계

 

1단계 : 프로그램의 작성

2단계 : 작성한 프로그램의 컴파일 => 컴파일러는 소스파일을 한번에 하나씩 컴파일 함

3단계 : 컴파일된 결과물의 링크

 

#통합개발환경이란? (ide)

-프로그래밍 언어 작성 + 컴파일을 한번에 할 수 있는 통합환경

 

# 소스파일 ? 프로젝트? 솔루션?

소스파일 : C언어를 사용하여 논리적으로 작성된 프로그램

프로젝트 : 하나의 실행 파일(exe)을 만들기 위한 소스파일/헤더 파일의 집합

솔루션 : 여러개의 프로젝트 들의 집합

결론 : 소스파일 => 프로젝트 => 솔루션