목차
제1장 C 언어 소개 = 1
프로그램과 프로그래밍 언어들 = 1
문법 = 2
필요한 툴 = 3
첫 번째 프로그램 = 4
라이브러리 함수들 = 7
printf() 함수 = 7
프로그래밍 과정 = 8
프로그램 수정 = 11
스타일 = 12
기초 문제 = 12
프로그램 과제 = 14
제2장 정수형 데이터 = 16
수치적 데이터 종류 = 16
정수와 부동 소수점 수 = 17
변수 = 17
변수의 선언 = 18
변수 이름 = 18
지정 연산자 = 20
scanf()를 이용한 정수 입력 = 22
printf()를 이용한 정수 출력 = 23
프로그램 테스팅 = 27
0으로 나누기 = 28
변수의 크기와 오버플로우 = 28
#define 전처리기 명령 = 29
limits.h 헤더 파일 = 32
long integer 변수 = 34
연산 순서 = 34
입력 필드 너비 = 39
출력 필드 너비 = 40
스타일 = 41
기초 문제 = 42
프로그램 과제 = 44
제3장 부동 소수점 데이터 = 47
자리수와 반올림 에러 = 48
부동 소수점 변수 = 48
부동 소수점 산술 연산 = 49
과학적 표기법과 지수적 표기법 = 55
입출력 포맷 = 56
헤더 파일 float.h = 58
혼합 지정 연산 = 61
형 변환 연산자(casts) = 61
기초 문제 = 65
프로그램 과제 = 66
제4장 표준 수학 라이브러리 = 69
함수 인자와 리턴값 = 70
버무이 에러와 영역 에러 = 73
함수 선언 형식 = 75
헤더 파일 math.h = 76
표준 삼각 함수 = 76
지수와 근 = 80
정수형 함수들과 헤더 파일 stdlib.h = 84
난수 = 84
프로그램 dice.c = 85
기초 문제 = 88
프로그램 과제 = 90
제5장 제어 흐름 : 선택 = 92
간단한 if 문 = 92
공통된 에러 = 96
수식과 조건문 = 97
논리 연산자 = 100
프로그램 gradel.c의 효율성 = 105
if/else 문 = 105
프로그램 alcohol.c = 109
중첩된 if 문 = 115
스타일 = 116
기초 문제 = 117
프로그램 과제 = 118
제6장 제어 흐름 : 반복 = 121
while 반복문 = 121
for 반복문 = 124
반복문의 선택 : while과 for = 126
계수기 증가와 감소 = 127
scanf()의 다른 특성 = 127
표준 입력에 대한 방향 전환 = 132
무한 루프 = 133
향상된 팩토리얼 프로그램 = 135
반복에 의한 제곱근 구하기 = 138
반올림 에러와 무한 루프 = 142
반복문이 유용한 경우 = 144
기초 문제 = 145
프로그램 과제 = 147
제7장 사용자 정의 함수 = 150
함수로 작성하는 이유 = 150
반올림 함수 = 151
함수의 작동 = 155
실행 시작 = 157
함수 호출 = 157
함수 round() 수행 = 160
리턴된 값을 저장 = 161
함수 선언 형식 = 163
그루터기 함수 = 166
함수 cbrt() = 167
복수(multiple) 소스 파일 = 169
함수 hms_to_sec() = 172
값에 의한 호출(call by value) = 174
void 함수 = 175
동전 던지기 함수 = 176
기초 문제 = 178
프로그램 과제 = 179
제8장 함수와 참조에 의한 호출 = 182
포인터 = 183
앨리어스 = 183
교체 프로그램이 작동되는 원리 = 186
표준 입력으로부터 값을 읽기 = 187
함수 swap_doubles() 호출 = 188
값 교체 = 190
선언 형식과 참조에 의한 호출 = 192
참조에 의한 호출과 리턴문 = 192
함수 sec_to_hms() = 198
기초 문제 = 201
프로그램 과제 = 202
제9장 배열 = 205
배열의 정의 = 205
배열을 다루는 함수들 = 210
함수 get_dbl_arr() = 215
함수 print_dbl_arr() = 217
그루터기 함수들 = 218
함수 ave_dbl_arr() = 220
함수 copy_dbl_arr() = 222
함수 sort_dbl_arr() = 224
배열이 좋은 이유 = 232
기초 문제 = 232
프로그램 과제 = 235
제10장 이차원 배열 = 237
이차원 배열의 생성 = 238
헤더 파일 생성 = 242
이차원 배열을 다루는 함수들 = 244
이차원 배열 함수들 = 249
행렬 = 251
행렬 곱셈 = 251
고차원 배열 = 255
기초 문제 = 256
프로그램 과제 = 258
제11장 문자형 데이터 = 260
ASCII = 260
EBCDIC = 261
데이터형 char = 264
표준 문자 함수들 = 268
함수 get_int()와 clear_buffer() = 273
기초 문제 = 275
프로그램 과제 = 276
제12장 스트링 = 279
스트링 상수 = 279
스트링 변수 = 281
배열 채우기 = 281
함수 인자로서의 스트링 = 283
스트링 함수들 = 286
스트링의 길이 결정 = 287
스트링 복사 = 287
스트링 역순 = 288
스트링 함수들과 string.h = 290
기초 문제 = 291
프로그램 과제 = 292
제13장 단순한 파일 입출력 = 294
순차적 접근과 임의적 접근 = 294
FILE 데이터형 = 295
파일 열기 = 295
파일 닫기 = 296
fscanf() 함수와 fprintf() 함수 = 297
파일 열기 에러 = 302
개선된 main() 함수 = 302
파일 위치 지시자 = 305
함수 encipher file() = 309
기초 문제 = 312
프로그램 과제 = 313
제14장 C 지름길과 관용구 = 316
선언문과 초기화 = 316
while 루프를 이용한 데이터 읽기 = 318
복합 지정문 = 319
증가 연산자와 감소 연산자 = 319
개선된 ave.c 프로그램 = 321
기초 문제 = 322
부록A A연산자 우선 순위 = 325
부록B 표준 수학 함수들 = 326
삼각 함수들 = 326
역삼각 함수들 = 327
하이퍼볼릭 함수들 = 327
제곱근 함수 = 327
로그 함수들 = 328
지수 함수 = 328
멱 함수 = 328
올림과 버림 함수 = 329
절대값 함수들 = 329
난수 발생기 = 329
부록C 행렬 대수 = 330
특수 행렬 = 330
유용한 행렬 용어 = 332
기본적인 행렬 연산 = 332
연립 방정식 = 333
부록D ASC Ⅱ와 EBCDIC 문자코드 = 334