목차 일부
Chapter 01 C 프로그래밍 소개 ... 11
1.1 컴퓨터 시스템 구조 ... 12
1.2 컴파일러와 링커(Compiler and Linker) ... 14
1.2.1 컴파일러(compiler) ... 14
1.2.2 링커(Linker) ... 15
1.3 프로그램의 구동 ... 16
1.4 C 프로그램의 ...
더보기
목차 전체
Chapter 01 C 프로그래밍 소개 ... 11
1.1 컴퓨터 시스템 구조 ... 12
1.2 컴파일러와 링커(Compiler and Linker) ... 14
1.2.1 컴파일러(compiler) ... 14
1.2.2 링커(Linker) ... 15
1.3 프로그램의 구동 ... 16
1.4 C 프로그램의 구성 요소 ... 17
1.4.1 헤더파일(Header file) ... 17
1.4.2 식별자(Identifiers) ... 18
1.4.3 C 언어 키워드 ... 18
1.4.4 주석문(Comment) ... 19
1.4.5 연산자(operator) ... 19
1.4.6 문자열 ... 20
1.4.7 문장(statement) ... 20
1.4.8 함수(function) ... 21
1.5 C 프로그램 작성과 컴파일 ... 22
실전연습문제 ... 29
학습정리 ... 44
Exercise ... 45
Chapter 02 데이터와 변수 ... 47
2.1 메모리와 데이터 ... 48
2.2 2진수의 표현 ... 50
2.2.1 2진수 ... 50
2.2.2 8진수와 16진수 ... 52
2.2.3 진법 변환 ... 53
2.3 변수와 상수(Variable and Constant) ... 54
2.3.1 문자 상수 ... 54
2.3.2 정수 상수 ... 57
2.3.3 실수 상수 ... 57
2.3.4 문자열 상수 ... 59
2.4 변수, 주소 그리고 포인터 ... 60
2.5 변수의 선언 ... 61
2.6 변수의 초기화 ... 62
2.7 데이터형(Data Type) ... 63
2.8 데이터의 형 변환 ... 65
실전연습문제 ... 67
학습정리 ... 74
Exercise ... 75
Chapter 03 연산자(Operators) ... 77
3.1 연산자의 종류와 우선순위 ... 78
3.2 대입 연산자 ... 79
3.3 축약형 대입 연산자 ... 80
3.4 형 변환 규칙 ... 81
3.4.1 대입문에서 형 변환 ... 81
3.4.2 연산문에서 형 변환 ... 83
3.5 산술 연산자 ... 84
3.6 증가, 감소 연산자 ... 85
3.7 관계, 논리 연산자 ... 87
3.8 조건, 비트 연산자 ... 89
3.8.1 조건 연산자 (? :) ... 89
3.8.2 비트 연산자 ... 90
3.9 포인터 연산자 ... 95
3.10 기본(primary) 연산자들 ... 96
3.10.1 sizeof 연산자 ... 96
3.10.2 콤마(,) 연산자 ... 96
3.10.3 도트(.) 연산자와 화살표(->) 연산자 ... 96
3.10.4 ()와 [] 연산자 ... 96
3.10.5 cast 연산자 ... 97
실전연습문제 ... 99
학습정리 ... 108
Exercise ... 110
Chapter 04 콘솔(Console) 입출력 함수 ... 113
4.1 콘솔 입출력의 개념 ... 114
4.2 printf() 함수 ... 115
4.2.1 단순한 문자열 출력 ... 116
4.2.2 형식지정자 %g와 %G ... 117
4.2.3 형식지정자 %n ... 118
4.2.4 형식지정자에서 출력 폭 지정과 출력 정밀도 지정 ... 119
4.3 scanf() 함수 ... 121
4.3.1 숫자 입력하기 ... 122
4.3.2 문자 입력하기 ... 124
4.3.3 문자열 입력하기 ... 126
4.4 표준 문자 입출력 함수 ... 127
4.4.1 getchar() 함수 ... 127
4.4.2 getchar() 함수의 변형들 ... 131
4.4.3 putchar() 함수 ... 132
4.5 표준 문자열 입출력 함수 ... 133
실전연습문제 ... 136
학습정리 ... 143
Exercise ... 144
Chapter 05 제어문 ... 145
5.1 제어문의 개요 ... 146
5.1.1 제어문의 개념 ... 146
5.1.2 제어문의 효력 범위 ... 147
5.2 조건문 ... 148
5.2.1 IF 문 ... 148
5.2.2 IF-ELSE 문 ... 150
5.2.3 다중 IF 문 ... 152
5.2.4 switch-case 문 ... 153
5.3 반복문 ... 155
5.3.1 for 문 ... 155
5.3.2 while 문 ... 160
5.3.3 do-while 문 ... 162
5.4 분기문 ... 163
5.4.1 return 문 ... 164
5.4.2 goto 문 ... 164
5.4.3 break 문 ... 165
5.4.4 continue 문 ... 166
실전연습문제 ... 167
학습정리 ... 173
Exercise ... 174
Chapter 06 디버깅 ... 177
6.1 오류 및 경고의 원인을 파악하는 방법 ... 178
6.1.1 Output 창의 출력 메시지로 확인하는 방법 ... 178
6.1.2 오류 및 경고 메시지의 자세한 의미를 확인하는 방법 ... 181
6.2 프로그램 코드 추적 ... 183
6.2.1 Visual C++에서 제공하는 추적기능 ... 183
6.2.2 추적기능 사용법 ... 184
실전연습문제 ... 190
학습정리 ... 193
Exercise ... 194
Chapter 07 함수 ... 195
7.1 함수의 표현과 의미 ... 196
7.2 함수의 정의와 선언 ... 199
7.3 함수의 호출과 인수의 전달방법 ... 201
7.3.1 함수의 호출과 함수 결과의 반환 ... 201
7.3.2 값에 의한 함수 호출(Call by Value) ... 203
7 3.3 참조에 의한 함수 호출(Call by Reference) ... 205
7.3.4 함수 호출시 배열의 전달 ... 206
7.4 main() 함수의 인수들 ... 208
7.5 재귀 함수 ... 211
실전연습문제 ... 215
학습정리 ... 225
Exercise ... 227
Chapter 08 기억클래스 ... 229
8.1 정의와 선언의 구분 ... 230
8.1.1 선언(Declaration) ... 230
8.1.2 정의(Definition) ... 230
8.2 프로세스 메모리 맵 구조 ... 231
8.3 기억 클래스의 구분 ... 233
8.3.1 자동 변수와 외부 변수의 구분 ... 233
8.3.2 지역 변수, 전역 변수의 구분 ... 234
8.3.3 정적 변수 ... 235
8.3.4 정적 함수 ... 237
8.3.5 외부 변수 ... 238
8.3.6 레지스터 변수 ... 239
8.4 모듈 프로그래밍 따라하기 ... 240
실전연습문제 ... 246
학습정리 ... 252
Exercise ... 254
Chapter 09 배열과 문자열 ... 255
9.1 배열의 개념 ... 256
9.2 배열의 선언 ... 257
9.3 배열의 메모리 구조 ... 258
9.4 배열 초기화 방법 ... 261
9.4.1 배열 선언과 함께 직접 데이터를 입력하는 방법 ... 261
9.4.2 for 문을 이용한 방법 ... 263
9.4.3 배열의 크기를 명시하지 않고 초기화하는 방법 ... 263
9.4.4 라이브러리 함수를 이용하는 방법 ... 264
9.5 다차원 배열 ... 266
9.5.1 다차원 배열의 선언과 의미 ... 267
9.5.2 다차원 배열의 초기화 방법 ... 270
9.6 문자열 ... 275
9.6.1 문자 상수와 문자열 상수 ... 275
9.6.2 문자열 처리 방법 ... 276
9.6.3 문자 배열의 초기화 방법 ... 281
9.6.4 문자열의 배열 ... 284
실전연습문제 ... 286
학습정리 ... 292
Exercise ... 294
Chapter 10 포인터 ... 295
10.1 포인터의 선언과 의미 ... 296
10.2 포인터 초기화 ... 300
10.3 포인터의 연산 ... 303
10.4 다중 간접 참조 ... 305
10.5 포인터와 배열 ... 308
10.5.1 1 차원 배열과 포인터 ... 308
10.5.2 포인터의 배열 ... 310
10.5.3 2차원 배열과 배열 포인터 ... 311
10.6 함수 포인터 ... 315
실전연습문제 ... 317
학습정리 ... 323
Exercise ... 324
Chapter 11 구조체와 공용체 ... 327
11.1 구조체 ... 328
11.1.1 구조체의 정의 ... 328
11.1.2 구조체 변수의 선언 ... 329
11.1.3 구조체의 초기화 ... 330
11.1.4 중첩된 구조체 ... 330
11.1.5 구조체의 멤버 참조 ... 331
11.1.6 구조체 배열 ... 332
11.1.7 구조체 포인터 ... 334
11.1.8 구조체와 함수 ... 337
11.2 공용체 ... 339
11.3 열거형 ... 341
11.4 typedef와 비트 필드 ... 342
11.4.1 typedef ... 342
11.4.2 비트 필드 ... 345
실전연습문제 ... 347
학습정리 ... 353
Exercise ... 354
Chapter 12 전처리기(Preprocessor) ... 355
12.1 include ... 356
12.2 define ... 357
12.2.1 인수를 포함하지 않는 매크로 정의 ... 357
12.2.2 인수를 포함하는 매크로 정의 ... 359
12.2.3 괄호를 사용하지 않아서 문제를 일으키는 매크로 정의 ... 359
12.2.4 괄호를 사용한 매크로 정의 ... 360
12.3 error ... 361
12.4 if, else, elif, endif ... 362
12.5 ifdef, ifndef ... 363
12.6 undef ... 364
12.7 line ... 365
12.8 예약된 매크로명 ... 367
12.9 와 연산자 ... 367
실전연습문제 ... 369
학습정리 ... 374
Exercise ... 376
Chapter 13 표준 라이브러리 ... 377
13.1 문자 및 문자열 처리 함수 ... 378
13.1.1 strlen() 함수 ... 378
13.1.2 strcmp() 함수와 strncmp() 함수 ... 379
13.1.3 strcpy() 함수와 strncpy() 함수 ... 383
13.1.4 strchr() 함수와 strstr() 함수 ... 386
13.1.5 문자 함수 ... 388
13.2 메모리 관리 함수 ... 390
13.2.1 malloc() 함수, calloc() 함수 ... 390
13.2.2 free() 함수 ... 390
13.3 atoi(), atol() 함수와 itoa(), ltoa() 함수 ... 393
13.4 수학 및 시간 관련 함수 ... 395
13.4.1 수학 함수 ... 395
13.4.2 시간 함수 ... 398
실전연습문제 ... 401
학습정리 ... 406
Exercise ... 407
Chapter 14 파일 입출력 ... 409
14.1 스트림의 개념 ... 410
14.2 상위 수준에서 파일 열기와 닫기 ... 411
14.2.1 파일 열기 ... 411
14.2.2 파일 닫기 ... 413
14.3 상위 수준에서 파일 입출력 처리 ... 416
14.3.1 단일 문자 입출력 ... 416
14.3.2 문자열 입출력 ... 421
14.3.3 서식지정 입출력 ... 422
14.3.4 파일 랜덤 접근 ... 425
14.4 저 수준에서 파일 입출력 처리 ... 427
실전연습문제 ... 431
학습정리 ... 440
Exercise ... 441
더보기 닫기