목차
1. 컴퓨터와 프로그래밍 개관
1.1 컴퓨터의 어제와 오늘 = 20
1.2 컴퓨터 하드웨어 = 23
1.3 컴퓨터 소프트웨어 = 31
1.4 스프트웨어 개발 방법론 = 40
1.5 소프트웨어 개발 방법론의 적용 = 44
사례 연구 : 마일-킬로미터 변환 = 44
2. C 언어의 개요
2.1 C 언어 구성 요소 = 52
2.2 변수 선언과 테이터 타입 = 60
2.3 실행문 = 63
2.4 C 프로그램의 일반적인 형식 = 73
2.5 수식 = 77
사례 연구 : 동전의 총 금액의 계산 = 84
2.6 프로그램 출력시 숫자의 형식화 = 89
2.7 상호 작용 모드, 배치 모드, 데이터 파일 = 92
2.8 일반적인 프로그래밍 오류 = 97
3. 함수를 사용한 하향식 설계
3.1 문제에서 주어진 정보로부터 프로그램을 만드는 법 = 112
사례 연구 : 원의 면적과 원주값 구하기 = 113
사례 연구 : 납작한 와셔의 무게 계산 = 117
3.2 라이브러리 함수 = 122
3.3 하항식 설계와 구조체 차트 = 128
사례 연구 : 간단한 도형 그리기 = 128
3.4 인자를 가지지 않은 함수 = 130
3.5 입력 인자를 가진 함수 = 141
3.6 일반적인 프로그래밍 오류 = 151
4. 선택 구조 : if 와 Switch 문
4.1 제어 구조체 = 160
4.2 조건 = 161
4.3 if 문 = 171
4.4 복합문을 가진 if 문 = 176
4.5 알고리즘에서의 결정 단계 = 180
사례 연구 : 수도 요금 문제 = 180
4.6 문제 풀이 = 190
사례 연구 : 물의 사용량을 제한할 경우의 수도 요금 계산 = 191
4.7 중첩 if 문과 다중-선택 결정 = 193
4.8 다중 선택을 위한 switch 문 = 204
4.9 일반적인 프로그래밍 오류 = 208
5. 반복 및 루프문
5.1 프로그램 내에서의 반복문 = 222
5.2 계수루프와 while 문 = 224
5.3 루프 내에서의 합 또는 곱의 계산 = 227
5.4 for 문 = 233
5.5 조건 루프 = 242
5.6 루프 설계 = 248
5.7 내포 루프 = 256
5.8 do-while 문과 플래그 제어 루프 = 260
5.9 문제 풀이 설명 = 263
사례 연구 : 방사능 수위 계산 = 264
5.10 프로그램을 디버깅하고 검사하는 방법 = 269
5.11 일반적인 프로그래밍 오류 = 272
6. 모듈화 프로그래밍
6.1 단순 출력 매개 변수를 갖는 함수 = 288
6.2 입/출력 매개 변수를 갖는 void 함수의 다중 호출 = 296
6.3 이름의 영역 = 302
6.4 실수로 사용되는 형식 출력 매개 변수 = 304
6.5 다중함수 프로그램 = 308
사례 연구 : 분수에 대한 산술 연산 = 308
6.6 프로그램 시스템의 디버깅과 검사 = 318
6.7 일반적인 프로그래밍 오류 = 320
7. 간단한 데이터 타입
7.1 숫자 타입의 표현과 변환 = 332
7.2 문자 타입의 표현과 변환 = 338
7.3 열거형 = 341
7.4 반복 근사 = 347
사례 연구 : 근을 구하기 위한 이분법 = 349
7.5 일반적인 프로그래밍 오류 = 358
8. 배열
8.1 배열 선언과 참조 = 370
8.2 배열 첨자 = 374
8.3 순차 접근을 위한 루프 사용 = 376
8.4 함수 인수로서 개별적 배열 요소의 사용 = 381
8.5 인수 배열 = 383
8.6 배열의 탐색과 정렬 = 397
8.7 다차원 배열 = 402
8.8 배열 처리의 예 = 407
사례 연구 : 판매 테이터 분석 = 408
8.9 일반적인 프로그래밍 오류 = 416
9. 문자열
9.1 문자열의 기초 = 430
9.2 문자열 치환문과 부분 문자열 = 436
9.3 긴 문자열 : 문자열 결합과 줄 전체 입력 = 443
9.4 문자열 비교 = 449
9.5 포인터들의 배열 = 451
9.6 문자 연산 = 458
9.7 문자열을 수치로 또는 수치를 문자열로 변환하기 = 463
9.8 문자열 처리의 예 = 469
사례 연구 : 텍스트 에디터 = 470
9.9 일반적인 프로그래밍 오류 = 478
10. 순환(recursion)
10.1 순환의 특성 = 490
10.2 순환 함수의 추적 = 493
10.3 순환 수학 함수 = 503
10.4 배열과 문자열 매개 변수를 갖는 순환 함수 = 509
사례 연구 : 문자열에서 대문자 찾기 = 509
사례 연구 : 순환적 선택 정렬 = 512
10.5 순환을 이용한 문제 해결 = 515
사례 연구 : 집합 연산 = 515
10.6 순환에서의 사례 연구 : 하노이 탑 = 523
10.7 일반적인 프로그래밍 오류 = 529
11. 구조체(structure)와 공용체(union) 타입
11.1 사용자 정의 구조체 타입 = 538
11.2 입출력 매개 변수로서의 구조체 타입 데이터 = 544
11.3 결과 값이 구조체인 함수 = 549
11.4 구조체를 사용한 문제 풀이 = 553
사례 연구 : 복소수 처리를 위한 사용자 정의 데이터 타입 = 554
11.5 병렬 배열과 구조체의 배열 = 532
사례 연구 : 일반적인 측정 단위 변환 = 564
11.6 공용체 타입(선택 사항) = 573
11.7 일반적인 프로그래밍 오류 = 580
12. 텍스트 및 이진 파일 처리
12.1 파일 입출력 : 복습 및 추후 학습 = 592
12.2 이진 파일 = 602
12.3 데이터베이스 검색 = 609
사례 연구 : 데이터베이스 조회 = 609
12.4 일반적인 프로그래밍 오류 = 620
13. 대형 프로그램
13.1 복잡도를 줄이기 위한 추상화(abstraction) 기법의 사용 = 630
13.2 개인 라이브러리 : 헤더 파일 = 633
13.3 개인 라이브러리 : 구현 파일 = 638
13.4 저장 클래스 = 641
13.5 라이브러리에 포함된 함수의 변경 = 647
13.6 조건적 컴파일 = 650
13.7 함수 main의 인자 = 654
13.8 매개 변수를 사용하는 매크로 정의 = 657
13.9 일반적인 프로그래밍 오류 = 662
14. 동적 데이터 구조
14.1 포인터 = 672
14.2 동적 메모리 할당 = 676
14.3 연결 리스트 = 683
14.4 연결 리스트 연산자 = 689
14.5 일반적인 프로그래밍 오류 = 695
15. C++
15.1 C++ 제어 구조와 입/출력과 함수 = 702
15.2 객체 지향 프로그래밍을 위한 C++ = 711
부록 = 731
색인 = 755