목차
제1장 C 언어의 개요
   1.1 C 언어의 역사 ... 15
      1.1.1 C 언어의 탄생과 발전 과정 ... 15
      1.1.2 ANSI(American National Standards Institute)-C ... 16
   1.2 C 언어의 특징 ... 17
      1.2.1 높은 호환성을 가지는 언어 ... 17
      1.2.2 양면성 기능을 가지는 언어 ... 17
      1.2.3 범용 프로그래밍 언어 ... 17
      1.2.4 영어 소문자를 기반으로 하는 언어 ... 18
      1.2.5 다양한 연산자를 가지는 언어 ... 18
      1.2.6 모듈러(modular) 프로그래밍 언어 ... 19
      1.2.7 free format 코딩 형식을 가지는 언어 ... 19
      1.2.8 전처리기(preprocessor)를 사용하는 언어 ... 20
      1.2.9 포인터(pointer)를 사용하는 언어 ... 20
   1.3 C 프로그램의 기본 구조 ... 21
   연습문제 ... 24
제2장 C 컴파일러 사용법
   2.1 Turbo C ... 27
      2.1.1 프로그램 작성 ... 27
      2.1.2 컴파일 ... 29
      2.1.3 실행 ... 30
   2.2 Visual C++ ... 31
      2.2.1 프로그램 작성 ... 31
      2.2.2 컴파일 ... 33
      2.2.3 실행 ... 34
   2.3 Borland C++ ... 35
      2.3.1 프로그램 작성 ... 35
      2.3.2 컴파일과 실행 ... 37
   2.4 UNIX CC/GCC ... 38
      2.4.1 프로그램 작성 ... 38
      2.4.2 컴파일과 실행 ... 39
제3장 변수와 자료형
   3.1 상수와 변수 ... 43
      3.1.1 상수(constant) ... 46
      3.1.2 변수(variable) ... 51
   3.2 변수의 자료형 ... 56
      3.2.1 정수형(integer type) ... 58
      3.2.2 부동소수점형(floating point number type) ... 62
      3.2.3 문자형(character type) ... 64
   3.3 자료형의 변환 ... 66
      3.3.1 연산식에서의 자료형 변환 ... 66
      3.3.2 대입문에 의한 자료형 변환 ... 67
      3.3.3 cast 연산자에 의한 자료형 변환 ... 69
   연습문제 ... 71
제4장 표준 입출력 함수
   4.1 표준 출력 함수 ... 77
      4.1.1 printf() 함수 ... 77
      4.1.2 putchar() 함수 ... 87
   4.2 표준 입력 함수 ... 88
      4.2.1 scanf() 함수 ... 89
      4.2.2 getchar() 함수 ... 96
   연습문제 ... 99
제5장 연산자(Operator)
   5.1 산술 연산자(Arithmetic operator) ... 103
   5.2 관계 연산자(Relational operator) ... 106
   5.3 대입 연산자(Assignment operator) ... 107
   5.4 논리 연산자(Logical operator) ... 109
   5.5 증감 연산자(Increment, Decrement operator) ... 110
   5.6 조건 연산자(Conditional operator) ... 115
   5.7 비트 연산자(Bit operator) ... 116
   5.8 기타 연산자 ... 124
      5.8.1 sizeof 연산자 ... 124
      5.8.2 컴머(comma) 연산자 ... 126
   연습문제 ... 128
제6장 제어문
   6.1 조건부 제어문 ... 133
      6.1.1 if 문 ... 133
      6.1.2 switch - case 문 ... 143
   6.2 반복 제어문 ... 146
      6.2.1 for 문 ... 147
      6.2.2 while 문 ... 151
      6.2.3 do - while 문 ... 154
   6.3 기타 제어문 ... 156
      6.3.1 break 문 ... 156
      6.3.2 continue 문 ... 158
      6.3.3 goto 문 ... 160
   연습문제 ... 162
