본문 바로가기

PL(ProgrammingLanguage)/C

C언어 개요

C언어 ->  컴파일러가 필요

 * 컴파일러 : 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해주는 번역기

    - Assembler(어셈블러)

      : 기호로 표현된 어셈블리 코드를 기계어로 번역하는 번역기

    - Interpreter(인터프리터) 

      : 소스프로그햄을 한번에 기계어로 변환시키는 컴파일러와 달리 프로그램을 한단계씩 기계어로 해석하여

       실행하는 '언어처리 프로그램'

 

특징

1. 프로그램 이식성이 높음

2. 간단한 문법표현으로 함축적인 프로그램 작성이 용이

3. 저급언어 특성을 가진 고급언어

 

프로그램 개발 단계 

  1) 프로그램 목적 정의 : 요구 분석과 시스템  시스템 분석을 통해 프로그램이 가져야 할 기능 정의

  2) 프로그램 설계 : 분석된 기능을 처리할 수 있도록 프로그램 구조를 설계

  3) 소스코드 작성  : 작성된 프로그램 설계를 기반으로 에디터를 사용하여 작성

   4) 컴파일/ 링크   : 소스코드를 실행 가능한 코드로 변환하고 문법 검사

   5) 프로그램 실행

   6) 테스트와 디버깅  : 에러를 검사하고 디버깅

   7) 유지보수 : 사용 중 발생되는 에러나 추가적인 변경사항을 처리 

 

C 프로그램의 완성 과정

코딩 -> 컴파일 -> 링킹

* 코딩 단계 : 주어진 문제에 대한 설계를 바탕으로 소스코드를 작성하여 소스파일을 생성하는 과정

* 컴파일 단계 : 소스파일이 목적파일(object file)로 변환되는 과정

* 링킹단계 : 목적파일을 실행파일(execution file)로 변환하는 과정

 

**소스파일의 생성 시 .c (dote c)라는 확장자를 가진 파일로 저장

**실행파일의 생성(링킹 과정)


- 도입부 : 프로그램 전체에 적용되는 사항을 기술

- main()함수 : 가장 먼저 호출되는 함수, 모든 프로그랜에 반드시 존재

- 호출된 함수 : main() 함수에서 호출되는 함수에 대한 정의, 사용자 정의 함수   

 

C 프로그램의 기본 구조

  • C 프로그램은 반드시 하나 이상의 함수를 포함해야한다.
  • main()함수 가 반드시 존재해야한다.
  • 함수의 시작과 끝을 알리는 {}(중괄호)를 사용한다.
  • {}안에는 변수선언문, 치환문, 연산문, 함수 등의 명령을 기입
  • preprocessor(선행처리기)를 제외하고 문장의 끝에는 ; 을 붙인다.

- 구성 요소

예약어 int, char, if, for ...
명칭 변수, 배열, 함수 등 
상수 값이 불변의 자료
연산자 =, +, -, /, ++ 등
설명문 주석(프로그램에 대한 설명), 표현 -  /**/,//

*상수(constant): 수치 상수, 문자 상수, 문자열 상수

*연산자(operator): 연산자를 사용하여 각종 연산 수행, 다른 언어에 비해 많음

 

 - 예약어(reserved word) 

자료형 관련 char, int, float, short, long, double, unsigned, union, enum, void 등 
기억 관련 auto, static, extern, register 등
제어 관련 if-else, for, while, do-while, switch-case, break, continue, return 등
기타예약어 main, sizeof, include 등

- 주요 용어

  1. 컴파일러(compiler) : 프로그래밍 언어로 작성된 프로그램을 기계어로 바꿔주는 번역기
  2. 소스코드(source code) : 프로그램 안에 있는 명령어
  3. 목적 파일(object file) : .obj의 확장자를 갖는 파일로 기계어들의 집합으로 이루어진 파일
  4. 링커(linker) : 여러 목적파일과 라이브러리 파일을 연결해주는 도구
  5. 예약어(reserved word) : C 언어에서 미리 정의되어 있는 단어