더북(TheBook)

01 들어가며

이 장에서 다루는 내용

명령형 프로그래밍

코드 컴파일하고 실행하기

이 장에서는 C 언어의 다양한 구문으로 간단히 작성한 프로그램을 소개한다. 프로그래밍 경험이 있는 독자는 굳이 읽어야 하나 생각할 것이고, 처음 접하는 독자는 쏟아져 나오는 생소한 용어와 개념에 지레 겁먹을지도 모른다.

둘 중 어느 쪽에 해당하더라도 참고 읽어 주기 바란다. 프로그래밍 경험이 있는 사람도 여기서 소개할 예제를 통해 그동안 몰랐던 세부 기능이나 잘못 알고 있던 부분을 발견할 수 있다. 심지어 C 프로그래밍을 어느 정도 해 본 사람도 그럴 수 있다. 프로그래밍을 처음 접하는 독자라면 첫 열 페이지만 읽어도 상당히 많은 것을 배울 수 있고, 프로그래밍이 무엇인지 보다 확실히 이해할 수 있다.

프로그래밍 전반에 대해 특히 이 책을 읽는 자세와 관련하여 꼭 해 주고 싶은 말이 있는데, 더글러스 애덤스(Douglas Adams)가 1986년에 쓴 〈은하수를 여행하는 히치하이커를 위한 안내서(Hitchhiker’s Guide to the Galaxy)〉에 다음과 같이 잘 표현돼 있다.

TAKEAWAY B 겁내지 말자.

겁낼 이유가 전혀 없다. 이 책에서는 본문과 관련된 참고 자료와 링크를 충분히 제공한다. 게다가 맨 뒤에 색인도 마련해 뒀다. 책을 읽다가 궁금한 점이 있으면 이를 활용하기 바란다. 아니면 잠시 쉬어도 좋다.

C 프로그래밍은 원하는 작업을 컴퓨터로 처리하는 기법을 의미한다. C 언어는 명령을 내리는 방식으로 작업을 표현하는데, 이는 우리가 말로 명령하는 것과 상당히 비슷하다. 그래서 이러한 프로그래밍 방식을 명령형 프로그래밍(imperative programming)이라 부른다. 우리가 볼 첫 프로그램인 예제 1-1을 통해 구체적으로 살펴보자.

 

예제 1-1 첫 C 프로그램

 1 /* 장난스런 문장 같지만 정식 C 표현이다. -*- mode: c -*- */
 2 #include <stdlib.h>
 3 #include <stdio.h>
 4
 5 /* 이 부분이 핵심이다. */
 6 int main(void) {
 7   // 선언문
 8   double A[5] = {
 9     [0] = 9.0,
10     [1] = 2.9,
11     [4] = 3.E+25,
12     [3] = .00007,
13   };
14
15   // 필요한 작업을 수행한다.
16   for (size_t i = 0; i < 5; ++i) {
17     printf("element %zu is %g, \tits square is %g\n",
18            i,
19            A[i],
20            A[i]*A[i]);
21   }
22
23   return EXIT_SUCCESS;
24 }
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.