목차
제1장 C 언어의 개요
1. C 언어란 = 11
2. C 언어의 특징 = 12
3. 컴퓨터의 기본 구조 = 13
4. C 프로그램의 컴파일과 실행 = 14
5. C 언어의 구조 = 17
5.1 메인 함수 = 17
5.2 주석문(Comment) = 18
5.3 변수(Variable)와 명칭(Name : identifier) = 20
5.4 선언문 = 21
5.5 상수(Constant) = 22
5.6 변환 문자 = 24
5.7 scanf( ) 함수 = 25
5.8 printf( ) 함수 = 25
6. 용어 정리 = 27
7. C 언어의 기초 프로그래밍 = 29
연습문제 = 35
제2장 데이터형과 형 변환
1. 데이터형과 형 변환의 개요 = 41
2. 기본 자료형과 크기 = 41
2.1 컴퓨터 내부의 자료 표현 = 42
2.2 기본 자료형의 크기와 범위 = 44
3. 선언, 수식, 대입 = 46
4. 수의 표현 = 49
4.1 음수 = 49
4.2 16진수와 8진수 = 50
4.3 문자 상수 = 52
4.4 자료 형태 = 54
5. 형 변환 = 67
5.1 자료 형태 변환 = 69
5.2 변수의 선언 = 70
연습문제 = 76
제3장 논리회로와 데이터
1. 디지털과 컴퓨터 = 81
2. 논리 게이트 = 83
3. 불 대수 = 87
4. 수식의 보수 = 95
5. 맵의 간소화 = 99
5.1 논리합의 논리곱 = 105
5.2 Don't Care 조건 = 107
6. 데이터의 종류 = 111
6.1 진법 = 112
6.2 10진수의 표시 = 119
6.3 영문 숫자의 표시 = 121
7. 보수 = 122
7.1 (r-1)의 보수 = 122
7.2 r의 보수 = 123
7.3 기호 없는 숫자의 뺄셈 = 123
8. 고정 소수점 표현 = 125
8.1 정수 표현 = 126
8.2 산술기호 = 126
8.3 산술 감산 = 127
8.4 오버플로 = 128
8.5 10진 고정 소수점 표현 = 129
9. 부동 소수점 표현 = 130
10. 다른 2진수 코드 = 133
10.1 Gray 코드 = 133
10.2 기타 10진 코드 = 133
10.3 기타 영자숫자 코드 = 135
11. 에러 검출 코드 = 136
연습문제 = 140
제4장 연산자
1. 연산자 = 145
2. 산술 연산자(Arithmetic operator) = 147
2.1 이항 연산자(Binary operator) = 147
2.2 단항 연산자(Unary operator) : 증감 연산자 = 147
2.3 할당 연산자(Assignment operator) = 150
3. 논리 연산자(Logical operator) = 157
4. 관계 연산자(Relational operator) = 159
5. 비트 연산자 = 161
5.1 비트 연산자란 = 161
5.2 비트 연산자의 종류 = 161
6. 기타 연산자 = 173
6.1 캐스터 연산자 = 173
6.2 조건 연산자 = 173
6.3 나열 연산자 = 174
6.4 연산 우선 처리 = 174
연습문제 = 176
제5장 선택문과 반복문
1. if … else 문 = 184
2. switch 문 = 198
3. 반복문 = 204
4. for 문 = 205
5. while 문 = 225
5.1 while 문 속의 break 문 = 228
5.2 do … while 문 = 234
6. break 문 = 236
7. continue 문 = 241
8. goto 문 = 245
9. return 문 = 246
10. 함수 호출문 = 246
연습문제 = 249
제6장 배열과 포인터
1. 배열 = 259
2. 배열의 초기화 = 261
2.1 정수배열의 초기화 = 265
2.2 문자배열의 초기화 = 271
2.3 다차원 배열 = 280
3. 문자열 배열 = 285
4. 동적 할당 = 290
5. 병렬 처리 = 292
6. 벡터 처리 = 293
6.1 벡터 연산 = 294
6.2 행렬 곱셈 = 294
7. 포인터 = 295
8. 포인터의 기본 개념과 사용방법 = 299
8.1 포인터의 선언 형식 = 299
8.2 포인터의 기본 연산 = 300
8.3 포인터의 용도 = 312
9. 배열과 포인터 = 315
9.1 배열과 포인터의 관계 = 315
9.2 포인터의 주소 계산 = 321
10. 포인터 배열과 이차원 배열의 차이점 = 326
10.1 포인터 배열 = 326
10.2 함수의 인자 = 327
11. 스트링과 포인터 = 329
11.1 스트링이란 = 329
11.2 스트링 인자 = 330
연습문제 = 335
제7장 구조체와 공용체
1. 구조체(structure)란 = 339
1.1 구조체의 선언 = 340
1.2 구조체 변수의 선언 = 341
2. 구조체 멤버의 참조 = 342
2.1 구조체 변수 참조일 때 = 342
2.2 구조체의 중첩된 참조일 때 =344
2.3 구조체 구성원에 대한 접근 = 348
2.4 포인터가 사용된 구조체 구성원의 접근 = 349
2.5 함수에서의 구조체 처리 = 351
2.6 구조체 변수의 초기화 = 353
3. 구조체의 배열 = 354
4. 구조체의 포인터 = 363
5. 구조체 함수의 전달 = 369
6. 동적 구조 할당 = 373
7. 비트 필드 = 376
8. 시간 구조체 = 380
9. 리스트 구조 = 383
10. 공용체(Union) = 385
11. 형 정의(Type define) = 399
연습문제 = 401
제8장 함수와 변수
1. 함수(Function)란 = 409
1.1 함수의 특징 = 409
1.2 함수의 형식 = 410
2. 정의 함수의 구조 = 412
2.1 정의 함수 = 413
2.2 main( ) 함수 = 414
3. 매개변수 통과 = 422
4. 함수의 선언 = 427
4.1 되돌림값을 가지는 return 문 = 428
4.2 되돌림값을 가지지 않는 return 문 = 430
5. 함수의 호출 = 434
6. 함수의 인수 = 437
6.1 인수의 전달방법(Call by reference) = 437
6.2 배열을 인수로 하는 함수 호출 = 441
6.3 순환 호출 = 443
7. main( )의 매개변수 arge와 argv = 446
8. 변수의 기억 클래스 = 450
8.1 자동변수 = 450
8.2 레지스터 변수 = 452
8.3 정적변수(Static variable) = 455
8.4 외부변수(External variable) = 457
9. 변수의 유효 범위 = 460
10. 변수의 초기화 = 463
10.1 단순변수 = 463
10.2 1차원 배열 = 463
10.3 2차원 배열 = 463
11. 함수에 대한 배열 통과 = 464
연습문제 = 471
제9장 문자열 함수
1. 문자열이란 = 477
1.1 문자열 상수 = 477
1.2 문자열의 길이 = 479
2. 문자열 할당 = 482
3. 문자열의 배열과 포인터 = 485
4. 문자열 입력 함수 = 487
4.1 gets( ) 함수 = 487
4.2 scanf( ) 함수 = 488
5. 문자열 출력 함수 = 490
5.1 puts( ) 함수 = 490
5.2 printf( ) 함수 = 491
6. 문자열 처리 함수 = 493
6.1 strcpy( ) 함수 = 493
6.2 strcpy( ) 함수 = 495
6.3 strcmp( ) 함수 = 497
6.4 strlen( ) 함수 = 498
7. 문자열 변환 함수 = 501
7.1 atof( ) 함수 = 501
7.2 atoi( ) 함수 = 501
7.3 atol( ) 함수 = 501
7.4 ecvt( ) 와 fcvt( ) 함수 = 502
7.5 gcvt( ) 함수 = 502
8. 문자열 발견 = 503
8.1 strtok( ) 함수 = 503
8.2 strspn( ) 함수 = 503
8.3 strchr( ) 함수 = 503
8.4 strbrk( ) 함수 = 504
9. 프로그램 인수 = 504
10. 기타함수 = 505
10.1 exit( ) 함수 = 505
10.2 _exit( ) 함수 = 505
10.3 setjmp / longjmp 함수 = 506
10.4 system 함수 = 506
10.5 malloc 함수 = 506
10.6 calloc 함수 = 507
10.7 realloc 함수 = 507
10.8 free 함수 = 507
10.9 brk 함수 = 508
10.10 sbrk 함수 = 508
10.11 getchar( ) 함수 = 508
10.12 putchar( ) 함수 = 509
11. 문자열 배열의 설정 = 510
연습문제 = 513
제10장 표준 입 / 출력 문의 개요
1. 표준출력(printf( ), puts( ), putchar( )) = 520
1.1 특수 제어문자 = 522
1.2 변환 제어문자 = 524
2. 표준 입력(scanf( ), gets( ), get char( )) = 527
3. 파일 열기(fopen( )) = 536
4. 파일 닫기(fclose( )) = 539
5. 파일에 문서 인쇄(fprintf( )) = 541
6. 파일로부터 문자 읽기(fscanf( )) = 542
7. EOF 찾기(feof( )) = 543
8. 파일로부터 문자열 가져오기(fgets( )) = 544
9. 파일로부터 단일 문자 가져오기(fgetc( )) = 546
10. 문자열을 파일에 넣기(fputs( )) = 547
11. 단일 문자를 파일에 넣기(fputc( )) = 548
12. 파일로부터 2진 자료 읽기(fread( )) = 549
13. 파일에 2진 자료 쓰기(fwrite( )) = 552
14. 파일내 지정 위치로 set(fseek( )) = 554
15. 현재 파일의 위치를 파악(ftell( )) = 556
16. 파일 되감기(rewind( )) = 556
17. 저차원 파일 입 / 출력 = 557
17.1 파일의 열기(open( )) = 557
17.2 파일의 닫기(close( )) = 559
17.3 파일의 생성(creat( )) = 560
17.4 파일의 삭제(unlink( )) = 561
17.5 파일의 읽기(read( )) = 562
17.6 파일의 쓰기(write( )) = 563
17.7 불규칙처리(lseek( )) = 565
17.8 stdin( ), stdout( ), stderr( ) = 574
18. 명령 라인 인수 = 582
연습문제 = 584
제11장 프리프로세서
1. 프리프로세서란 = 593
2. 함수 매크로를 정의하기 위한 선행처리기의 사용 = 595
3. 매크로 정의 = 607
4. 파일 포함 = 609
5. 프리프로세서 명령어 = 613
5.1 #undef = 613
5.2 #if, #else, #elif, #endif = 614
5.3 #ifdef, #ifdef = 616
5.4 #line = 617
5.5 #progra = 617
5.6 #error = 617
연습문제 = 626
제12장 그래픽 함수
1. 그래픽 함수 = 633
2. 기본 그래픽 루틴 = 639
2.1 그래픽 닫기 = 639
2.2 그래픽 초기화 = 639
2.3 픽셀 그리기 = 641
2.4 선 그리기 = 642
2.5 사각형 그리기 = 643
2.6 문자 표시 = 645
2.7 원 그리기 = 646
2.8 비트맵 그리기 = 647
연습문제 = 651