목차
PART 1 기초 다지기
   CHAPTER 1 C 프로그래밍 맛보기
      1. 터보 C 구동과 예제 실행하기 ... 24
        1.1 터보 C 통합 환경 실행하기 ... 24
        터보 C 2.0의 설치 ... 24
        1.2 예제 소스 리스트 입력하기 ... 26
        연습용 예제 디렉토리를 미리 만들자 ... 27
        1.3 소스 리스트 컴파일 ... 28
        에러 메시지 창에서 편집기 창으로 이동하려면 〈Alt-E〉키를 누른다 ... 28
        1.4 예제 실행하기 ... 28
        1.5 소스 파일에 저장하기 ... 29
        1.6 소스 파일을 편집기로 읽어오기 ... 29
      2. C 언어의 특징 살펴보기 ... 30
        2.1 사라진 줄 번호와 GOTO 문장 ... 31
        2.2 /* */사이에 기입하는 설명문 ... 32
        2.3 영문 대소문자의 구분 ... 32
        2.4 컴파일러는 공백 문자를 무시 ... 33
        2.5 한 문장의 끝 세미콜론(;)과 코드 블럭 ... 33
        2.6 대입 연산은 =을 사용 ... 35
        2.7 식별어(Identifier) 이름 작성법 ... 35
        예약어(Keywords)는 식별어 이름으로 사용하지 못한다 ... 36
        2.8 연산자와 피연산자의 모임인 수식 ... 36
        2.9 데이터의 특성을 나타내는 데이터형(Data Type) ... 37
        데이터형이 존재하는 이유 ... 38
        2.10 데이터를 다루는 변수 ... 38
        2.11 메모리 번지를 다루는 포인터 ... 39
        2.12 고정된 값은 상수 ... 40
        2.13 함수로 구성되는 프로그램 ... 41
        2.14 main() 함수와 사용자 정의 함수 ... 43
        2.15 헤더 파일(Header Files)은 첩보원 ... 45
        터보 C의 include 디렉토리에 있는 헤더 파일 목록 ... 45
      3. 시스템 메모리 기초 ... 47
        3.1 진수 표현 ... 47
        3.2 비트·바이트·워드 ... 51
        1KB=1,024bytes ... 52
        3.3 메모리 번지 ... 52
        3.4 백워드(Back-Word) 저장 방식 ... 56
PART 2 기초 프로그래밍 과정
   CHAPTER 2 데이터 사용하기(자료형과 상수)
      1. 데이터형 ... 62
        1.1 4개의 기본형과 수식어 ... 62
        1.2 문자형(Character Type) ... 65
        1.3 정수형(Integral Type) ... 66
        2바이트는 short 형으로 ... 66
        목적 수행에 맞는 충분한 크기의 데이터형 지정 ... 68
        1.4 부동형(Floating Type) ... 68
        산술 프로세서 에뮬레이터 ... 69
      2. 상수(Constant) ... 70
        2.1 정수 상수(integer constant) ... 70
        2.2 부동 상수(float constant) ... 72
        2.3 문자 상수(character constant) ... 73
        2.4 문자열 상수(string constant) ... 77
        문자열을 숫자로, 숫자를 문자열로 변환하기 ... 81
        2.5 매크로 상수(define) ... 81
        2.6 열거 상수(enum constant) ... 82
      3. 변수의 정의 선언과 초기화 ... 84
        3.1 변수 이름 ... 85
        터보 C 추가 예약어 ... 85
        3.2 변수 선언과 데이터 넣기 ... 85
        3.3 변수의 접근 영역 ... 86
        auto 지정자 ... 87
        3.4 문자열의 정의 선언과 사용 ... 87
      4. 변수의 특별한 지시어 ... 92
        4.1 register 지시어 ... 92
        터보 C의 레지스터 변수 예약어 ... 93
        4.2 const와 volatile 지시어 ... 93
        시스템 메모리 정보를 안전하게 읽기 ... 96
   CHAPTER 3 연산자와 형 변환
      1. 연산자와 결합 순서 ... 102
        1.1 연산자와 피연산자 ... 102
        1.2 연산자 우선 순위와 우선 방향 ... 104
      2. 연산자의 종류 ... 106
        2.1 부호 연산자와 산술 연산자 ... 106
        2.2 관계 연산자와 상등 연산자 ... 108
        연산 순위 ... 109
        2.3 비트 연산자 ... 110
        특정 비트값 알아내기 ... 113
        토글(Toggle) ... 114
        CPU의 곱하기와 나누기 명령 ... 115
        2.4 논리 연산자 ... 115
        2.5 증가 연산자(++)와 감소 연산자(--) ... 117
        2.6 쉼표 연산자(,) ... 119
        2.7 대입 연산자(=)와 복합 대입 연산자(-=, +=, ...) ... 120
        2.8 조건 연산자(?:) ... 121
        2.9 메모리 크기 연산자(sizeof) ... 122
        2.10 번지 연산자(&)와 간접 지정 연산자(*) ... 124
      3. 형 변환(Type Cast) ... 124
   CHAPTER 4 흐름 처리와 선행처리기
      1. 흐름 제어 문법 ... 128
        1.1 조건 판단 처리를 위한 if 문 ... 128
