목차
머리말 = ⅳ
1 C로 풍덩
1.1 나도 C 프로그래머이다 = 2
1.1.1 명령문 = 3
1.2 입출력을 해보자 = 4
1.3 메뉴를 제공하자 = 8
1.3.1 변수 = 9
1.3.2 if문 = 11
1.3.3 중첩 선택 = 13
1.4 반복하자 = 16
1.4.1 while문 = 17
1.5 함수를 만들자 = 19
1.5.1 함수 = 21
1.5.2 매개 변수와 반환 값을 가진 함수 = 22
1.6 또 다른 반복 = 24
1.6.1 for문 = 25
1.7 프로그래밍 스타일: 가독성 = 27
1.8 C 언어의 특징 = 29
2 문제 해결
2.1 문제 해결 과정 = 32
2.2 문제 1: 최대 공약수 = 33
2.2.1 우직한 생각 = 34
2.2.2 유클리드의 생각 = 37
2.3 언어 = 41
2.4 문제 2: 배열 분할 = 43
2.4.1 배열 = 44
2.4.2 배열 분할 = 48
2.5 문제 3: 도형 그리기 = 53
2.5.1 직사각형 그리기 = 53
2.5.2 프로그래밍 스타일: 경계 조건과 예외 조건 = 56
2.5.3 다이아몬드 그리기 = 58
3 데이터 표현과 연산
3.1 데이터 형 = 63
3.1.1 기본 형과 그들의 변형 = 64
3.1.2 오버플로우와 언더플로우 = 66
3.1.3 형 변환 = 69
3.2 문자와 문자열 = 71
3.2.1 문자 = 71
3.2.2 문자열 = 74
3.2.3 문자 입출력 = 78
3.3 사칙, 관계, 그리고 논리 연산자 = 81
3.3.1 연산자와 우선 순위 = 81
3.3.2 프로그래밍 연습: 이차 방정식 풀기 = 83
3.3.3 참/거짓 판정 = 85
3.4 유용한 연산자들 = 87
3.4.1 증감 연산자 = 88
3.4.2 비트 연산자 = 88
3.4.3 대입 연산자 = 90
3.4.4 조건 연산자 = 91
3.5 연산자 우선 순위와 결합 법칙 = 92
3.6 프로그래밍 스타일: 이식성 = 94
3.7 프로그래밍 연습: π 추정 = 95
3.7.1 면적을 이용한 알고리즘 = 96
3.7.2 Plouffe 알고리즘 = 100
4 제어 흐름
4.1 선택문 = 106
4.1.1 if = 107
4.1.2 switch = 111
4.2 반복문 = 113
4.2.1 while과 for = 113
4.2.2 루프만들기 연습 : 피보나치 수 = 115
4.2.3 중첩 루프 만들기 연습 : 버블 정렬 = 117
4.2.4 do-while = 121
4.3 break, continue, 그리고 goto = 122
4.3.1 break와 continue = 122
4.3.2 goto = 126
4.4 프로그래밍 스타일: 문서화 = 127
4.5 프로그래밍 연습: sin 곡선 그리기 = 129
5 함수
5.1 값 주고 받기 = 138
5.1.1 원리 = 138
5.1.2 몇 가지 유형 = 142
5.2 포인터에 의한 참조 호출 = 143
5.2.1 메모리에 대한 이해 = 143
5.2.2 포인터 = 145
5.2.3 값 호출과 참조 호출 = 148
5.2.4 포인터를 이용한 참조 호출 모방 = 151
5.3 변수의 생과 사 = 154
5.3.1 내부 변수와 외부 변수 = 154
5.3.2 유효 범위 규칙 = 156
5.3.3 프로그래밍 스타일: 프로그램의 재사용성 = 160
5.3.4 static과 register 변수 = 161
5.4 재귀 함수 = 163
5.5 전처리기 = 167
5.6 프로그래밍 연습: 카드 짝꿍 게임 = 169
5.7 프로그래밍 연습: 하노이 탑 = 178
6 배열
6.1 1차원 배열 = 185
6.1.1 사용 규칙 = 186
6.1.2 배열과 포이터 = 189
6.1.3 문자 배열 = 191
6.2 다차원 배열 = 195
6.3 동적 메모리와 포인터 배열 = 200
6.4 포인터 배열과 2차원 배열 = 206
6.5 파일 입출력: fscanf와 fprintf = 208
6.6 프로그래밍 연습: 마방진 = 211
7 구조
7.1 struct = 221
7.2 구조와 함수 = 224
7.3 typedef와 enum = 228
7.4 데이터베이스 = 231
7.4.1 레코드 개수를 아는 경우 = 232
7.4.2 레코드 개수의 자동 계산 = 235
7.5 프로그래밍 연습: 캔버스에 도형 그리기 = 237
부록 = 249
부록 A. 입출력 = 249
부록 B. ASCⅡ코드표 = 254
부록 C. 진법 변환 = 256
부록 D. 표준 라이브러리 = 258
부록 E. 컴파일러 = 277
찾아보기 = 282