목차
1. C언어의 소개
1.1 C언어의 역사 = 17
1.2 컴퓨터 시스템과 C 언어 사용 환경 = 18
1.2.1 컴퓨터 시스템의 구성 = 19
1.2.2 입출력 버퍼링(I/O Buffering) = 21
1.2.3 컴파일과 실행 = 21
1.3 C언의의 기본 특징 = 24
1.4 프로그램 작성시의 유의점 = 35
1.5 요약 = 36
1.6 예제 = 36
연습문제 = 42
2. 프로그래밍
2.1 C 프로그램의 형태 = 44
2.2 출력 함수 printf()와 입력 함수 scanf() = 47
2.2.1 정수의 취급 = 49
2.2.2 실수의 취급 = 50
2.2.3 문자와 문자열의 취급 = 52
2.3 출력 함수 putchar()와 입력 함수 getchar() = 54
2.4 요약 = 55
2.5 예제 = 55
연습문제 = 63
3. 언어의 구문과 어휘
3.1 문자와 어휘 = 67
3.1.1 문자와 토큰 = 67
3.1.2 식별자 = 69
3.2 예약어 = 70
3.3 연산자 = 71
3.4 주석 = 72
3.5 문자열 = 73
3.6 상수와 진수 = 74
3.7 요약 = 75
3.8 예제 = 76
연습문제 = 77
4. 자료형
4.1 선언문 = 79
4.2 수식과 배정 = 80
4.3 기본적인 자료형과 크기 = 82
4.4 정수형 자료 = 85
4.4.1 정수 자료형 int = 85
4.4.2 그 밖의 정수 자료형 short, long, unsigned = 86
4.5 부동 소수점(실수)형 float와 double = 87
4.6 문자형 char = 88
4.7 자료형 변환 = 90
4.8 자료형과 연산 = 91
4.9 자료형과 상수 = 93
4.10 열거형 enum = 94
4.11 요약 = 96
4.12 예제 = 97
연습문제 = 102
5. 연산자
5.1 연산자의 종류 = 105
5.1.1 산술 연산자 = 106
5.1.2 관계 연산자 = 108
5.1.3 동등 연산자 = 110
5.1.4 논리 연산자 = 112
5.1.5 비트 연산자 = 115
5.1.6 배정 연산자 = 119
5.1.7 조건 연산자 = 120
5.1.8 중가·감소 연산자 = 122
5.1.9 콤마 연산자 = 124
5.1.10 기타 연산자 = 125
5.2 연산 우선 순위와 결합성 = 128
5.3 요약 = 129
5.4 예제 = 130
연습문제 = 136
6. 제어의 흐름
6.1 제어문의 종류 = 141
6.2 택일문 = 143
6.2.1 if문과 if-else 문 = 143
6.2.2 switch-case 문 = 148
6.3 반복문 = 151
6.3.1 while문 = 151
6.3.2 for문 = 153
6.3.3 do-while문 = 156
6.4 qnsrlans = 157
6.4.1 goto문 = 158
6.4.2 break문과 continue문 = 159
6.5 요약 = 160
6.6 예제 = 161
연습문제 = 170
7. 함수와 변수
7.1 함수 정의, 호출 및 선언 = 178
7.2 return문 = 181
7.3 값 호출 = 182
7.4 변수의 영역 규칙 = 184
7.5 기억 클래스(Storage Class) = 187
7.5.1 기억 클래스 auto = 188
7.5.2 기억 클래스 static = 190
7.5.3 기억 클래스 extern = 192
7.5.4 기억 클래스 register = 195
7.6 수학 함수 = 196
7.7 요약 = 198
7.8 예제 = 200
연습문제 = 214
8. 포인터, 배열 및 문자열
8.1 포인터 = 217
8.1.1 포인터와 주소 = 217
8.1.2 포인터와 함수의 인수 = 221
8.2 배열 = 224
8.2.1 1차원 배열 = 224
8.2.2 포인터와 배열 = 227
8.2.3 다차원 배열 = 230
8.2.4 배열과 매개 변수 = 231
8.2.5 배열의 초기화 = 234
8.3 문자열 = 237
8.3.1 문자열의 복사 = 239
8.3.2 문자열의 연결 = 239
8.3.3 문자열의 비교 = 240
8.3.4 문자열의 길이 계산 = 241
8.3.5 문자열 내의 문자 위치 = 241
8.4 요약 = 242
8.5 예제 = 243
연습문제 = 260
9. 추가적인 함수 사용법과 전처리기
9.1 재귀 함수 = 265
9.2 함수를 매개 변수로 사용하기 = 268
9.3 함수 main()의 매개 변수 = 270
9.4 void 형 지정 함수 = 272
9.5 전처리기 = 273
9.5.1 #define = 274
9.5.2 #undef = 276
9.5.3 #include = 276
9.5.4 조건부 컴파일 지시문 #if, #else, #elif, #endif = 278
9.5.5 조건부 컴파일 지시문 #ifdef, #ifndef = 281
9.5.6 #error, #pragma 및 #line = 282
9.6 요약 = 283
9.7 예제 = 285
연습문제 = 298
10. 형 정의, 구조형 및 고용형
10.1 형 정의 typedef = 301
10.2 구조형 struct = 304
10.3 구조(struct)형과 함수 = 312
10.4 공용형 union = 317
10.5 비트 필드 = 319
10.6 요약 = 321
10.7 예제 = 322
연습문제 = 333
11. 구조형과 리스트 처리
11.1 지신 참조 구조형 = 337
11.2 선형 연계 리스트 = 339
11.3 리스트 연산 = 341
11.4 스택 연산 = 347
11.5 2진 트리 = 349
11.6 배열과 리스트 = 352
11.7 요약 = 353
11.8 예제 = 354
연습문제 = 358
12. 표준 함수(1)
12.1 스트림과 파일 = 361
12.1.1 스트림 = 362
12.1.2 파일 = 362
12.1.3 표준 헤더 파일 = 364
12.2 입출력 표준 함수 = 365
12.2.1 표준 입출력 함수 = 365
12.2.2 표준 양식 입출력 함수 = 370
12.3 고수준 파일 입출력 함수 = 377
12.3.1 파일을 열고 닫기 = 378
12.3.2 파일에서의 문자 읽기와 쓰기 = 379
12.3.3 파일에서 문자열 읽기와 쓰기 = 381
12.3.4 블록 단위의 입출력 = 384
12.3.5 파일의 임의 위치 접근 = 385
12.3.6 일반 형태로의 파일 입출력 = 387
12.3.7 기타 고수준 파일 입출력 함수 = 389
12.4 요약 = 392
12.5 예제 = 393
연습문제 = 398
13. 표순 함수(2)
13.1 저수준 파일 입출력 함수 = 401
13.2 문자열과 자료 변환 함수 = 409
13.2.1 문자열 변환 함수 = 409
13.2.2 자료 변환 함수 = 410
13.3 문자열 조작 함수 = 411
13.3.1 문자열의 복사 = 412
13.3.2 문자열의 연결 = 413
13.3.3 특정 문자의 위치 = 415
13.3.4 문자열 끼리의 비교 = 416
13.3.5 키 리스트의 탐색 = 416
13.3.6 문자열의 길이 = 417
13.3.7 탈출 문자 발견 = 417
13.3.8 토큰 얻기 = 418
13.4 메모리 관리 함수 = 419
13.5 기타 함수 = 424
13.5.1 문자 검사와 변환 = 424
13.5.2 수치 연산 함수 = 426
13.5.3 프로세스 제어 표준 함수 = 428
13.6 요약 = 431
13.7 예제 = 432
연습문제 = 439
14. C프로그램의 작성 사례 연구
14.1 프로그램 윤곽 잡기 = 442
14.2 자료 구조의 선택 = 443
14.3 함수들의 작성 = 446
14.3.1 전역 변수와 함수 main()의 정의 = 446
14.3.2 함수 enter()의 정의 = 447
14.3.3 함수 delete()의 정의 = 450
14.3.4 기타의 함수 작성 = 452
14.4 요약 = 455
14.5 예제 = 455
연습문제 = 456
15. 응용 프로그램
15.1 정렬 = 459
15.1.1 버블 정렬 = 460
15.1.2 선택 정렬 = 461
15.1.3 퀵 정렬 = 461
15.2 탐색 = 463
15.2.1 순차 탐색 = 463
15.2.2 2진 탐색 = 464
15.3 후위법 연산 = 464
15.4 함수의 근 구하기 = 467
15.5 깊이 우선 탐색 = 469
15.6 폭 우선 탐색 = 473
15.7 요약 = 474
15.8 예제 = 475
연습문제 = 478
16. C언어와 UNIX시스템환경
16.1 UNIX 시스템의 발전과 계보 = 482
16.2 UNIX 시스템의 구조와 특징 = 484
16.2.1 UNIX 시스템의 구조 = 484
16.2.2 UNIX 시스템의 특징 = 486
16.3 UNIX 시스템의 쉘 명령어 = 490
16.3.1 UNIX 세션 = 490
16.3.2 우편 = 493
16.3.3 메뉴얼 = 493
16.3.4 파일 관련 명령어 = 494
16.3.5 디렉토리 = 501
16.3.6 쉘 = 503
16.4 쉘(Shell)프로그래밍 = 512
16.5 요약 = 515
연습문제 = 515
17. C소프트웨어 개발 도구
17.1 편집기 = 518
17.1.1 줄 편집기 ed = 518
17.1.2 화면 편집기 vi = 521
17.1.3 화면 편집기 emacs = 523
17.2 프로그램의 처리 = 524
17.3 C프로그램 개발 보조 도구 = 528
17.3.1 lint = 528
17.3.2 cb와 prof명령어 = 530
17.3.3 기호 디버거(debugger) sdb = 532
17.4 C프로그램의 개발 관리 = 535
17.5 C프로그램 생성기 = 538
17.5.1 lex = 538
17.5.2 yacc = 540
17.6 요약 = 543
연습문제 = 544
18. UNIX시스템 인터페이스와 C시스템 프로그래밍
18.1 UNIX 시스템 인터페이스 = 545
18.1.1 어셈블리 언어 프로그램과의 연결 = 545
18.1.2 FORTRAN 77 프로그램과의 연결 = 548
18.1.3 UNIX 명령어의 실행 = 554
18.2 C 시스템 프로그래밍 = 554
18.2.1 프로세스 관리 = 554
18.2.2 프로세스간의 통신 : 파이프의 기능 = 558
18.2.3 시그널의 처리 = 562
18.2.4 비동기 입출력 = 566
18.3 요약 = 568
18.4 예제 = 568
연습문제 = 570
19. C++언어
19.1 입출력 = 573
19.2 함수 = 575
19.3 클래스(class) = 576
19.4 과적(Overloading) = 577
19.5 생성자 함수(constructor function) = 579
19.6 객체 중심 언어와 상속 = 580
연습문제 = 581
색인 = 583