목차 일부
제1장 C/C++언어의 개요
1.1 C언어의 역사 ... 16
1.2 C언어의 개요 ... 17
1.2.1 프로그래밍 언어의 발전과정 ... 17
1.2.2 C언어의 특징 ... 18
1.2.3 C를 사용하는 이유 ... 19
1.3 절차지향 언어와 객체지향 언어 ... 21
1.3.1 절차지향 언...
더보기
목차 전체
제1장 C/C++언어의 개요
1.1 C언어의 역사 ... 16
1.2 C언어의 개요 ... 17
1.2.1 프로그래밍 언어의 발전과정 ... 17
1.2.2 C언어의 특징 ... 18
1.2.3 C를 사용하는 이유 ... 19
1.3 절차지향 언어와 객체지향 언어 ... 21
1.3.1 절차지향 언어 ... 21
1.3.2 객체지향 언어 ... 22
1.3.3 캡슐화 ... 23
1.4 C++언어의 개발 환경 ... 24
1.4.1 C++언어는 어떻게 발전해 왔는가? ... 24
1.4.2 C++언어의 특징 ... 24
1.4.3 C++언어의 기능 ... 25
1.4.4 C++와 C와의 관계 ... 26
1.4.5 C++언어 C의 몇 가지 차이점 ... 26
1.5 프로그램의 구조 ... 27
1.5.1 프로그램 순서도 ... 27
1.5.2 C/C++프로그램의 구성 요소 ... 28
1.5.3 헤더 파일 ... 30
1.5.4 사용자 정의 헤더 파일 ... 31
1.5.5 원시 파일 ... 31
1.6 C++언어의 작성과 컴파일 ... 31
1.6.1 명령 라인 방식 ... 32
1.6.2 통합 개발 환경 ... 33
1.6.3 프로그램 작성 규칙 ... 33
1.6.4 C++언어의 대표적인 특성 ... 34
1.6.5 C++컴파일러의 종류 ... 34
연습문제 ... 36
제2장 자료형
2.1 자료형의 종류 ... 38
2.2 변수 ... 40
2.2.1 변수의 선언 ... 40
2.2.2 변수명 작성 원리 ... 40
2.2.3 변수의 종류 ... 41
2.3 상수 ... 46
2.3.1 정수형 상수 ... 47
2.3.2 실수형 상수 ... 47
2.3.3 문자형 상수 ... 49
2.3.4 문자열형 상수 ... 51
2.3.5 나열형 상수 ... 53
2.4 typedef ... 54
연습문제 ... 56
제3장 C/C++의 입출력
3.1 C언어의 표준 입출력 함수 ... 62
3.1.1 C언어의 출력 함수 ... 63
3.1.2 C언어의 입력 함수 ... 67
3.1.3 변환 문자의 종류 ... 75
3.2 C++에서의 입출력 방법 ... 78
3.2.1 C와 C++ 입출력 비교 ... 78
3.2.2 C++ 형식 입출력 ... 83
3.2.3 문자(열) 입력 방법 ... 90
연습문제 ... 95
제4장 연산자
4.1 최우선 연산자 ... 101
4.1.1 [] 연산자 ... 101
4.1.2 () 연산자 ... 102
4.1.3 .연산자 ... 102
4.1.4 -> 연산자 ... 103
4.2 산술 연산자 ... 104
4.3 증감 연산자 ... 106
4.4 단항 연산자 ... 108
4.4.1 ! 연산자 ... 108
4.4.2 ∼ 연산자 ... 111
4.4.3 & 연산자 ... 111
4.4.4 sizeof() 연산자 ... 112
4.5 대입 연산자 ... 113
4.6 관계 연산자 ... 115
4.7 논리 연산자 ... 116
4.7.1 비트 논리 연산자 ... 116
4.7.2 일반 논리 연산자 ... 119
4.8 형변환 규칙과 캐스트 연산자 ... 120
4.8.1 자동 형변환 ... 120
4.8.2 형변환 연산자(캐스트 연산자) ... 121
4.9 삼항 연산자 ... 122
4.10 비트 이동 연산자 ... 123
4.11 콤마 연산자 ... 125
4.12 나열형의 정의 ... 126
연습문제 ... 128
제5장 제어문
5.1 조건문 ... 134
5.1.1 단일 if문 ... 135
5.1.2 if-else문 ... 135
5.1.3 다중 if문 ... 141
5.1.4 switch-case 문 ... 143
5.2 반복문 ... 146
5.2.1 while문 ... 147
5.2.2 do-while문 ... 151
5.2.3 for문 ... 152
5.3 break문과 continue문 ... 158
5.3.1 break문 ... 158
5.3.2 continue문 ... 159
5.4 goto문 ... 162
연습문제 ... 163
제6장 함수
6.1 함수의 구조 ... 174
6.1.1 함수의 선언 ... 176
6.1.2 함수의 원형이란? ... 176
6.1.3 void main()의 의미 ... 177
6.1.4 함수명의 의미 ... 178
6.1.5 함수의 인수와 매개변수 ... 178
6.1.6 함수의 반환 ... 179
6.1.7 함수의 정의 ... 180
6.1.8 함수의 인수와 반환 값 관점에서 본 4가지 종류 ... 180
6.1.9 함수의 작동 원리 ... 183
6.2 함수와 함수간의 인수 전달 방식 ... 186
6.2.1 call by value(값에 의한 전달 방식) ... 186
6.2.2 call by Pointer(주소에 의한 전달 방식) ... 187
6.2.3 call by reference(참조에 의한 전달 방식) ... 189
6.3 선행처리기와 inline 함수 ... 192
6.3.1 define(매크로 기능) ... 192
6.3.2 include(파일의 포함) ... 194
6.3.3 undef 〈매크로명〉 ... 194
6.3.4 그 외의 선행처리기 ... 195
6.3.5 일반 함수와 매크로 함수의 차이점 ... 196
6.4 함수의 종류 ... 196
6.4.1 일반 함수 ... 196
6.4.2 매크로 함수 ... 197
6.4.3 확장 함수(inline 함수) ... 199
6.4.4 재귀 함수 ... 201
6.5 기억장소의 종류 ... 204
6.5.1 변수의 사용 범위에 따라 ... 205
6.5.2 변수가 생성되는 장소에 따른 변수의 분류 ... 208
연습문제 ... 214
제7장 배열
7.1 배열이란? ... 222
7.2 배열의 표현 방법 ... 222
7.2.1 배열의 선언 ... 222
7.2.2 배열의 크기 ... 223
7.3 배열을 통한 문자열의 표현 방법 ... 224
7.4 배열의 초기화 방법 ... 226
7.4.1 일차원 배열의 초기화 방법 ... 226
7.4.2 이차원 배열의 초기화 방법 ... 227
7.5 배열의 내용과 주소의 표현 방법 ... 234
7.6 배열에서의 인수 전달 ... 238
7.7 소트 알고리즘 ... 240
7.7.1 셀렉션 소트 알고리즘 ... 240
7.7.2 버블 소트 알고리즘 ... 242
7.7.3 삽입 소트 알고리즘 ... 243
7.8 순차 검색과 이분 검색 ... 245
7.8.1 순차 검색 ... 245
7.8.2 이분 검색 ... 246
연습문제 ... 249
제8장 포인터
8.1 포인터의 의미 ... 262
8.2 포인터 변수와 선언 방법 ... 262
8.2.1 포인터 변수의 선언 예 ... 262
8.2.2 포인터 변수의 크기 ... 263
8.2.3 포인터 변수의 사용법과 번지 연산자(&) ... 263
8.3 간접 연산자(*) ... 264
8.4 배열과 포인터 ... 265
8.4.1 포인터에 관한 연산 ... 266
8.4.2 배열과 포인터의 관계 ... 269
8.4.3 포인터 변수를 이용한 문자열 출력 방법 ... 272
8.5 포인터 배열 ... 272
8.6 포인터의 적용 ... 280
8.6.1 void형 포인터 ... 280
8.6.2 함수형 포인터 ... 281
8.6.3 상수에 대한 포인터 ... 284
8.6.4 포인터 상수 ... 285
8.6.5 상수에 대한 포인터 상수 ... 286
8.7 main 함수의 인자 ... 286
8.8 포인터를 이용한 문자열 함수의 구현 ... 290
8.8.1 문자열 복사 함수 ... 290
8.8.2 문자열 결합 함수 ... 291
8.8.3 문자열 비교 함수 ... 293
8.8.4 문자열 길이 함수 ... 295
8.8.5 문자열의 위치를 구하는 함수 ... 296
연습문제 ... 298
제9장 동적 메모리 할당
9.1 동적 메모리 할당이란? ... 308
9.2 동적 메모리 할당 방법 ... 308
9.2.1 일반 자료형의 동적 메모리 할당과 제거 ... 309
9.2.2 배열에서 동적 메모리 할당 ... 311
9.2.3 포인터의 포인터를 통한 동적 메모리 할당 ... 319
연습문제 ... 323
제10장 구조체
10.1 구조체란? ... 326
10.2 구조체 선언 형식 ... 326
10.2.1 struct 키워드를 통해 구조체의 선언 ... 326
10.2.2 구조체가 다른 구조체의 멤버로 들어가는 경우 ... 328
10.2.3 typedef문을 이용해서 구조체 선언 ... 329
10.3 구조체 멤버에 접근하는 방법 ... 329
10.3.1 직접 멤버 접근 연산자(.) ... 330
10.3.2 간접 멤버 접근 연산자(->)를 통한 구조체 멤버에 접근 ... 332
10.3.3 구조체형 배열에 접근 ... 334
10.4 구조체의 초기화 ... 340
10.5 비트 필드의 사용 ... 342
10.6 공용체의 개념 ... 344
10.6.1 공용체의 선언 ... 344
10.6.2 공용체 멤버의 참조 ... 345
10.7 typedef의 사용 ... 347
연습문제 ... 353
제11장 클래스
11.1 클래스란? ... 359
11.2 클래스의 표현 ... 360
11.2.1 접근 지정자 ... 360
11.2.2 공용 멤버 ... 361
11.2.3 전용 멤버 ... 361
11.2.4 멤버 함수의 정의법 ... 362
11.3 객체 생성 방법 ... 363
11.4 클래스 멤버의 접근 ... 366
11.4.1 클래스형 변수를 통한 접근 ... 366
11.4.2 클래스형 포인터를 통한 접근 ... 370
11.5 상수 멤버 함수 ... 373
11.6 클래스형 참조자를 통한 접근 ... 375
11.7 클래스형 배열 ... 377
11.8 클래스에서 함수형 포인터 호출 ... 379
11.9 멤버 함수의 클래스로부터의 분리와 inline 함수화 ... 382
11.9.1 멤버 함수를 클래스 외부에서 정의 ... 382
11.9.2 멤버 함수를 클래스 외부에서 정의하고 inline화 ... 384
11.10 클래스 멤버 함수의 내부적 작동 원리 ... 386
11.11 friend 함수 ... 391
연습문제 ... 399
제12장 C++ 중복 정의
12.1 함수 중복 정의와 연산자 중복 정의 ... 404
12.1.1 함수 중복 정의 ... 404
12.1.2 연산자 중복 정의 ... 405
12.2 연산자 중복 함수 ... 406
12.3 산술 연산자의 중복 ... 407
12.4 단항 연산자의 중복 ... 415
12.5 입출력 연산자의 중복 함수 정의 ... 417
12.5.1 출력 연산자의 중복(<<) ... 418
12.5.2 입력 연산자의 중복(>>) ... 419
12.6 첨자 연산자의 중복 ... 425
12.7 new/delete 연산자의 중복 ... 429
12.7.1 new 연산자의 중복 ... 429
12.7.2 delete 연산자의 중복 ... 430
연습문제 ... 435
제13장 생성자
13.1 생성자란? ... 440
13.2 소멸자 ... 448
13.3 static 데이터 멤버와 멤버 함수 ... 452
13.3.1 정적 데이터 멤버 ... 452
13.3.2 정적 멤버 함수 ... 457
13.4 복사 생성자 ... 461
연습문제 ... 470
제14장 상속
14.1 상속이란? ... 474
14.2 파생 클래스의 정의 ... 475
14.3. 클래스 상속에서 베이스 클래스의 접근 허용 지정자 ... 476
14,4 파생 클래스 쪽의 멤버 함수에서 베이스 클래스의 멤버 함수 호출 ... 484
14.5. 콜론 초기화 ... 485
14.6 상속 관계에서 생성자의 사용 ... 488
14.7 다중 상속 ... 494
연습문제 ... 497
제15장 가상 함수
15.1 가상 함수란? ... 502
15.2. 가상 함수 형식 ... 502
15.3 가상 함수의 기능 ... 503
15.4 순수 가상 함수 ... 510
15.5 가상 소멸자 ... 514
연습문제 ... 520
제16장 템플릿
16.1 템플릿이란? ... 526
16.2 템플릿 함수 ... 526
16.3 템플릿 클래스 ... 531
연습문제 ... 542
제17장 파일 입출력
17.1 파일 입출력 ... 544
17.2 순차 파일로부터 데이터 읽어오기 ... 545
17.2.1 입출력을 위한 파일의 개방 ... 545
17.2.2 파일의 폐쇄 ... 548
17.3 문자 단위의 파일 입출력 ... 548
17.4 데이터의 추가 ... 553
17.5 파일 입출력 오류에 관계된 멤버 함수 ... 558
17.6 클래스형 데이터에 대한 파일 입출력 ... 559
연습문제 ... 568
찾아보기 ... 570
더보기 닫기