score >= 60 && score < 70 ... 130
        1.2 다중 선택을 지원하는 switch 문 ... 132
        1.3 조건 순환을 지원하는 while 문과 do...while 문 ... 134
        1.4 반복 순환을 지원하는 for 문 ... 137
        while 문으로 구현한 for 문 ... 138
        화면 출력 내용을 파일로 저장하기 ... 139
        1.5 goto 문(점프문) ... 129
      2. 선행처리기(Preprocessor) ... 141
        2.1 선행처리문 ... 141
        2.2 define 문과 undef 문 ... 143
        2.3 매크로 함수(파라미터를 가진 define) ... 144
        매크로 함수의 장단점 ... 145
        2.4 매크로 함수의 , 지시어 ... 146
        2.5 include 문 ... 147
        사용자 헤더 파일의 활용 방법 ... 148
        2.6 ifdef와 if 문 관련 지시어 ... 148
        2.7 pragma 문 ... 151
PART 3 고급 데이터형과 함수의 사용
   CHAPTER 5 배열과 포인터의 사용
      1. 배열과 포인터 ... 156
        1.1 배열 ... 156
        배열 요소의 번호가 0번부터 시작하는 이유 ... 157
        고전적인 C 언어의 자동 배열 초기화 ... 159
        1.2 문자열은 문자 배열의 사촌 ... 159
        1.3 포인터(Pointer) ... 160
        1.4 포인터의 포인터(다중 포인터) ... 166
      2. 다차원 배열과 다차원 배열의 포인터 ... 167
        2.1 2차원 배열 ... 167
        2.2 다차원 배열 ... 169
        2.3 다차원 배열의 포인터 ... 174
      3. 포인터 배열 ... 176
      4. near·far·huge 포인터 지시어 ... 178
   CHAPTER 6 복합 데이터형의 사용(구조체와 공용체)
      1. 구조체와 비트 필트 ... 184
        1.1 구조체 선언 ... 184
        1.2 구조체의 초기화 ... 187
        1.3 구조체 포인터 ... 190
        1.4 비트 필드(Bit-Fields) ... 190
        비트 필드 구조체 메모리 저장 단위 ... 193
      2. 공용체 ... 194
        2.1 공용체 선언 ... 194
        멤버에 저장한 값을 다른 멤버로 읽어내면? ... 195
        2.2 구조체를 이용한 공용체 활용 ... 195
        공용체를 이용하지 않고 두 개 바이트값을 워드값으로 저장하기 ... 196
        비트 필드를 이용한 한글 코드 분석 ... 198
      3. 사용자 데이터형 정의 선언(typedef) ... 199
   CHAPTER 7 함수의 상용[함수와 매크로 함수]
      1. 함수(Function) ... 204
        1.1 함수 구조와 함수 호출(Call) ... 204
        고전적인 매개 변수 리스트 작성법 ... 206
        다른 함수에서 main() 함수를 호출할 수 있을까? ... 208
        return 문에 합을 구하는 문장을 바로 기입하기 ... 209
        C와 파스칼 함수 호출 방식 ... 211
        1.2 main() 함수와 사용자 정의 함수 ... 212
        1.3 매개 변수의 전달 방식 ... 213
        1.4 함수의 종료 ... 221
        1.5 함수 원형과 함수 포인터 ... 222
        라이브러리 파일 ... 224
        1.6 되부름 함수(Recursion Function ; 재귀 호출 함수) ... 225
        1.7 main() 함수의 매개 변수 받기 ... 232
      2. 함수 관련 지시어 ... 235
        2.1 인터럽트형(interrupt) 벡터 함수 ... 235
        2.2 cdecl과 pascal ... 236
        터보 C에서 호출 옵션을 Pascal로 지정한 후 main() 에러가 발생하면 ... 236
        2.3 near·far·huge 함수 ... 237
      3. 기억 부류와 접근 영역 ... 237
        3.1 접근 영역(Scope) ... 238
        가시성 ... 242
        3.2 기억 부류(Class) ... 242
static을 제거하면 왜 경고하지 않는가 ... 244
        3.3 참조 선언과 정의 선언 ... 245
PART 4 입출력 프로그래밍
   CHAPTER 8 동적 메모리와 화면 입출력
      1. 동적 메모리 할당 ... 250
        far 형 동적 할당 ... 254
      2. 화면 입출력 ... 255
        2.1 입출력 함수 ... 256
        2.2 printf(), puts(), putchar() 함수를 이용한 출력 ... 257
