Kaboom

1. C 언어 시작 본문

Developlment/C Basics

1. C 언어 시작

akawarren 2021. 1. 25. 23:34

- C 언어는 현존하는 거의 모든 컴퓨터 시스템에서 사용이 가능함.

- OS의 대부분은 C 언어로 구현되어 있음.

- 시스템 프로그래밍 뿐 아니라 응용 프로그램 구현에도 많이 사용됨.

 

- 프로그래밍 언어란 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 언어를 의미함.

- 프로그래밍 언어는 크게 저급 언어(Low-Level Language)와 고급 언어(High-Level Language)로 구분할 수 있음.

- 이는 프로그래밍 언어의 좋고 나쁨을 의미하는 것이 아니라, 컴퓨터가 이해하기 쉬운 지(저급 언어), 아니면 사람이 이해하기 쉬운 지(고급 언어)의 차이를 의미하는 것임.

 

- 저급 언어에는 어셈블리어(Assembly Language), 기계어(Machine Language) 등이 있고, 고급 언어에는 자바(Java), 파이썬(Python) 등이 있음.

- 저급 언어는 기계가 이해하기 쉬워 실행 속도가 빠르지만, 사람이 이해하기 어려워 유지보수가 어려움.

- 고급 언어는 사람이 이해하기 쉽고, 인터프리터(Interpreter)나 컴파일러(Compiler)등이 기계가 이해하기 쉬운 형태로 변환해 주는 과정을 거쳐야 함. 따라서 저급 언어에 비해 상대적으로 실행 속도가 느림.

 

- C언어는 저급 언어와 고급 언어의 특성을 모두 가진 절차 지향적(Procedure-Oriented) 프로그래밍 언어임.

  절차적 프로그래밍 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

- C언어가 나오기 전에는 어셈블리 언어로 각 CPU 마다 종속적 프로그래밍을 수행해야 했음. 이러한 문제점을 해결하기 위해 개발된 것이 C언어임.

- C 언어로 작성된 프로그램은 다양한 하드웨어로의 이식성이 좋음

- C 언어는 절차적 프로그래밍 언어로, 코드가 복잡하지 않고 상대적으로 유지보수 하기가 좋음

- C 언어는 저급 언어의 특성을 갖고 있기 때문에 어셈블리어 수준으로 하드웨어를 직접 제어할 수 있음.

- C 언어는 코드가 간결하고, 완성된 프로그램의 크기가 작고 빠름.

- C 언어는 저급 언어의 특성을 갖고 있으므로, Java나 Python 등과 같은 기타 고급 언어에 비해 배우기가 쉽지 않음.

- C 언어는 직접 하드웨어를 제어할 수 있으므로, 프로그래밍 하는 데 더 세심한 주의가 요구됨.

- C 언어 표준은 ISO/IEC에서 지정함

 

- 프로그래밍(Programming)이란, 적절한 알고리즘을 프로그래밍 언어롤 사용하여 구현한 후 이를 통해 구체적인 프로그램을 만드는 과정을 말함.

- C 언어에서 프로그램을 만드는 과정은 다음과 같음

- 소스 파일(Source File)의 작성 : 문법에 맞게 논리적으로 작성된 소스 파일 또는 원시 파일을 생성

- 전처리기(Preprocessor)에 의한 선행 처리 : 선행 처리 지시자(#)로 시작하는 선행 처리문을 처리하여, 소스 코드를 컴파일하기 쉽게 재구성해 줌.

- 컴파일(Compile) : 소스 코드를 기계가 이해할 수 있는 형태로 변환하여 오브젝트 파일(Object File)을 생성함.

- 링킹(Linking) : 컴파일 과정에서 만들어진 오브젝트 파일 + 운영 체제 인터페이스 + 각종 라이브러리를 통해 실행 가능한(Executable) 파일 또는 라이브러리를 만듦. 이처럼 여러개의 소스 파일을 통해 최종적으로 링킹을 통해 하나의 실행 파일로 만드는 과정을 분할 컴파일 이라고 함.

- C 프로그램의 기본 단위는 함수임.

- C 프로그램 내의 명령문은 세미콜론(;)으로 끝나야 함.

- C 언어는 대소문자를 구분함.

- C 언어는 자유 형식(Free Format)을 허용함.

- C 언어의 주석은 여러 줄 주석, 한 줄 주석의 두 종류가 있음.

 

출처 : TCP School

 

Comments