C 언어의 개요

C 언어의 정의, 역사, 특징

C 언어의 정의

  • C 언어: 프로그래밍 언어

  • 프로그래밍 언어

    • 사람과 컴파일러가 이해할 수 있도록 약속된 형태의 언어
  • C 언어: 컴파일러가 필요

  • 컴파일러

    • 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해주는 번역기
      • 어셈블러: 기호로 표현된 어셈블리 코드를 기계어로 번역하는 번역기
      • 인터프리터: 소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와는 달리 프로그램을 한 단계씩 기계어로 해석하여 실행하는 언어처리 프로그램

C 언어의 역사 및 특징

  • C 언어의 역사

    • 데니스 리치(1972년)
    • Unix 운영체제 구현에 사용할 목적으로 개발
      • 컴퓨터 기종간 호환성을 가진 고급이면서 하드웨어를 제어할 수 있는 새로운 언어가 필요
    • 어셈블리 언어로 된 Unix 운영체제가 거의 C 언어로 대체
  • C 언어의 특징

    • 프로그램 이식성이 높다
    • 간단한 문법표현으로 함축적인 프로그램 작성이 용이하다
    • 저급언어 특성을 가진 고급언어다

프로그램의 작성 및 준비

C 프로그램의 작성 및 준비

  • 프로그램 개발 단계

    • 프로그램 목적 정의: 요구 분석과 시스템 분석을 통하여 프로그램이 가져야 할 기능 정의
    • 프로그램 설계: 분석된 기능을 처리할 수 있도록 프로글매 구조를 설계
    • 소스코드 작성: 작성된 프로그램 설계를 기반으로 에디터를 사용하여 작성
    • 컴파일/링크: 소스코드를 실행 가능한 코드로 변환하고 문법 검사
    • 프로그램 실행: 프로그램 실행
    • 테스트와 디버깅: 에러를 검사하고 디버깅
    • 유지보수: 사용 중 발생되는 에러나 추가적인 변경사항을 처리
  • C 프로그램의 완성 과정

    • 코딩 단계: 주어진 문제에 대한 설계를 바탕으로 소스코드를 작성하여 소스파일을 생성하는 과정
    • 컴파일 단계: 소스파일이 목적파일로 변환되는 과정
    • 링킹 단계: 목적파일을 실행파일로 변환하는 과정

프로그램의 구성

C 프로그램의 기본 구조

// 도입부
#include<stdio.h>
// main 함수는 가장 먼저 호출되는 함수로서 모든 프로그램에 반드시 존재
void main() {
int i, j, sum;
printf("함수의 호출\n");
}
  • C 프로그램은 반드시 하나 이상의 함수를 포함해야 한다.
  • main 함수가 반드시 존재해야 한다.
  • 함수의 시작과 끝을 알리는 중괄호를 사용해야 한다
  • 중괄호 안에는 변수선언문, 치환문, 연산문, 함수 등의 명령을 기입한다.
  • 선행처리기를 제외하고 문장의 끝에는 세미콜론을 붙인다.