printf()와 scanf() 함수는 초대형 함수이다 ... 258
        2.3 scanf(), gets(), getchar() 함수를 이용한 입력 ... 267
        2.4 문자열 처리 함수 ... 271
        2.5 sprintf(), sscanf()를 이용한 문자열 버퍼 입출력 ... 279
        2.6 터보 C의 콘솔형 화면 입출력 함수 ... 281
   CHAPTER 9 파일 자료 입출력
      1. 파일 기초 ... 294
        1.1 저수준과 고수준 입출력 ... 294
        1.2 텍스트와 이진 모드 ... 295
        이진 파일 데이터에서 문자열 메시지 출력하기 ... 296
        1.3 표준 입출력 장치 ... 297
        필터와 파이프라인 기능과 관련하여 ... 298
      2. 고수준 방식으로 파일 다루기 ... 298
        2.1 파일 열고 닫기 ... 299
        FILE 구조체 ... 301
        2.2 문자(바이트) 단위 입출력 ... 303
        2.3 데이터 블록 단위 입출력 ... 307
        2.4 파일 작업 위치 ... 308
        순차 파일 입출력과 랜덤 파일 입출력 ... 309
        2.5 고수준 형식화 입출력 ... 311
        2.6 알아두면 좋은 파일 관련 함수 ... 317
      3. 저수준 방식으로 파일 다루기 ... 321
        3.1 creat() 함수로 새 파일 만들기 ... 322
        생성할 파일이 이미 존재한다면? ... 323
        3.2 파일 열고 닫기 ... 324
        3.3 데이터 블록 입출력 함수 ... 329
      4. 도스용 파일 입출력 함수 ... 331
PART 5 응용 프로그래밍
   CHAPTER 10 데이터 정렬과 탐색
      1. 정렬(Sort) ... 338
        1.1 정렬의 이해와 qsort() 함수 활용 ... 338
        1.2 버블 정렬 ... 341
        1.3 선택 정렬 ... 344
        재귀 호출 ... 348
      2. 순차와 이진 검색 ... 352
        2.1 검색 원리와 구현 ... 352
        2.2 터보 C의 검색 함수 활용하기 ... 356
   CHAPTER 11 자료 구조의 이해
      1. 스택과 큐 ... 362
        1.1 스택(Stack) 구조 ... 362
        1.2 큐(Queue) 구조 ... 365
      2. 링크드 리스트 ... 369
        비효율적인 배열 항목의 삽입 ... 369
        2.1 단일 링크드 리스트 ... 369
        malloc() 함수 ... 370
        2.2 이중 링크드 리스트 ... 371
        트리(Tree) 구조의 이해 ... 380
   CHAPTER 12 응용 프로그래밍 개발을 위하여
      1. 구조적 프로그래밍과 모듈화 ... 384
      2. 프로그램을 만드는 단계 ... 384
        2.1 분석과 설계 ... 384
        2.2 프로그램 디자인과 작성 ... 385
        파일 이름 작성법 ... 386
        2.3 컴파일과 링크(실행 파일 만들기) ... 386
        컴파일러 이름과 컴파일 방법 ... 386
        링커 이름 ... 387
        디버그 ... 388
        2.4 프로그램 실행과 디버그(오류 수정) ... 388
      3. 프로그램과 함수 설명문 ... 389
      4. 코드 리스트 작성 ... 391
      5. 이름 만들기(식별어) ... 392
      6. 디버그(Debug; 오류 수정) ... 395
        1.1 프로그램 외적 요인(기반이 되는 시스템 문제) ... 395
        1.2 프로그램 내적 요인 ... 395
      7. CPU의 레지스터(Register) ... 397
      8. 프로그램 메모리 모델 ... 399
        왜 최대 1MB인가? ... 401
        9. 다중 파일을 이용한 프로젝트 수행 ... 401
      10. 이용자를 위한 UI 프로그래밍과 오류 처리 ... 402
      11. 기능 명령 수행을 위한 메뉴 시스템 ... 405
권말부록 : C Power Kit
   1. C 언어의 주요 함수 설명 ... 410
   2. 매크로 정의 참조 ... 478
   3. 터보 C 관련 오류 메시지 ... 479
   4. 터보 C 2.01 옵션 설정 ... 495
   5. 터보 C 2.01 메뉴 지름 키(hot-key) ... 499
   6. IBM-PC 확장 키 ... 501
   7. 아스키(ASCII)와 EBCDIC 코드표 ... 504
   8. gcc와 Visual C++의 C 컴파일러 사용 ... 512
      1. 리눅스용 C 언어 컴파일러 gcc ... 512
      2. 마이크로소프트 윈도우 사용자를 위한 Visual C++ ... 516
   찾아보기 ... 518
닫기