1장 C 언어의 개요 ... 11 1.1 언어의 발전 ... 12 1.2 C 언어 ... 14 1.3 특성 ... 15 1.3.1 범용 언어 ... 16 1.3.2 고급언어와 저급 언어의 특성 ... 16 1.3.3 함수 정의의 집합으로 프로그램 구성 ... 16 1.3.4 시스템 프로그래밍 언어 ... 16 1.3.5 구조화 프로그래밍 언어 ... 17 1.3.6 풍부한 자료 구조, 제어문, 연산자 ... 17 1.3.7 구조체(struct)와 공용체(union)로 복잡한 데이터형을 간단히 취급 ... 17 1.3.8 영문자의 소문자와 대문자의 구별 ... 17 1.3.9 개행이나 탭 등의 특수 문자 ... 18 1.3.10 외부 함수를 이용한 입출력 ... 18 1.3.11 통합 프로그래밍 환경 ... 18 1.4 구조 ... 19 1.4.1 헤더 파일 ... 19 1.4.2 main() 함수 ... 19 1.4.3 함수 ... 20 연습문제 ... 22 2장 데이터의 형과 기본 입출력문 ... 23 2.1 기본 출력 함수 ... 24 2.2 데이터의 형 선언 ... 27 2.2.1 문자형 ... 29 2.2.2 정수형 ... 29 2.2.3 실수형 ... 30 2.2.4 열거형 ... 36 2.3 입출력 함수 ... 38 2.3.1 scanf() ... 38 2.3.2 getchar() ... 41 2.3.3 putchar() ... 43 연습문제 ... 47 3장 제어문 ... 49 3.1 if 문 ... 50 3.2 switch 문 ... 56 3.3 break 문 ... 59 3.4 continue 문 ... 64 3.5 goto 문 ... 65 3.6 retrun 문 ... 68 연습문제 ... 72 4장 반복문 ... 77 4.1 while 문 ... 78 4.2 do∼while 문 ... 83 4.3 for 문 ... 85 연습문제 ... 89 5장 프리프로세서 ... 93 5.1 매크로 정의 ... 94 5.2 매크로 정의의 취소 ... 101 5.3 조건부 컴파일 ... 102 5.4 매크로 값의 비교 ... 104 5.5 파일 포함 ... 106 연습문제 ... 108 6장 연산자 ... 111 6.1 증가·감소 연산자 ... 113 6.2 배정 연산자 ... 114 6.3 부정 연산자 ... 117 6.4 단항 연산자 ... 118 6.5 형 변환 연산자 ... 121 6.6 sizeof 연산자 ... 124 6.7 시프트 연산자 ... 126 6.8 비트 단위의 연산자 ... 128 6.9 조건 연산자 ... 132 연습문제 ... 133 7장 기억 클래스 ... 137 7.1 자동 변수 ... 138 7.2 정적 변수 ... 144 7.3 외부 변수 ... 150 7.4 레지스터 ... 153 연습문제 ... 155 8장 배열 ... 159 8.1 1차원 배열 ... 160 8.2 2차원 배열 ... 167 8.3 문자열 배열 ... 174 8.3.1 gets() 함수 ... 179 8.3.2 puts() 함수 ... 181 연습문제 ... 184 9장 어드레스와 포인터 ... 189 9.1 어드레스와 포인터 ... 190 9.2 포인터와 배열 ... 197 9.3 문자열 배열과 포인터 ... 212 연습문제 ... 224 10장 함수 ... 231 10.1 인수가 없는 함수 ... 232 10.2 되부름 함수 ... 235 10.3 인수를 가지는 함수 ... 237 10.4 기억 장소 할당 ... 260 연습문제 ... 273 11장 구조체와 공용체 ... 277 11.1 구조체 ... 278 11.2 공용체 ... 291 11.3 새로운 데이터 형의 정의 ... 292 11.4 라이브러리 함수 ... 295 11.4.1 strcmp() ... 296 11.4.2 strlen() ... 297 11.4.3 strcpy() ... 298 11.4.4 strcat() ... 299 11.4.5 sprintf() ... 300 11.4.6 sscanf() ... 301 11.4.7 atoi() ... 303 11.4.8 atof() ... 304 11.4.9 reverse() ... 306 연습문제 ... 309 12장 파일처리 ... 315 12.1 표준 입출력 파일 ... 316 12.2 일반 입력 파일과 표준 출력 파일 ... 319 12.3 표준 입력 파일과 일반 출력 파일 ... 326 12.4 일반 입출력 파일 ... 329 12.5 파일 검사 ... 336 12.5.1 feof() 함수 ... 336 12.5.2 ferror() 함수 ... 337 12.5.3 clearerr() 함수 ... 338 12.6 블록 단위의 입출력 ... 339 12.7 파일의 검색 ... 342 12.8 예제 프로그램 ... 344 12.8.1 일반 파일 프로그램 ... 344 12.8.2 인덱스 파일 프로그램 ... 351 연습문제 ... 363 부록 ... 367 A. 입출력 함수 ... 368 B. 연산자 ... 369 C. 자료형 ... 371 D. 함수 ... 372 E. 배열과 포인터 ... 375 F. 파일 ... 375 찾아보기 ... 377 머리말 ... 3