제7장 전처리기(Preprocessor)
   7.1 include ... 168
   7.2 define ... 172
      7.2.1 인수를 가지지 않는 매크로 ... 172
      7.2.2 인수를 가지는 매크로 ... 174
   7.3 undef ... 176
   7.4 조건부 컴파일 지시어 ... 177
   연습문제 ... 181
제8장 함수(Function)
   8.1 함수의 개념 ... 185
   8.2 함수의 선언과 정의 ... 192
      8.2.1 함수의 선언 ... 192
      8.2.2 함수의 정의 ... 195
   8.3 함수의 호출 ... 199
   8.4 재귀 함수 ... 203
   연습문제 ... 209
제9장 변수의 유효 범위와 수명
   9.1 변수의 유효 범위 ... 216
      9.1.1 지역변수(local variable)의 유효 범위 ... 216
      9.1.2 외부변수(external variable)의 유효 범위 ... 217
      9.1.3 전역변수(global variable)의 유효 범위 ... 221
      9.1.4 동일한 변수명의 중첩 ... 222
   9.2 변수의 수명 ... 225
      9.2.1 자동변수(automatic variable)의 수명 ... 226
      9.2.2 정적변수(static variable)의 수명 ... 229
   9.3 자동변수(automatic variable) ... 232
   9.4 정적변수(static variable) ... 235
   9.5 외부변수(external variable) ... 239
   9.6 레지스터 변수(register variable) ... 245
   연습문제 ... 248
제10장 배열(Array)
   10.1 1차원 배열 ... 255
      10.1.1 1차원 배열의 정의 ... 255
      10.1.2 1차원 배열의 초기화 ... 257
   10.2 문자열과 배열 ... 263
   10.3 다차원 배열 ... 268
      10.3.1 2차원 배열의 정의 ... 269
      10.3.2 2차원 배열의 초기화 ... 272
   10.4 배열의 특성 ... 274
      10.4.1 C 언어에서 배열의 첨자는 '0'부터 시작한다. ... 274
      10.4.2 C 컴파일러는 배열의 첨자 범위를 검사하지 않는다. ... 274
      10.4.3 배열의 각 요소는 연속적으로 기억 공간을 점유한다. ... 276
      10.4.4 C 언어에서 배열은 행 우선 방식으로 저장된다. ... 278
      10.4.5 C 언어에서 배열명은 그 배열의 시작 주소를 의미한다. ... 279
      10.4.6 배열은 포인터(pointer)와 밀접한 관계를 가진다. ... 281
   연습문제 ... 282
제11장 포인터(Pointer)
   11.1 포인터 변수의 정의 ... 288
   11.2 포인터 변수의 연산 ... 292
   11.3 포인터와 배열 ... 296
   11.4 포인터와 함수 ... 304
   11.5 포인터와 문자열 ... 309
   연습문제 ... 316
제12장 구조체와 공용체
   12.1 구조체의 개념 ... 321
   12.2 구조체의 선언 및 정의 ... 322
   12.3 구조체의 초기화 및 사용법 ... 328
   12.4 구조체 배열 ... 333
   12.5 구조체와 포인터 ... 335
   12.6 구조체와 함수 ... 338
      12.6.1 구조체 멤버를 함수의 인수로 사용 ... 338
      12.6.2 구조체 변수를 함수의 인수로 사용 ... 340
      12.6.3 구조체 포인터를 함수의 인수로 사용 ... 341
      12.6.4 함수의 반환값으로 구조체를 사용 ... 342
   12.7 구조체의 중첩 ... 344
   12.8 공용체 ... 351
   연습문제 ... 358
제13장 파일 입출력
   13.1 스트림과 파일의 개념 ... 365
   13.2 표준 입출력 파일 ... 367
   13.3 파일의 열기와 닫기 ... 370
   13.4 파일의 읽기와 쓰기 ... 375
   13.5 텍스트 파일과 이진 파일 ... 379
   13.6 순차 파일과 랜덤 파일 ... 384
      13.6.1 순차 파일(sequential file) ... 385
      13.6.2 랜덤 파일(random file) ... 389
   연습문제 ... 399
부록 ... 401
닫기