목차
제1장 C언어의 소개
1.1. C 언어의 역사 = 16
1.2. 컴퓨터 시스템과 C 언어 사용 환경 = 17
1.2.1. 컴퓨터 시스템의 구성 = 17
1.2.2. 입출력 버퍼링(I/O Buffering) = 19
1.2.3. 컴파일과 실행 = 20
1.3. C 언어의 기본 특징 = 22
1.4. 프로그램 작성시의 유의점 = 32
1.5. 요약 = 33
연습 문제 = 33
제2장 기본 프로그래밍
2.1. C 프로그래밍의 형태 = 36
2.2. 출력 함수 print()와 입력 함수 scanf() = 39
2.2.1. 정수의 취급 = 41
2.2.2. 실수의 취급 = 43
2.2.3. 문자와 문자열의 취급 = 44
2.3. 출력 함수 putchar()와 입력함수 getchar() = 46
2.4. 요약 = 47
2.5. 예제 = 47
연습 문제 = 55
제3장 언어의 구문과 자료형
3.1. 문자와 토큰 = 58
3.2. 식별자와 예약어 = 60
3.2.1. 식별자 = 60
3.2.2. 예약어 = 61
3.3. 연산자 = 62
3.4. 주석 = 62
3.5. 문자열 = 63
3.6. 상수와 진수 = 64
3.7. 선언문 = 65
3.8. 수식과 배정 = 66
3.9. 기본적인 자료형과 크기 = 68
3.10. 자료형의 종류 = 71
3.10.1. 정수 자료형 int = 71
3.10.2. 그 밖의 정수 자료형 short, long, unsigned = 71
3.10.3. 부동 소수점(실수)형 float와 double = 72
3.10.4. 문자형 char = 73
3.11. 자료형 변환 = 75
3.12. 자료형과 연산 = 77
3.13. 자료형과 상수 = 78
3.14. 열거형 enum = 79
3.15. 요약 = 81
3.16. 예제 = 82
연습 문제 = 87
제4장 연산자
4.1. 산술 연산자 = 92
4.2. 관계 연산자 = 95
4.3. 동등 연산자 = 96
4.4. 논리 연산자 = 98
4.5. 비트 연산자 = 101
4.6. 배정 연산자 = 105
4.7. 조건 연산자 = 106
4.8. 증가·감소 연산자 = 107
4.9. 콤마 연산자 = 110
4.10. 그 외의 연산자 = 111
4.11. 연산 우선 순위와 결합성 = 113
4.12. 요약 = 115
4.13. 예제 = 116
연습 문제 = 120
제5장 제어의 흐름
5.1. 문장의 종류 = 124
5.2. 택일문 = 125
5.2.1. if 문과 if-else 문 = 125
5.2.2. switch-case 문 = 130
5.3. 반복문 = 133
5.3.1. while 문 = 133
5.3.2. for 문 = 135
5.3.3. do-while 문 = 138
5.4. 분기문 = 140
5.4.1. goto 문 = 140
5.4.2. break 문과 continue 문 = 141
5.5. 요약 = 142
5.6. 예제 = 143
연습 문제 = 152
제6장 함수와 프로그램 구조
6.1. 함수 정의, 호출 및 선언 = 158
6.2. return 문 = 161
6.3. 값 호출 = 162
6.4. 블록 구조 = 165
6.5. 기억 클래스(Storage Class) = 167
6.5.1. 기억 클래스 auto = 168
6.5.2. 기억 클래스 static = 170
6.5.3. 기억 클래스 extern = 172
6.5.4. 기억 클래스 register = 175
6.6. 수학 함수 = 176
6.7. 재귀 함수 = 178
6.8. 함수를 매개 변수로 사용하기 = 180
6.9. 함수 main()의 매개 변수 = 182
6.10. void 형 지정 함수 = 183
6.11. 전처리기 = 185
6.11.1. #define = 185
6.11.2. #undef = 187
6.11.3. #include = 187
6.11.4. 조건부 컴파일 지시문 #if, #else, #elif, #endif = 189
6.11.5. 조건부 컴파일 지시문 #ifdef, #ifndef = 191
6.11.6. #error, #pragma 및 #line = 193
6.12. 요약 = 194
6.13. 예제 = 196
연습 문제 = 217
제7장 포인터, 배열 및 문자열
7.1. 포인터 = 224
7.1.1. 포인터와 주소 = 224
7.1.2. 포인터와 함수의 인수 = 227
7.2. 배열 = 230
7.2.1. 1차원 배열 = 230
7.2.2. 포인터와 배열 = 233
7.2.3. 다차원 배열 = 236
7.2.4. 배열과 인수 = 237
7.2.5. 배열의 초기화 = 239
7.3. 문자열 = 242
7.3.1. 문자열의 복사 = 244
7.3.2. 문자열의 연결 = 245
7.3.3. 문자열의 비교 = 245
7.3.4. 문자열의 길이 계산 = 246
7.3.5. 문자열 내의 문자 위치 = 246
7.4. 요약 = 247
7.5. 예제 = 248
연습 문제 = 261
제8장 형 정의, 구조형 및 공용형
8.1. 형 정의 typedef = 266
8.2. 구조형 struct = 268
8.2.1. 구조형 원소의 접근 = 272
8.2.2. 구조형의 초기화 = 273
8.2.3. struct 형에 대한 포인터 = 274
8.3. 구조(struct)형과 함수 = 276
8.3.1. 함수에 구조형 멤버를 전달 = 276
8.3.2. 함수에 구조형 전체를 전달 = 277
8.3.3. 포인터 기반 함수와 구조형 기반 함수 = 278
8.4. 공용형 union = 280
8.5. 비트 필드 = 283
8.6. 요약 = 284
8.7. 예제 = 285
연습 문제 = 295
제9장 구조형과 리스트 처리
9.1. 자신 참조 구조형 = 300
9.2. 선형 연계 리스트 = 302
9.3. 리스트 연산 = 303
9.4. 스택 연산 = 309
9.5. 2진 트리 = 311
9.6. 배열과 리스트 = 314
9.7. 요약 = 314
9.8. 예제 = 315
연습 문제 = 319
제10장 표준 함수(1)
10.1. 스트림과 파일 = 324
10.1.1. 스트림 = 324
10.1.2. 파일 = 325
10.1.3. 표준 헤더 파일 = 326
10.2. 입출력 표준 함수 = 327
10.2.1. 표준 입출력 함수 = 327
10.2.2. 표준 양식 입출력 함수 = 331
10.3. 고수준 파일 입출력 함수 = 338
10.3.1. 파일을 열고 닫기 = 339
10.3.2. 파일에서의 문자 읽기와 쓰기 = 340
10.3.3. 파일에서 문자열 읽기와 쓰기 = 342
10.3.4. 블록 단위의 입출력 = 344
10.3.5. 파일의 임의 위치 접근 = 345
10.3.6. 일반 형태로의 파일 입출력 = 347
10.3.7. 기타 고수준 파일 입출력 함수 = 349
10.4. 요약 = 351
10.5. 예제 = 352
연습 문제 = 357
제11장 표준 함수(2)
11.1. 저수준 파일 입출력 함수 = 362
11.2. 문자열과 자료 변환 함수 = 369
11.2.1. 문자열 변환 함수 = 369
11.2.2. 자료 변환 함수 = 370
11.3. 문자열 조작 함수 = 371
11.3.1. 문자열의 복사 = 372
11.3.2. 문자열의 연결 = 373
11.3.3. 특정 문자의 위치 = 374
11.3.4. 문자열끼리의 비교 = 375
11.3.5. 키 리스트의 탐색 = 376
11.3.6. 문자열의 길이 = 376
11.3.7. 탈출 문자 발견 = 377
11.3.8. 토큰 얻기 = 377
11.4. 메모리 관리 함수 = 378
11.5. 기타 함수 = 383
11.5.1. 문자 검사와 변환 = 383
11.5.2. 수치 연산 함수 = 385
11.5.3. 프로세스 제어 표준 함수 = 387
11.6. 요약 = 389
11.7. 예제 = 390
연습 문제 = 397
제12장 C 프로그램의 작성 사례 연구
12.1. 프로그램 윤곽 잡기 = 400
12.2. 자료 구조의 선택 = 401
12.3. 함수들의 작성 = 404
12.3.1. 전역 변수와 함수 main()의 정의 = 404
12.3.2. 함수 enter()의 정의 = 405
12.3.3. 함수 delete()의 정의 = 407
12.3.4. 기타의 함수 작성 = 409
12.4. 요약 = 412
12.5. 예제 = 412
연습 문제 = 414
제13장 응용 프로그램
13.1. 정렬 = 416
13.1.1. 버블 정렬 = 416
13.1.2. 선택 정렬 = 417
13.1.3. 퀵 정렬 = 418
13.2. 탐색 = 419
13.2.1. 순차 탐색 = 419
13.2.2. 2진 탐색 = 420
13.3. 후위법 연산 = 420
13.4. 함수의 근 구하기 = 422
13.5. 깊이 우선 탐색 = 424
13.6. 폭 우선 탐색 = 428
13.7. 요약 = 429
13.8. 예제 = 430
연습 문제 = 433
제14장 C 언어와 UNIX 시스템 환경
14.1. UNIX 시스템의 발전과 계보 = 436
14.2. UNIX 시스템의 구조와 특징 = 438
14.2.1. UNIX 시스템의 구조 = 438
14.2.2. UNIX 시스템의 특징 = 440
14.3. UNIX 시스템의 쉘 명령어 = 444
14.3.1. UNIX 세션 = 444
14.3.2. 우편 = 446
14.3.3. 매뉴얼 = 447
14.3.4. 파일 관련 명령어 = 447
14.3.5. 디렉토리 = 454
14.3.6. 쉘 = 456
14.4. 쉘(Shell) 프로그래밍 = 464
14.5. 요약 = 467
연습 문제 = 467
제15장 C 소프트웨어 개발 도구
15.1. 편집기 = 470
15.1.1. 줄 편집기 ed = 470
15.1.2. 화면 편집기 vi = 473
15.1.3. 화면 편집기 emacs = 475
15.2. 프로그램의 처리 = 476
15.3. C 프로그램 개발 보조 도구 = 479
15.3.1. lint = 479
15.3.2. cb와 prof 명령어 = 481
15.3.3. 기호 디버거(debugger) sdb = 484
15.4. C 프로그램의 개발 관리 = 486
15.5. C 프로그램 생성기 = 489
15.5.1. lex = 490
15.5.2. yacc = 491
15.6. 요약 = 494
연습 문제 = 495
제16장 UNIX 시스템 인터페이스와 C 시스템 프로그래밍
16.1. UNIX 시스템 인터페이스 = 498
16.1.1. 어셈블리 언어 프로그램과의 연결 = 498
16.1.2. FORTRAN 77 프로그램과의 연결 = 500
16.1.3. UNIX 명령어의 실행 = 505
16.2. C 시스템 프로그래밍 = 506
16.2.1. 프로세스 관리 = 506
16.2.2. 프로세스간의 통신 : 파이프의 기능 = 509
16.2.3. 시그널의 처리 = 512
16.2.4. 비동기 입출력 = 516
16.3. 요약 = 518
16.4. 예제 = 518
연습문제 = 520
제17장 C++ 언어
17.1. 입출력 = 522
17.2. 함수 = 523
17.3. 클래스(class) = 524
17.4. 과적(Overloading) = 526
17.5. 생성자 함수(constructor function) = 527
17.6. 객체 중심 언어와 상속 = 528
연습 문제 = 529