목차
Theme 1. C언어를 시작하기 전 준비운동 = 20
1. 컴퓨터 언어에 대해 = 20
1) 프로그램 언어의 발달 = 20
2) 프로그래밍 언어의 분류 = 22
3) 고급 언어의 종류 = 23
4) 프로그래밍 언어의 구현 기법 = 26
2. 터보 C 프로그램 설치 및 환경 설정 = 27
1) 도스용 터보 C 환경 = 28
2) 윈도우용 터보 C++ = 48
Theme 2. C언어의 이해 = 59
1. C언어의 역사와 특징 = 60
1) C언어의 역사 = 60
2) C언어의 특징 = 61
2. 간단한 C 프로그램 작성 = 62
3. C 프로그램의 구성 = 69
4. C 언어의 개요 = 72
1) 주석문(Comment) = 72
2) 문자(character)와 토큰(token) = 73
Theme 3. C언어의 표준 출력 = 85
1. C언어의 출력 기능 = 85
2. stdio.h = 86
3. 출력함수(printf()) = 87
1) Escape 문자 = 89
2) 형식지정 제어(변환) 문자 = 92
Theme 4. C언어의 표준 입력 = 119
1. 입력 함수(scanf()) = 119
1) 문자 데이터의 입력 = 124
2) 문자열 데이터의 입력 = 133
3) 정수형 데이터의 입력 = 137
4) 실수형 데이터의 입력 = 144
Theme 5. 문자와 문자열의 처리 = 148
1. 문자의 입출력 = 148
1) 단일 문자의 입력 = 149
2) 단일 문자의 출력 = 156
2. 문자열의 입출력 = 159
1) 문자열의 입력함수 gets() = 159
2) 문자열의 출력함수 puts() = 162
3) 함수 sprintf() = 164
4) 함수 sscanf() = 166
Theme 6. C언어에서의 기본 데이터 형 = 171
1. 상수와 변수 = 171
1) 상수 = 172
2) 변수 = 174
2. 예약어 = 175
3. 데이터의 기본형과 형(type)선언 = 176
1) 문자형 데이터의 선언 = 177
2) 정수형 데이터 = 179
3) 실수형 데이터(float, double) = 187
Theme 7. C언어 기호연산자 = 194
1. 연산자 = 194
1) 산술 연산자 = 195
2) 복합 대입 연산자 = 197
3) 관계 연산자 = 200
4) 논리 연산자 = 203
5) 증감 연산자 = 206
6) 형변환 연산자 = 211
7) 논리의 이해 = 214
8) 불 대수(Boolean Algebra) = 218
Theme 8. 비트 연산자, 연산기능, 연산의 법칙 = 222
1. 비트 단위 연산자 = 223
1) 수의 체계 = 223
2) 비트 단위 논리 연산자 = 232
3) 비트 단위 쉬프트(shift) 연산자 = 235
2. 컴퓨터 연산 = 241
1) 산술 연산 = 241
2) 비수치 연산 = 243
3) 연산자의 기능 = 245
3. sizeof() 연산자 = 246
4. C언어의 연산자 우선 순위와 연산 방향 = 247
Theme 9. 조건의 판단 = 251
1. 제어문이란? = 252
2. 조건문 : if 문 = 253
3. 조건의 참과 거짓 판단 : if else 문 = 257
4. 복합적인 조건의 판단 : 중첩된 if 문 = 263
5. 3항 연산자 = 273
6. 복잡한 판단 구조를 간단하게 : swith∼case 문 = 276
7. 지정된 곳으로 분기 : goto 문 = 281
Theme 10. 프로그램의 반복 수행 = 285
1. 조건의 평가 = 286
2. while 문 = 286
3. do while 문 = 290
4. for 문 = 294
5. 중첩된 반복문(다중 for문, 다중 whileans, 다중 do while문) = 299
6. break 문 = 305
7. continue 문 = 308
Theme 11. 공통된 자료의 연속적 표현 : 배열 = 314
1. 배열의 개요 = 315
2. 수치를 다루기 위한 1차원 배열 = 316
1) 1차원 배열의 선언 = 316
2) 1차원 배열의 초기화 = 319
3) 1차원 문자 배열 = 327
3. 2차원 배열 = 330
1) 2차원 배열의 선언 = 330
2) 정수형 2차원 배열의 초기화 = 331
3) 문자형 2차원 배열의 초기화 = 338
4. 3차원 배열 = 339
1) 3차원 배열의 선언 = 340
2) 3차원 배열의 초기화 = 340
Theme 12. 전처리기(Preprocessor) = 346
1. 전처리기의 역할 = 347
2. 파일의 첨가(#include) = 348
3. 매크로의 정의(#define) = 353
1) 매크로 상수(macro constant) = 353
2) 인수가 없는 경우 = 358
3) 인수를 갖는 매크로 정의 = 361
4. 기타 선행 처리기 = 363
1) #undef = 363
2) 조건부 컴파일 처리기 = 365
Theme 13. 사용자 정의 함수 = 369
1. 함수의 개요 = 370
2. 함수의 정의 = 372
3. 함수의 호출과 프로토타입(prototype) = 375
1) 함수의 호출 = 375
2) 프로토타입 = 376
4. return() 문 = 379
5. 함수간 데이터의 연결 = 381
6. 재귀적 호출(Recursive Call) = 390
Theme 14. 기억 클래스와 스택, 큐 = 402
1. 기억 클래스의 개요 = 403
1) 자동변수(automatic variable) = 405
2) 정적(static) 변수 = 408
3) 레지스터(register) 변수 = 413
4) 외부(external) 변수 = 416
2. 변수의 유효 범위(scope rule) = 419
3. 스택(Stsck)과 큐(Queue) = 421
1) 스택(Stack) = 421
2) 큐(Queue) = 429
Theme 15. 포인터 = 438
1. 포인터의 개념 = 439
2. 포인터 연산자 = 439
1) 번지 연산자(address operator : &) = 441
2) 간접 연산자(indirect operator : *) = 443
3. 포인터와 단순 변수 = 444
4. 포인터 변수의 초기화 = 447
5. 포인터 변수의 연산 = 447
6. 이중·삼중 포인터 변수 = 449
7. 포인터 배열 = 450
1) 포인터와 1차원 배열 = 450
2) 포인터와 2차원 배열 = 453
3) 포인터와 3차원 배열 = 455
8. 포인터와 문자열 = 461
1) 포인터와 문자열(1) = 461
2) 포인터와 문자열(2) = 463
9. 포인터를 사용한 Call by Reference = 467
Theme 16. 구조체 = 474
1. 구조체(structure) = 474
1) 구조체의 선언 = 475
2) 구조체의 요소 참조 = 478
3) 구조체 변수의 초기화 = 484
4) 구조체 배열 = 486
5) 구조체 포인터 = 495
6) 중첩(nested) 구조체 = 500
Theme 17. 공용체와 형변환, 열거형 = 504
1. 공용체(union) = 504
1) 공용체 변수의 구성 요소 참조 = 507
2. 명시적 형변환(typedef) = 511
3. enum(열거형) = 516
1) 열거형 변수의 선언 = 516
Theme 18. 입출력 함수 및 파일 처리 함수 Ⅰ = 522
1. 표준 입출력 함수 = 523
2. 파일이란? = 523
3. 파일의 입출력 = 524
4. 파일의 선언 = 525
5. 파일 오픈(fopen) 함수와 폐쇄(fclose) 함수 = 526
1) 파일의 오픈 함수(fopen()) = 526
2) 파일 클로즈(fclos()) = 528
3) freopen() = 531
4) fflush() = 532
6. 문자와 문자열의 파일 입출력 함수 = 532
Theme 19. 입출력 함수 및 파일 처리 함수 Ⅱ = 547
1. 랜덤(random) 파일 입출력 = 548
1) fseek() 함수 = 548
2) ftell() 함수 = 552
3) rewind() 함수 = 555
4) feof() 함수 = 555
5) ferror() 함수 = 558
2. 기타 입출력 함수 = 559
1) Open() 함수 = 559
2) Close() 함수 = 561
3) Creat() 함수 = 561
4) read() 함수 = 562
5) write() 함수 = 562
Theme 20. 라이브러리 = 582
1. 라이브러리 함수의 개요 = 583
2. string.h 라이브러리 함수 = 583
1) strlen() 함수 = 584
2) strcpy() 함수 = 586
3) strcat() 함수 = 587
4) strcmp() 함수 = 589
5) strlwr(), strupr() 함수 = 592
3. math. h 라이브러리 함수 = 594
1) sin(), cos(), tan() 함수 = 595
2) sqrt() 함수 = 597
3) abs() 함수 = 598
4. 자료 변환과 난수 발생 함수(stdib.h) = 600
5. 화면 처리 함수 = 604
1) 텍스트 화면 처리(conio.h) = 604
2) 그래픽 화면 처리(graphics.h) = 606
6. 메모리 관리 함수 (alloc.h) = 611
7. 시간과 날짜 함수(dos.h, time.h) = 615
Theme 21. C-언어로 익히는 알고리즘 = 620
1. 알고리즘 = 620
2. 복잡도 = 621
3. 정렬 알고리즘 = 622
1) Selection Sorting(선택 정렬) 알고리즘 = 623
2) Bubble Sorting(버블 정렬) 알고리즘 = 627
3) Insertion Sorting(삽입 정렬) 알고리즘 = 636
4) Quick Sorting(퀵 정렬) 알고리즘 = 636
5) Merge Sorting(합병 정렬) 알고리즘 = 642
부록 연습문제 풀이 = 650