C 언어는 켄 톰슨(Ken Tompson)이 개발한 B 언어에서 발전된 언어이다. C 언어는 1972년경, 시스템 PDP-11에서 운용되는 운영체제 유닉스(Unix)를 개발하기 위한 시스템 프로그래밍 언어로 미국 전신 전화국인 AT&T의 벨 연구소 데니스 리치(Dennis Ritchie)가 개발하였다. ANSI C는 미표준화위원회(American National Standards Institute)에서 공인한 표준 C를 지칭한다.

C 언어는 프로그램을 기계어 명령에 가까운 형태로 작성할 수 있으므로 다른 고급 언어에 비하여 하드웨어에 대한 보다 확실한 통제가 가능하다. 특정 컴퓨터 기종에 의존하지 않으므로 프로그램의 이식성(portability)이 높다. 또한 풍부한 연산자와 데이터 형(data type)을 갖고 있기 떄문에 범용 프로그래밍 언어로서 널리 보급되었으며, 응용 소프트웨어의 개발에 널리 이용되고 있다. 현재 이용되고 있는 운영체제, 컴파일러, 통합개발환경 등이 대부분 C 언어로 개발되었다.

[ 그림 7.20 ]은 가로와 세로의 길이를 입력 받아 삼각형과 사각형의 면적을 구하여 화면에 출력하는 간단한 예제이다.

/* area.c */

#include <stdio.h>

double triangle(double w, double h);
double rectangle(double w, double h);

int main(void)
{
    double width, height;

    printf("면적을 구할 다각형의 가로와 세로를 입력하세요.\\n");
    scanf("%lf%lf", &width, &height);
    printf("\\n입력하신 가로와 세로는");
    printf("\\n각각 &lf 와 &lf입니다.\\n", width, height);

    printf("이 삼각형의 면적은 %.2lf입니다.\\n", triangle(width, height));
    printf("이 사각형의 면적은 %.2lf입니다.\\n", rectangle(width, height));
    return 0;
}

double triangle(double w, double h)
{
    return w * h / 2;
}

double rectangle(double w, double h)
{
    return w * h;
}