책소개
프로그래밍 학습을 처음 시작하는 독자들을 위한 입문서. 따라하기를 통해 쉽게 학습할 수 있지만, 그보다는 개념 이해를 더 비중있게 다루고 있는 교재이다. 복잡한 개념이 한번에 정리되는 그림 설명이 개념의 빠른 이해를 도와주며, 수시로 예제와 실행 결과를 바로 확인할 수 있어 개념을 신속하게 적용하고 실험해볼 수 있다.
이 책에서는 3단계 프로젝트가 제공되는데, 파트별로 배운 문법을 총동원하여 실전에서 필요한 기능을 직접 만들어볼 수 있다. Ver2와 Ver3으로 올라갈수록 프로그램의 완성도가 높아지며 이러한 과정을 통해 C++ 문법 숙지에서 끝나지 않고, 각 문법이 실제로 어떻게 구현되는지 철저하게 배울 수 있다는 것이 가장 큰 장점이다.
비타민퀴즈와 연습문제는 2% 부족한 부분까지 꼭꼭 채워주며, 각 장 뒤의 문제식 요약 설명은 다시 한번 뛰어난 복습효과를 제공한다.
목차
1부. C++를 배우기 위한 준비
Chapter 01_ C++를 배우기 전에
01. C++란
Chapter 02_ 필자와 친해지기
01. C++를 공부하는 방법
2부. C++ 사용하기
Chapter 03_ Hello World - C++ 프로그램은 어떻게 생겼나
01. Hello World 프로그램 훑어보기
연습문제 3-1. 내 인생 첫 번째 프로그램
이것만은 알고 갑시다
Chapter 04_ 변수 - 정보를 담는 방법
01. C++에서 정보를 다루는 법
비타민퀴즈. 음악을 숫자로 보관하는 방법
연습문제 4-1. 변수의 정의 연습
02. 변수를 사용하는 규칙
연습문제 4-2. 변수끼리 대입하기
이것만은 알고 갑시다
Chapter 05_ 타입 1 - 정보의 종류
01. C++에서 제공하는 타입
연습문제 5-1. 모든 타입의 크기 확인
비타민퀴즈. 타입의 범위 계산하기
연습문제 5-2. 문자열과 숫자의 화면 출력
비타민퀴즈. 값과 해석
02. 형변환
연습문제 5-3 문제가 발생하는 형변환 정리
이것만은 알고 갑시다
Chapter 06_ 연산자 - 정보를 가공하는 법
01. 기본적인 연산자
연습문제 6-1. 연산자를 사용한 입장 제한
02. 비트 단위 연산
연습문제 6-2. 10진수, 2진수, 16진수, 변환 연습
비타민퀴즈. XOR 연산
연습문제 6-3. 컴퓨터가 되어보자
03. 연산자 더 잘 알기
이것만은 알고 갑시다
Chapter 07_ 분기와 반복 - 프로그램 흐름을 조절하는 법
01. 분기
연습문제 7-1. 학점 정하기
연습문제 7-2. 학점별 안내 문구 출력
비타민퀴즈. Switch/case와 if
02. 반복
연습문제 7-3. while로 구구단을 외자
비타민퀴즈. for, while, do while
이것만은 알고 갑시다
Chapter 08_ <프로젝트> 성적표 Ver 1
:: 프로젝트의 소개
:: 성적표 Ver 1.0 - 메뉴의 구성
:: 성적표 Ver 1.1 - 세 명의 성적 처리하기
:: 성적표 Ver 1.2 - 성적표 예쁘게 출력하기
Chapter 09_ 배열 - 변수를 여러 개 모아놓은 변수
01. 배열의 기본
연습문제 9-1. 배열을 사용해서 평균 구하기
비타민퀴즈. 배열의 전체 크기는 어떻게 될까?
02. 배열에서의 문자열 사용
연습문제 9-2. 문자열 뒤집기
이것만은 알고 갑시다
Chapter 10_ 구조체 - 다양한 타입의 정보를 한 곳에 모으는 법
01. 구조체의 기본
연습문제 10-1. 모든 타입의 멤버를 갖는 구조체
비타민퀴즈. 틀과 붕어빵은 생활 속에
비타민퀴즈. 구조체 변수의 덧셈?
연습문제 10-2. 만약 세상에 구조체가 없었다면...
이것만은 알고 갑시다
Chapter 11_ 포인터 - 정보에 대한 정보
01. 포인터의 기본
연습문제 11-1. 일부러 틀리기
비타민퀴즈. void* 타입의 포인터 변수의 크기는?
비타민퀴즈. 포인터 변수를 가리키는 포인터 변수
02. 포인터와 Const
연습문제 11-2. 빈칸 채우기
이것만은 알고 갑시다
Chapter 12_ 배열과 구조체와 포인터 - 복합적인 방법으로 정보를 다루는 법
01. 포인터와 배열
비타민퀴즈. 변수 i 없이 탐색할 수 없을까?
연습문제 12-1. 배열을 가리키는 포인터를 사용해서 배열 탐색하기
02. 배열과 구조체
연습문제 12-2. 사용자 정보 채우기
03. 포인터와 구조체
비타민퀴즈. 연산자 우선 순위
연습문제 12-3. 메모리 상태 확인하기
이것만은 알고 갑시다
Chapter 13_ 복합 타입의 모든 것 - 복합적인 정보
01. 나머지 복합 타입들
연습문제 13-1. 공용체 특징 이해
연습문제 13-2. 열거체 연습
비타민퀴즈. 포인터 변수에 대한 레퍼런스
연습문제 13-3. 배열 타입에 대한 별명
02. 배열, 구조체, 포인터의 나머지 기능
연습문제 13-4 다차원 배열에 구구단 결과 보관하기
이것만은 알고 갑시다
Chapter 14_ 함수 1 - 관련된 코드를 모아서 담을 수 있는 가방
01. 함수의 기본
연습문제 14-1. 이름 10번 써 오기
연습문제 14-2. 또 이름 10번 써 오기
02. 인자의 전달
연습문제 14-3. 중간값 구하기
연습문제 14-4. 코드 분석하기
비타민퀴즈. 포인터 변수를 사용하는 좋은 습관
연습문제 14-5. 또 중간값 구하기
비타민퀴즈. 이차원 배열의 전달
연습문제 14-6. 구조체 전달의 문제점 지적하기
이것만은 알고 갑시다
Chapter 15_ 함수 2 - 함수의 모든 것
01. 함수의 모든 것
비타민퀴즈. 오버로딩 vs 디폴트 인자
연습문제 15-1. 재귀호출을 이해해보자
연습문제 15-2. 전체 시나리오 이해하기
이것만은 알고 갑시다
Chapter 16_ 동적 메모리 할당 - 보다 자유로운 저장 공간
01. 동적 메모리 할당의 기본
연습문제 16-1. 상위권 점수만 출력하자
02. 동적 메모리 할당의 응용
연습문제 16-2. 문자열 이동하기
이것만은 알고 값시다
Chapter 17_ 문자열 - 문자의 배열
01. 문자열 사용의 기본
연습문제 17-1. strlen() 직접 구현하기
비타민퀴즈. 함수의 인자 분석하기
연습문제 17-2. 욕 판별 함수 작성하기
연습문제 17-3. 욕 판별 함수 개선하기
02. 문자열의 사용
연습문제 17-4. 절대 경로의 디렉토리 부분만 출력하기
이것만은 알고 갑시다
Chapter 18_ 헤더 파일과 구현 파일 - 여러 개의 소스 파일을 사용하는 법
01. 헤더 파일과 구현 파일의 사용
연습문제 18-1. 예제 검토
연습문제 18-2. 또 예제 검토
비타민퀴즈. 같은 이름의 다른 구조체
비타민퀴즈. 헤더 파일의 중복 포함을 막는 또 다른 방법
이것만은 알고 갑시다
Chapter 19_ <프로젝트> 성적표 Ver 2
01. 성적표 Ver 2.0 - 구조체와 배열의 사용
02. 성적표 Ver 2.2 - 함수와 파일로 나누기
03. 링크드 리스트
04. 성적표 Ver 2.3 - 링크드 리스트의 사용
3부. C++ 객체지향 프로그래밍
Chapter 20_ 객체지향 프로그래밍 - 레고 블록 조립하듯이 프로그래밍하는 법
01. 객체지향 프로그래밍의 시작
이것만은 알고 갑시다
Chapter 21_ 클래스와 객체 - 객체지향 프로그래밍의 기본
01. 클래스와 객체의 기본
연습문제 21-1. 내 생애 첫 번째 멤버 함수
비타민퀴즈. 대입 연산자 복습
연습문제 21-2. 당구공 클래스
비타민퀴즈. 얕은 복사 복습
연습문제 21-3. 당구공 클래스에 접근 권한 설정
연습문제 21-4. 당구공 클래스에 접근자 추가
연습문제 21-5. 당구공 클래스 최적화
02. 클래스와 객체 자세히 살펴보기
연습문제 21-6. 함수 포인터 연습
연습문제 21-7. 당구공 4개 생성하기
이것만은 알고 갑시다
Chapter 22_ 상속과 포함 - 클래스의 재사용
01. 포함
비타민퀴즈. 버그 수정
연습문제 22-1. 생성자와 소멸자의 순서
02. 상속
비타민퀴즈. 객체의 크기 확인하기
연습문제 22-2. 생성자와 소멸자의 순서
연습문제 22-3. 멤버 함수도 확인하자
이것만은 알고 갑시다
Chapter 23_ 다형성과 가상 함수 - 부품간의 조립
01. 가상 함수를 사용한 다형성의 구현
연습문제 23-1. 다양한 도형 추가
비타민퀴즈. 다형성 복습
02. 오버라이딩
이것만은 알고 갑시다
Chapter 24_ 예외 처리 - 프로그램이 갑자기 죽지 않게 하는 법
01. 예외 처리의 기본
비타민퀴즈. 먼저 생각해보기
연습문제 24-1. 예외 처리 연습
연습문제 24-2. 함수 실행 과정 확인해보기
02. 구조적 예외 처리 제대로 사용하기
비타민퀴즈. 먼저 생각해보기
연습문제 24-3. auto_ptr 적용
이것만은 알고 갑시다
Chapter 25_ <프로젝트> 성적표 Ver 3
01. 성적표 Ver 2.4 - 성적표 Ver 2.3의 버그 수정
02. 성적표 Ver 3.0 ~ 3.2 - 단계적인 클래스화
03. 성적표 Ver 3.3 - 새로운 학생 클래스
04. 성적표 Ver 3.4 ~ 3.5 - 다양한 방식의 성적표 출력
05. 성적표 Ver 3.6 - 예외 처리의 추가
06. 프로젝트 리뷰
4부. C++ 고급 기능
Chapter 26_ 접근 범위와 존속 기간 - 변수와 함수 다시 보기
01. 변수와 함수의 접근 범위와 존속 기간
연습문제 26-1. 존속 기간 확인
비타민퀴즈. 멤버 함수 안에 정의한 변수는?
연습문제 26-2. 또 존속 기간 확인
이것만은 알고 갑시다
Chapter 27_ 타입 2 - 사용자 정의 타입으로서의 클래스
01. 연산자 오버로딩
연습문제 27-1. 복소수의 뺄셈
연습문제 27-2. - 연산자
연습문제 27-3. 일반 함수로 구현한 복소수의 뺄셈
02. 클래스와 관련된 형변한
비타민퀴즈. 레퍼런스의 경우는 왜 예외를 던질까?
이것만은 알고 값시다
Chapter 28_ 네임스페이스 - 관련된 코드를 묶어주는 논리적인 가방
01. 네임스페이스 사용하기
연습문제 28-1. Using-Declaration
이것만은 알고 갑시다
Chapter 29_ 템플릿과 STL - 컴퓨터에게 코딩을 맡기자
01. 템플릿
비타민퀴즈. AutoArray[float]와 AutoArray[int]의 관계는?
연습문제 29-1. main() 함수 만들기
02. STL
연습문제 29-2. vector 사용하기
이것만은 알고 갑시다
Chapter 30_ 입출력 - 콘솔 창과 파일에 입출력하기
01. C++ 스타일의 입출력
연습문제 30-1. 진법 변환
연습문제 30-2. 채팅 내용 저장하기
02. C 스타일의 입출력
이것만은 알고 갑시다
5부. 비주얼 스튜디오 사용하기
Chapter 31_ 비주얼 스튜디오 닷넷 사용하기
01. 비주얼 스튜디오 닷넷 사용 방법
Chapter 32_ 비주얼 스튜디오 6.0 사용하기
01. 비주얼 스튜디오 6.0 사용 방법
부록
부록 A. C++ 보충 학습
부록 B. 타입의 범위
부록 C. 연산자 우선 순위
부록 D. 아스키 코드
부록 E. 호환성 노트
찾아보기