목차
Chapter 1 C 언어 시작하기 = 13
section 1 프로그래밍언어의 개념 = 15
1-1. 프로그래밍 언어 = 15
1-2. C언어의 개요 = 17
section 2 main() 함수와 프로그램 작성과 컴파일 = 20
2-1. C언어의 함수 = 20
2-2. Hello world!!! 출력하기 = 21
2-3. 표준 라이브러리란? = 27
2-4. 컴파일과 링커 = 28
2-5. 다양한 개발 환경에서 개발하기 = 30
2-6. 프로그램 개발단계 = 37
section 3 C프로그램의 구성 요소들 = 39
요약정리 = 42
연습문제 = 43
Chapter 2 기본 자료형과 변수 = 45
section 1 C언어 기본 자료형 = 47
1-1. 기본 자료형 = 47
1-2. 변수 선언과 값의 치환 = 49
1-3. printf() 함수의 또 다른 기능 = 51
1-4. sizeof 연산자 = 53
1-5. 상수(Constant) = 54
section 2 변수 초기화와 주소 연산자 = 57
2-1. 변수 초기화 = 58
2-2. 주소 연산자 = 59
2-3. 데이터 입력, scanf() = 60
section 3 자료형 수정자 = 63
3-1. short, long 수정자 = 63
3-2. signed 와 unsigned 수정자 = 64
3-3. 실수형 데이터의 표현 = 67
3-4. 음수의 표현 = 70
section 4 자료형 변환 = 72
4-1. 수식에서의 형 변환 = 72
4-2. 치환에서의 형 변환 = 73
4-3. typedef 문 = 76
4-4. enum 상수 = 76
요약정리 = 79
연습문제 = 80
Chapter 3 콘솔(Console) 입출력과 C언어 연산자 = 85
section 1 표준 라이브러리 함수란? = 87
1-1. 라이브러리함수의 종류 = 87
1-2. 헤더파일 = 88
1-3. 헤더파일과 라이브러리 함수를 사용하는 절차 = 88
section 2 콘솔(Console) 입출력의 개념 = 89
2-1. 표준 스트림 = 89
section 3 표준 출력 함수 = 91
3-1. putchar() 함수 = 91
3-2. puts() 함수 = 91
3-3. printf() 함수 = 93
section 4 표준 입력 함수 = 98
4-1. getchar() 함수 = 98
4-2. gets() 함수 = 99
4-3. scanf() 함수 = 101
4-4. 입력, 출력 버퍼(Buffer)란? = 104
section 5 C언어 연산자 = 110
5-1. 수식이란? = 110
5-2. 산술 연산자 = 112
5-3. 증감 연산자 = 114
5-4. 관계 연산자와 논리 연산자 = 117
5-5. 비트 연산자 = 123
5-6. 기타 연산자 = 125
요약정리 = 131
연습문제 = 132
Chapter 4 제어문 = 137
section 1 조건 제어문 = 139
1-1. if 조건문 = 139
1-2. 중첩 if(다중선택) = 148
1-3. switch문 = 157
section 2 반복 제어문 = 162
2-1. for 반복문 = 162
2-2. while 반복문 = 167
2-3. do-while 반복문 = 169
2-4. 중첩 반복이란? = 173
section 3 기타 제어문 = 178
3-1. break = 178
3-2. continue = 180
3-3. goto와 label = 182
요약정리 = 184
연습문제 = 185
Chapter 5 C언어의 핵심! 함수 = 193
section 1 함수는 무엇인가? = 195
1-1. 하나의 함수로 응용프로그램을 만들면 안되나? = 195
1-2. 함수 작성과 호출 = 197
section 2 함수의 동작원리 = 201
2-1. 함수의 인수 사용 = 201
2-2. 값을 반환하는 함수 = 203
section 3 함수는 호출하기 전에 왜 선언하는가? = 206
3-1. 함수 선언과 정의 = 206
3-2. main() 함수가 자식 함수보다 먼저 정의 되는 경우 = 207
3-3. 자식 함수가 main() 함수보다 먼저 정의 되는 경우 = 209
3-4. 표준 라이브러 함수 호출 시 헤더파일은 왜 선언하나? = 211
section 4 순환(재귀) 함수 = 214
요약정리 = 219
연습문제 = 220
Chapter 6 기억 클래스 = 225
section 1 변수와 메모리 저장위치 = 227
section 2 지역(local) 변수 = 229
section 3 전역(Global) 변수 = 235
section 4 접근 수정자 = 238
4-1 static 수정자 = 239
4-2 extern 수정자 = 240
요약정리 = 247
연습문제 = 248
Chapter 7 배열과 문자열 = 255
section 1 배열 = 257
1-1. 1차원 배열 = 258
1-2. 배열 원소 접근 = 259
1-3. 배열 원소의 값과 주소를 출력해 보자 = 261
1-4. 배열에 데이터를 입력하자 = 263
1-5. 배열 전체를 다른 배열로 치환할 수 없다 = 265
1-6. 배열 초기화에서 알아야 할 것 = 267
1-7. 정렬 알고리즘 = 270
section 2 문자열의 사용 = 273
2-1. 문자 배열 = 273
2-2. 배열 변수는 배열의 시작주소를 갖는 주소(포인터) 상수 = 275
section 3 문자열 입력 함수 = 277
요약정리 = 281
연습문제 = 282
Chapter 8 문자열 처리함수와 다차원 배열 = 285
section 1 문자열 처리함수 = 287
section 2 다차원 배열 = 293
2-1. 2차원 정수형 배열 = 293
2-2. 2차원 배열의 구조 = 295
2-3. 2차원 배열의 주소 개념을 알아보자 = 296
section 3 문자열 배열 = 299
요약정리 = 308
연습문제 = 309
Chapter 9 포인터Ⅰ = 313
section 1 프로세스란? = 315
section 2 포인터란? = 316
2-1. 포인터 변수 = 316
2-2. 포인터 변수 자료형과 메모리 할당? = 321
2-3. 포인터 사용시 주의 사항!! = 324
2-4. 다중 포인터 = 325
section 3 포인터 연산 = 328
section 4 배열과 포인터 = 332
4-1. 1차원 배열과 포인터 변수 = 332
요약정리 = 338
연습문제 = 339
Chapter 10 포인터Ⅱ = 343
section 1 포인터 전달과 반환 = 345
1-1. 값에 의한 호출(call by value) = 345
1-2. 참조에 의한 호출(call by reference) = 347
1-3. 배열이 함수의 인수로 전달된다면 항상 call by reference = 349
1-4. 포인터 반환 = 352
1-5. const 지정자는 무엇인가? = 354
section 2 포인터 배열이란? = 355
2-1. 포인터 배열의 메모리 할당 = 355
2-2. 문자열 상수포인터와 포인터 배열 = 359
2-3. void 형 포인터와 cast 연산자를 이용한 포인터 형 변환 = 362
section 3 명령어 라인 인수와 main() 함수의 매개변수 = 365
3-1. main() 함수의 매개변수 = 366
3-2. 명령어 라인 인수는 항상 문자열이다 = 368
3-3. 명령어 라인 인수를 제대로 전달하지 않으면 오류!! = 371
요약정리 = 374
연습문제 = 375
Chapter 11 구조체란? = 381
section 1 구조체란? = 383
1-1. 구조체의 선언과 메모리할당 = 384
1-2. 구조체의 크기와 멤버 접근 = 385
1-3. 구조체의 선언과 정의 = 388
1-4. 구조체 복사(대입) = 390
1-5. 구조체를 함수에 전달 및 반환 = 393
section 2 구조체 배열 = 397
2-1. 구조체 배열 선언 = 397
section 3 중첩된 구조체 = 401
3-1. 중첩된 구조체 선언 = 401
3-2. 중첩된 구조체 사용 = 402
section 4 구조체 포인터 = 404
4-1. 구조체 포인터 선언 = 404
4-2. 구조체 포인터 연산 = 407
section 5 공용체 = 409
요약정리 = 412
연습문제 = 414
Chapter 12 파일입출력 = 421
section 1 스트림의 개념 = 423
1-1. 표준 입/출력 스트림 = 423
1-2. 파일 입/출력 = 424
section 2 파일 입출력을 위한 스트림 = 425
2-1. 스트림 생성과 소멸 함수 = 425
2-2. 스트림의 종류 = 428
section 3 텍스트 데이터 입출력 = 430
3-1. 문자 입출력 = 430
3-2. 문자열 입출력 = 433
3-3. 형식화된 입출력 = 436
section 4 이진 데이터 입출력 = 440
4-1. 이진 입출력 함수 = 440
4-2. 파일 임의 접근 = 444
4-3. 기타 함수 = 445
요약정리 = 448
연습문제 = 449
Chapter 13 동적메모리 할당 = 453
section 1 동적메모리 할당이란? = 455
1-1. 동적 메모리 할당 = 456
1-2. 동적 메모리 할당 함수 = 456
1-3. 구조체 노드 입출력 = 457
1-4. 자기참조 구조체란? = 462
section 2 링크드 리스트 = 464
2-1. 링크드(연결) 리스트 입출력 = 464
2-2. 링크드(연결) 리스트 구조체 노드 검색 = 467
2-3. 링크드(연결) 리스트 구조체 노드 삭제 = 470
요약정리 = 476
연습문제 = 477
Chapter 14 선행처리기와 고급문제 = 479
section 1 전처리기의 이해 = 481
1-1. #include와 #define = 481
section 2 매크로 함수 = 483
2-1. 매크로 함수 활용 = 483
2-2. 기타 전처리문 = 486
2-3. 시스템 내장 매크로 = 487
2-4. #과 ## 연산자 = 489
section 3 조건 컴파일 = 491
3-1. #if 조건 컴파일 활용 = 491
3-2. 헤더 파일의 중복 문제 = 494
요약정리 = 497
연습문제 = 498
INDEX = 501