목차 일부
머리말 ... 3
이 책의 구성 ... 14
시작하기 전에 ... 16
part 1 입문 : 오늘부터 나는 C++ 프로그래머!
001 C++ 프로그램 시작하기 ... 38
002 네임스페이스 사용하기 ... 41
003 주석 이해하기 ... 43
004 변수 이해하기 ... 45
005 if, else, 논리형 변수를 이용한 짝홀...
더보기
목차 전체
머리말 ... 3
이 책의 구성 ... 14
시작하기 전에 ... 16
part 1 입문 : 오늘부터 나는 C++ 프로그래머!
001 C++ 프로그램 시작하기 ... 38
002 네임스페이스 사용하기 ... 41
003 주석 이해하기 ... 43
004 변수 이해하기 ... 45
005 if, else, 논리형 변수를 이용한 짝홀수 구별하기 ... 48
006 define과 const를 이용한 상수 선언 및 사용법 이해하기 ... 50
007 5칙 연산 이해하기 ... 52
008 double 타입의 연산, 캐스팅((int), static_cast〈int〉) 이해하기 ... 54
009 기본 문자열의 복사와 문자열의 길이 구하기 ... 56
010 문자열(string)의 복사와 길이 구하기 ... 59
011 enum과 if~else를 이용하여 가위바위보 확인하기 ... 61
012 enum과 switch를 이용하여 요일 확인하기 ... 63
013 do~while 문을 이용하여 입력된 키보드 값 확인하기 ... 66
014 while 문을 이용하여 입력된 키보드 값 확인하기 ... 69
015 사용자가 선언한 헤더 포함하기 ... 72
016 for 문을 이용하여 1부터 100까지의 합 구하기 ... 75
017 sizeof를 이용하여 기본 타입의 크기 구하기 ... 77
018 numeric_limits〈타입〉과 상수를 이용한 범위 구하기 ... 80
019 논리형 연산자 이해하기 ... 83
part 2 초급 : C++ 프로그래밍 기초 다지기
020 itoa를 이용하여 10진수를 2진수로 바꾸기 ... 88
021 서로 다른 진수로 바꾸기 ... 91
022 비트 연산자로 클래스 네트워크 확인하기 ... 94
023 쉬프트(shift) 연산자를 이용하여 8진수로 바꾸기 ... 96
024 함수를 이용하여 커피잔 수 구하기 ... 100
025 같은 이름의 함수 만들기(함수의 오버로딩) ... 103
026 관계 연산자(!=, ==, 〈=)를 이용하여 솟수 구하기 ... 106
027 continue를 이용하여 ASCⅡ 출력하기 ... 108
028 break를 이용하여 솟수 확인하기 ... 110
029 중첩 for 문을 이용하여 ASCⅡ 표 만들기 ... 112
030 goto를 이용하여 중근 구하기 ... 115
031 조건 연산자(? :)를 이용하여 일의 자리수가 3, 6, 9인지 확인하기 ... 118
032 단축 연산자(*=, +=)를 이용하여 적금 구하기 ... 120
033 함수와 단축 대입 연산자를 이용하여 자리수 구하기 ... 122
034 배열을 이용하여 역순으로 출력하기 ... 124
035 배열을 이용하여 10진수를 8진수로 바꾸기 ... 126
036 atoi를 이용하여 문자열을 정수로 바꾸기 ... 129
037 main 함수의 인자(argc, argv) 이용하기(cin, coot을 이용한 입출력) ... 131
038 rand와 배열을 이용하여 임의의 수를 역순으로 출력하기 ... 137
039 배열과 스왑을 이용하여 역순으로 출력하기 ... 139
040 rand를 이용하여 임의의 순서로 배열을 섞기 ... 141
041 매크로 함수와 배열을 이용하여 최대, 최소 구하기 ... 143
042 배열과 비교 연산자를 이용하여 최대, 최소 구하기 ... 145
043 배열을 인자로 사용하는 함수를 이용하여 최대, 최소 구하기 ... 146
044 배열과 포인터(*)를 이용하여 최대, 최소 구하기 ... 148
045 배열과 포인터(*) 이해하기 ... 150
046 함수, 포인터, &를 이용하여 배열의 최대, 최소 구하기 ... 153
047 typedef를 이용하여 새로운 타입 정의하기 ... 155
048 함수와 단축 대입 연산자를 이용하여 각 자리수의 합 구하기 ... 157
049 함수와 while 문을 이용하여 각 자리수의 합 구하기 ... 159
050 1부터 100까지 2의 배수도, 3의 배수도 아닌 수는 몇 개인가? ... 161
051 주소(참조) 연산자(&)를 이용하여 배열의 최대, 최소 구하기 ... 163
052 스왑을 이용하여 *와 &의 차이점 이해하기 ... 166
053 for 문과, 연산자를 이용하여 양수, 음수에 대한 2진수 구하기 ... 170
054 함수와 배열과, 연산자를 이용하여 배열을 역순으로 만들기 ... 172
055 sqrt를 이용하여 1부터 100 사이의 솟수 구하기 ... 174
056 평형과 수직 이동만 가능할 때 최단 거리를 fabs를 이용하여 구하기 ... 176
057 sin을 이용하여 바이오리듬 구하기 ... 178
058 fmod를 이용하여 실수의 나머지 구하기 ... 180
059 연산자를 이용하여 멤버 함수 사용하기(클래스 이해 1) ... 183
060 → 연산자를 이용하여 멤버 함수 사용하기(클래스 이해 2) ... 186
061 혜더와 클래스 분리시키기(함수의 원형) ... 188
part 3 초급 활용 : 신나는 프로그래밍 체험 학습
062 1부터 100까지 짝수, 홀수의 합 구하기 ... 192
063 클래스와 함수를 이용하여 짝수, 홀수의 합 구하기 ... 193
064 팩토리얼 구하기 ... 195
065 멤버 함수에서 다른 멤버 함수 호출하기 ... 196
066 1+3+5+7+...+<?import namespace ... m ur
067 -1+3-5+7-...+<m:math xmlns ... '"htt
068 1+2+4+8...의 합 구하기(규칙이 있는 수의 합 3) ... 202
069 1+1.0/1!+1.0/2!+...의 합 구하기(규칙이 있는 수의 합 4) ... 204
070 putch를 이용하여 ASCⅡ 출력하기 ... 206
071 putch와 함수를 이용하여 사각형 그리기 ... 208
072 중첩 for 문을 이용하여 * 삼각형 출력하기 ... 211
073 다이아몬드 모양 출력하기 ... 213
074 나비 모양 출력하기 ... 215
075 문자 다이아몬드 출력하기 ... 217
076 나비 모양 문자 출력하기 ... 220
077 3 중첩 for 문을 이용하여 피타고라스 수 찾기(정의를 수식으로 바꾸기) ... 223
078 3 중첩 for 문을 이용하여 삼각형 세 변의 관계식 만들기 ... 225
079 C₃의 핵심 수식 찾아내기 ... 227
080 P₃의 핵심 수식 찾아내기 ... 229
081 중첩 for 문을 이용한 구구단 표 만들기 ... 231
082 섭씨(℃)와 화씨(℉)간의 관계식 유도하기 ... 232
083 윤년을 구별하는 함수 만들기 ... 234
084 조건 연산자와 클래스를 이용하여 윤년 구별하기 ... 236
085 2차 함수의 근 구하기(핵심 파악하기) ... 238
086 n이 홀수이면 3×n+1, 짝수이면 n/2하여 1로 만들기 ... 241
087 2g, 3g, 5g의 추를 이용하여 원하는 무게 만들기 ... 243
088 2부터 10000 사이의 완전수 찾기 ... 244
089 2부터 3000 사이의 친화수 구하기 ... 246
090 최대 공약수 구하기 ... 249
091 369 게임 만들기 ... 251
092 소인수 분해하기 ... 254
093 클래스를 이용하여 369 게임 만들기 ... 257
094 John Wallis 방법을 이용하여 원주율 구하기 ... 260
095 LaiphnizPie 방법을 이용하여 원주율 구하기 ... 263
096 아크 탄젠트(atan)를 이용하여 원주율 구하기 ... 265
097 테일러 급수를 이용하여 e 근사값 구하기 ... 267
098 2진수 1000을 10진수로 바꾸기 ... 271
099 배열과 ≪ 연산자를 이용하여 10진수를 2진수, 16진수로 바꾸기 ... 274
100 2006년 11월에는 몇 일이 있는지 구하기(switch case 사용하기) ... 278
101 요일 구하기 1 ... 281
102 요일 구하기 2 ... 285
103 오늘의 바이오리듬 구하기(요일 구하기 응용) ... 289
104 만년달력 만들기 1 ... 292
105 만년달력 만들기 2 ... 296
part 4 도약 : 똑똑한 프로그래머로 가는 길
106 2차원 배열을 이용하여 성적 구하기 1([][] 이용) ... 302
107 2차원 배열을 이용하여 길찾기 화면 만들기 ... 306
108 2차원 배열로 마방진 작성하기 ... 310
109 2차원 배열을 이용하여 성적 구하기 2(* 이용) ... 314
110 문자열 처리하기 1(strcpy) ... 318
111 문자열에 포함된 숫자의 개수 알아내기(문자 분류 1) ... 320
112 아스키 코드 문자 분류하기(문자 분류 2) ... 323
113 문자열에서 원하는 문자 찾기(문자열 조작 1) ... 325
114 문자열에서 원하는 문자 찾기(문자열 조작 2) ... 330
115 소문자를 대문자로 바꾸기(문자열 변환 1) ... 333
116 문자열을 정수로 바꾸기(문자열 변환 2) ... 337
117 표준 문자열(string) 사용하기 1 ... 340
118 표준 문자열 사용하기 2 ... 343
119 표준 문자열 사용하기 3 ... 346
120 const 이해하기 ... 349
121 메모리 초기화, 복사를 이용하여 일반 함수 구하기 ... 352
122 메모리 비교, 문자 찾기를 이용하여 문자열 처리하기 ... 354
123 cout.setf를 이용하여 출력 양식 만들기 ... 357
124 cout.width를 이용하여 출력 양식 만들기 ... 360
125 〈iomanip〉의 조작자를 이용하여 적금 출력 양식 만들기 ... 363
part 5 도약 활용 : 성공하는 프로그래밍 스타일
126 멤버 함수를 이용하여 점(3, 5)를 (5, -4)만큼 이동시키기 ... 368
127 힙(자유 저장 공간)에 Point 객체 생성하기(동적 객체 생성하기) ... 372
128 복사 생성자 이해하기 ... 376
129 멤버 필드를 이용하여 2차 함수의 근 구하기 ... 380
130 연산자의 오버로딩 ... 383
131 friend를 이용한 연산자의 오버로딩 ... 386
132 ≪ 연산자의 오버로딩 ... 389
133 2차원 배열을 1차원 배열로 바꾸기 ... 392
134 1차원 배열을 2차원 배열로 바꾸기 ... 395
135 2차원 배열의 곱 구하기 ... 398
136 *를 이용하여 2차원 배열의 곱 구하기 ... 401
137 구조체를 이용하여 2차원 배열의 곱 구하기 ... 405
138 행렬 클래스 만들기 ... 409
139 역행렬 구하기 1 ... 414
140 역행렬 구하기 2 ... 418
141 역행렬 구하기 3 ... 424
142 2차원 배열을 동적으로 생성, 초기화, 복사하기 1 ... 433
143 2차원 배열을 동적으로 생성, 초기화, 복사하기 2 ... 435
144 구조체의 동적 생성 이해하기 ... 438
145 구조체와 클래스의 비교 ... 442
146 구조체와 클래스를 이용한 행렬 클래스 만들기 1 ... 446
147 구조체와 클래스를 이용한 행렬 클래스 만들기 2 ... 450
148 구조체와 클래스를 이용한 행렬 클래스 만들기 3 ... 453
149 구조체와 클래스를 이용한 행렬 클래스 만들기 4 ... 458
150 구조체와 클래스를 이용한 행렬 클래스 만들기 5 ... 466
151 구조체와 클래스를 이용한 행렬 클래스 만들기 6 ... 474
152 구조체를 이용하여 바이오리듬 구하기 ... 482
153 tm 구조체를 이용하여 만년달력 만들기 ... 487
154 Lotto 만들기 ... 491
155 한 수가 두 번씩 고르게 섞인 1차원 배열 만들기 ... 495
156 버블 정렬하기 ... 499
157 제네릭(템플릿) 함수 이해하기 ... 503
158 카드놀이를 위한 52장의 카드 만들기 ... 506
159 카드 섞기 ... 511
160 typedef를 이용하여 동적 참조 타입 배열 만들기 ... 515
161 typedef를 이용하여 40개의 카드 섞기 ... 518
162 연산자의 중복을 이용하여 카드놀이 완성하기 1 ... 522
163 연산자의 오버로딩을 이용하여 카드놀이 완성하기 2 ... 525
part 6 중급 : 객체 지향 이야기
164 은닉화 이해하기 ... 534
165 객체의 동적 생성과 메모리 이해 ... 538
166 객체 생성 과정 이해하기 ... 541
167 추상화(추상성) 이해하기 ... 547
169 인스턴스화와 인스턴스(생성된 객체) ... 552
169 static 키워드 사용하기 ... 558
170 객체 지향 언어의 특징 ... 563
171 상속 이해하기 ... 567
172 상속과 생성자의 관계 이해하기 ... 572
173 오버라이딩 이해하기 ... 577
174 메모리와 객체 지향 프로그래밍 1(상속과 오버라이딩) ... 581
175 메모리와 객체 지향 프로그래밍 2(프로모션, 크로스 캐스팅) ... 584
176 캐스팅과 다형성 ... 588
177 다형성과 분할 ... 593
178 다형성과 virtual 소멸자 ... 595
179 순수 가상 함수와 추상 클래스 ... 600
180 순수 가상 함수와 인터페이스 ... 607
181 다중 상속 이해하기 ... 611
182 가상 상속(다이아몬드형 상속) ... 615
183 예외처리 이해하기 ... 621
184 throw를 이용한 예외처리 ... 624
185 사용자가 만든 예외처리하기 ... 628
part 7 고급 : C++ 프로그래밍 100배 즐기기
186 파일 입출력(fstream) 이해하기 ... 638
187 2진 파일 입출력 이해하기 ... 642
188 템플릿 함수를 이용한 객체 정렬 ... 646
189 제네릭(템플릿) 클래스 이해하기 ... 652
190 vector (STL) 컨테이너 사용하기 ... 656
191 vector를 이용하여 성적 정렬하기 ... 661
192 vector를 이용한 베르나르 베르베르 개미 퀴즈 ... 665
193 야구 게임 만들기 ... 671
194 다형성을 이용하여 교수, 학생, 관리자 정보 입출력하기 ... 683
195 재귀(recursion) 이해하기 ... 694
196 다양한 정렬 이해하기 ... 705
197 단순 연결 리스트 만들기 ... 717
198 구조체를 이용한 정보처리기사 문제 ... 727
199 클래스와 알고리즘을 이용한 정보처리기사 문제 ... 744
200 하노이 타워 ... 756
찾아 보기 ... 766
더보기 닫기