책 소개
▣ 출판사서평
C와 C++ 언어를 배우려는 학생들을 위한 최고의 선택!!!
1946년 애니악(ENIAC) 컴퓨터가 세계 최초로 발명된 지 약 50년이 지난 1996년부터 인터넷 혁명이 본격적으로 전개되었으며, 특히 오늘날 정보 통신기기의 급속한 발달은 지구촌을 컴퓨터망으로 연결하여 자료전송은 물론이고 무역까지 컴퓨터 가상공간에서 이루어지도록 하였다.
현대사회는 e-비즈니스 및 상거래 행위뿐만 아니라 교육, 오락, 문화 등이 인터넷상에서 처리·운영되는 디지털 사회로써 컴퓨터는 이제 우리 실생활에서 없어서는 안될 필수품이 된 것이다. 그러나 컴퓨터는 특정 프로그램의 지시에 따라 주어진 작업을 수행하는 장치에 불과하기 때문에 프로그램이 없으면 어떠한 일도 수행할 수 없는 무용지물이 된다. 컴퓨터 프로그램은 각 용도에 적합한 프로그래밍 언어를 사용하여 개발하게 된다.
프로그래밍 언어란 컴퓨터가 수행할 일련의 작업을 상세하고 구체적으로 명시하기 위해 만들어진 언어로서 지정된 구조와 문법을 가지며 컴퓨터와 사람 사이의 의사를 전달하는 역할을 한다. C++ 언어는 C(구조적 프로그래밍 언어)가 가진 장점을 취하고 C에는 없는 새로운 개념을 도입하여 객체 지향 프로그래밍(OOP : Object Oriented Programming)을 구현할 수 있도록 C를 확장한 것이다. 그리고, 여러 언어의 장점을 모아서 프로그램을 다양한 방법으로 개발할 수 있도록 도와준다.
따라서 C++ 언어의 쉽고 정확한 이해를 위해서는 C 언어에 대한 기본 개념을 사전에 습득해야 하는 어려움이 있는데, 여기에는 많은 수고와 시간이 소비된다. 이 책은 프로그래밍 언어를 처음 배우거나 C 언어에 익숙하지 못한 독자들도 C++ 언어에 쉽게 접근할 수 있도록 노력하였다. C++ 언어의 핵심적인 내용들을 보다 이해하기 쉽게 설명하였으며 각 장마다 풍부한 예제 프로그램을 수록하여 실습을 병행할 수 있도록 하였다. 또한, 예제 프로그램에 대한 자세한 해설을 두어 각 장에서 설명하는 이론들을 쉽게 이해할 수 있도록 하였다. 그리고 각 장별로 연습문제를 실어 각 장에서 익힌 내용을 확인할 수 있도록 하였다.
이 책은 제1장부터 제12장으로 구성되어 있으며, 제1장부터 제6장까지는 객체지향 프로그래밍을 위한 C++ 프로그래밍의 기초에 대해 설명하고 있으며, 제7장부터 제12장까지는 본격적인 객체지향 프로그래밍 작성에 대해 설명하고 있다.
대학에서 강의하시는 분들이 한 학기 동안 C와 C++를 학생들이 정확히 이해하도록 동시에 강의하기에는 시간이 부족한 면이 있지만, 이 책은 C에 대한 기초가 전혀 없는 학생들을 대상으로 대학이나 학원에서 강의하시는 분들을 위해 C++를 한 학기 동안 강의할 수 있도록 구성하였다.
이 책이 C++ 언어에 입문하는 많은 분들에게 도움이 되도록 노력은 하였으나 여러 가지 미흡한 점이 많은 것 같다. 미진한 부분은 이 책을 읽는 여러분의 지적에 따라 수정 및 보완이 필요하리라 생각되니 아낌없는 충고와 조언을 바란다.
▣ 주요 목차
PART 1 C++ 기초
1.1 프로그래밍 언어
1.1.1 프로그래밍 언어란?
1.1.2 프로그래밍 언어의 종류
1.2 C++언어의 개요
1.2.1 C++의 기원
1.2.2 C++의 특징
1.2.3 C++ 프로그램의 실행
1.2.4 C++ 프로그램의 구성
1.3 컴파일러 사용법(Dev-C++)
1.3.1 컴파일러 설치
1.3.2 프로그램 작성 및 실행
연습 문제
PART 2 데이터형과 입출력 스트림
2.1 데이터
2.2 데이터 처리
2.3 상수
2.4 변수 선언
2.4.1 변수 선언 및 초기화
2.4.2 변수명 작성 규칙
2.4.3 오버플로우
2.5 표준 입력 스트림
2.6 스트림 조작자
연습 문제
PART 3 연산자
3.1 연산 및 연산자
3.2 대입 연산자
3.3 산술 연산자
3.3.1 이항 연산자
3.3.2 단항 연산자
3.4 관계 연산자
3.5 논리 연산자
3.6 조건 연산자
3.7 나열 연산자
3.8 sizeof 연산자
3.9 캐스트 연산자
3.10 연산자 우선 순위
연습 문제
PART 4 제어문
4.1 제어문의 종류
4.2 선택문
4.2.1 if문
4.2.2 if~else문
4.2.3 복합 if~else문
4.2.4 중첩 if문
4.2.5 switch~case문
4.3 반복문
4.3.1 for문
4.3.2 while문
4.3.3 do~while문
4.4 점프문
4.4.1 break문
4.4.2 continue문
4.4.3 goto문
연습 문제
PART 5 배열과 포인터
5.1 배열이란
5.1.1 배열의 선언
5.1.2 메모리와 데이터 배치
5.1.3 배열과 메모리
5.2 배열의 초기화
5.2.1 1차원 배열
5.2.2 2차원 배열
5.3 문자열과 char형 배열
5.4 포인터란
5.4.1 포인터의 개념
5.4.2 포인터 변수의 선언 및 초기화9
5.5 배열과 포인터
5.6 문자열과 포인터
5.7 동적 메모리 관리
5.8 포인터 배열
연습 문제
PART 6 함수
6.1 함수란
6.2 함수의 사용
6.2.1 함수의 정의
6.2.2 함수의 호출
6.2.3 결과 값의 반환
6.3 함수의 원형
6.4 void형 함수
6.5 함수의 재귀 호출
6.6 인수의 전달 방식
6.6.1 Call by Value
6.6.2 Call by Reference
6.7 참조자
6.7.1 참조자 변수
6.7.2 함수의 참조자 인수
6.7.3 참조자 반환
6.8 인라인 함수
6.9 함수의 오버로드
6.10 함수의 디폴드 값 인수
6.11 변수의 유효 범위와 기억 장소의 유형
6.11.1 변수의 유효 범위
6.11.2 기억 장소의 유형
연습 문제
PART 7 클래스와 객체
7.1 클래스
7.1.1 클래스의 정의
7.1.2 클래스 변수의 선언
7.1.3 클래스 멤버의 참조
7.1.4 클래스 멤버 함수와 자동 인라인
7.2 클래스 변수의 초기화
7.3 멤버 함수로부터의 반환
7.4 멤버 함수의 디폴트 값 인수와 오버로드
7.4.1 멤버 함수의 디폴트 값 인수
7.4.2 멤버 함수의 오버로드
7.5 클래스 배열과 포인터
7.5.1 클래스 배열
7.5.2 클래스 포인터
7.6 this 포인터
7.7 객체의 대입
7.8 함수에 객체 전달
7.9 객체 반환
연습 문제
PART 8 생성자, 소멸자, 프랜드 함수
8.1 생성자와 소멸자
8.1.1 생성자
8.1.2 생성자를 이용한 클래스 배열의 초기화
8.1.3 생성자와 클래스 포인터
8.1.4 소멸자
8.2 함수에 객체를 참조자로 전달
8.3 프랜드 함수
연습 문제
PART 9 연산자 오버로드
9.1 연산자 오버로드란
9.2 이항 연산자의 오버로드
9.3 단항 연산자의 오버로드
9.4 관계 연산자의 오버로드
9.5 [ ] 연산자의 오버로드
9.6 프랜드 연산자 함수의 사용
연습 문제
PART 10 클래스의 상속
10.1 클래스의 상속
10.2 생성자와 소멸자의 실행
10.3 기본 클래스의 생성자 인수 전달
10.4 다중 상속
10.5 가상 기본 클래스
연습 문제
PART 11 가상 함수와 템플릿
11.1 기본 클래스 포인터
11.2 가상 함수
11.3 순수 가상 함수
11.4 템플릿
11.4.1 템플릿 함수
11.4.2 템플릿 클래스
연습 문제
PART 12 파일 입출력
12.1 파일 처리
12.2 파일 열기와 닫기
12.2.1 파일 열기
12.2.2 파일 닫기
12.3 입출력 멤버 함수
12.3.1 문자 처리 입출력 함수
12.3.2 문자열 처리 입력 함수
연습 문제
C와 C++ 언어를 배우려는 학생들을 위한 최고의 선택!!!
1946년 애니악(ENIAC) 컴퓨터가 세계 최초로 발명된 지 약 50년이 지난 1996년부터 인터넷 혁명이 본격적으로 전개되었으며, 특히 오늘날 정보 통신기기의 급속한 발달은 지구촌을 컴퓨터망으로 연결하여 자료전송은 물론이고 무역까지 컴퓨터 가상공간에서 이루어지도록 하였다.
현대사회는 e-비즈니스 및 상거래 행위뿐만 아니라 교육, 오락, 문화 등이 인터넷상에서 처리·운영되는 디지털 사회로써 컴퓨터는 이제 우리 실생활에서 없어서는 안될 필수품이 된 것이다. 그러나 컴퓨터는 특정 프로그램의 지시에 따라 주어진 작업을 수행하는 장치에 불과하기 때문에 프로그램이 없으면 어떠한 일도 수행할 수 없는 무용지물이 된다. 컴퓨터 프로그램은 각 용도에 적합한 프로그래밍 언어를 사용하여 개발하게 된다.
프로그래밍 언어란 컴퓨터가 수행할 일련의 작업을 상세하고 구체적으로 명시하기 위해 만들어진 언어로서 지정된 구조와 문법을 가지며 컴퓨터와 사람 사이의 의사를 전달하는 역할을 한다. C++ 언어는 C(구조적 프로그래밍 언어)가 가진 장점을 취하고 C에는 없는 새로운 개념을 도입하여 객체 지향 프로그래밍(OOP : Object Oriented Programming)을 구현할 수 있도록 C를 확장한 것이다. 그리고, 여러 언어의 장점을 모아서 프로그램을 다양한 방법으로 개발할 수 있도록 도와준다.
따라서 C++ 언어의 쉽고 정확한 이해를 위해서는 C 언어에 대한 기본 개념을 사전에 습득해야 하는 어려움이 있는데, 여기에는 많은 수고와 시간이 소비된다. 이 책은 프로그래밍 언어를 처음 배우거나 C 언어에 익숙하지 못한 독자들도 C++ 언어에 쉽게 접근할 수 있도록 노력하였다. C++ 언어의 핵심적인 내용들을 보다 이해하기 쉽게 설명하였으며 각 장마다 풍부한 예제 프로그램을 수록하여 실습을 병행할 수 있도록 하였다. 또한, 예제 프로그램에 대한 자세한 해설을 두어 각 장에서 설명하는 이론들을 쉽게 이해할 수 있도록 하였다. 그리고 각 장별로 연습문제를 실어 각 장에서 익힌 내용을 확인할 수 있도록 하였다.
이 책은 제1장부터 제12장으로 구성되어 있으며, 제1장부터 제6장까지는 객체지향 프로그래밍을 위한 C++ 프로그래밍의 기초에 대해 설명하고 있으며, 제7장부터 제12장까지는 본격적인 객체지향 프로그래밍 작성에 대해 설명하고 있다.
대학에서 강의하시는 분들이 한 학기 동안 C와 C++를 학생들이 정확히 이해하도록 동시에 강의하기에는 시간이 부족한 면이 있지만, 이 책은 C에 대한 기초가 전혀 없는 학생들을 대상으로 대학이나 학원에서 강의하시는 분들을 위해 C++를 한 학기 동안 강의할 수 있도록 구성하였다.
이 책이 C++ 언어에 입문하는 많은 분들에게 도움이 되도록 노력은 하였으나 여러 가지 미흡한 점이 많은 것 같다. 미진한 부분은 이 책을 읽는 여러분의 지적에 따라 수정 및 보완이 필요하리라 생각되니 아낌없는 충고와 조언을 바란다.
▣ 주요 목차
PART 1 C++ 기초
1.1 프로그래밍 언어
1.1.1 프로그래밍 언어란?
1.1.2 프로그래밍 언어의 종류
1.2 C++언어의 개요
1.2.1 C++의 기원
1.2.2 C++의 특징
1.2.3 C++ 프로그램의 실행
1.2.4 C++ 프로그램의 구성
1.3 컴파일러 사용법(Dev-C++)
1.3.1 컴파일러 설치
1.3.2 프로그램 작성 및 실행
연습 문제
PART 2 데이터형과 입출력 스트림
2.1 데이터
2.2 데이터 처리
2.3 상수
2.4 변수 선언
2.4.1 변수 선언 및 초기화
2.4.2 변수명 작성 규칙
2.4.3 오버플로우
2.5 표준 입력 스트림
2.6 스트림 조작자
연습 문제
PART 3 연산자
3.1 연산 및 연산자
3.2 대입 연산자
3.3 산술 연산자
3.3.1 이항 연산자
3.3.2 단항 연산자
3.4 관계 연산자
3.5 논리 연산자
3.6 조건 연산자
3.7 나열 연산자
3.8 sizeof 연산자
3.9 캐스트 연산자
3.10 연산자 우선 순위
연습 문제
PART 4 제어문
4.1 제어문의 종류
4.2 선택문
4.2.1 if문
4.2.2 if~else문
4.2.3 복합 if~else문
4.2.4 중첩 if문
4.2.5 switch~case문
4.3 반복문
4.3.1 for문
4.3.2 while문
4.3.3 do~while문
4.4 점프문
4.4.1 break문
4.4.2 continue문
4.4.3 goto문
연습 문제
PART 5 배열과 포인터
5.1 배열이란
5.1.1 배열의 선언
5.1.2 메모리와 데이터 배치
5.1.3 배열과 메모리
5.2 배열의 초기화
5.2.1 1차원 배열
5.2.2 2차원 배열
5.3 문자열과 char형 배열
5.4 포인터란
5.4.1 포인터의 개념
5.4.2 포인터 변수의 선언 및 초기화9
5.5 배열과 포인터
5.6 문자열과 포인터
5.7 동적 메모리 관리
5.8 포인터 배열
연습 문제
PART 6 함수
6.1 함수란
6.2 함수의 사용
6.2.1 함수의 정의
6.2.2 함수의 호출
6.2.3 결과 값의 반환
6.3 함수의 원형
6.4 void형 함수
6.5 함수의 재귀 호출
6.6 인수의 전달 방식
6.6.1 Call by Value
6.6.2 Call by Reference
6.7 참조자
6.7.1 참조자 변수
6.7.2 함수의 참조자 인수
6.7.3 참조자 반환
6.8 인라인 함수
6.9 함수의 오버로드
6.10 함수의 디폴드 값 인수
6.11 변수의 유효 범위와 기억 장소의 유형
6.11.1 변수의 유효 범위
6.11.2 기억 장소의 유형
연습 문제
PART 7 클래스와 객체
7.1 클래스
7.1.1 클래스의 정의
7.1.2 클래스 변수의 선언
7.1.3 클래스 멤버의 참조
7.1.4 클래스 멤버 함수와 자동 인라인
7.2 클래스 변수의 초기화
7.3 멤버 함수로부터의 반환
7.4 멤버 함수의 디폴트 값 인수와 오버로드
7.4.1 멤버 함수의 디폴트 값 인수
7.4.2 멤버 함수의 오버로드
7.5 클래스 배열과 포인터
7.5.1 클래스 배열
7.5.2 클래스 포인터
7.6 this 포인터
7.7 객체의 대입
7.8 함수에 객체 전달
7.9 객체 반환
연습 문제
PART 8 생성자, 소멸자, 프랜드 함수
8.1 생성자와 소멸자
8.1.1 생성자
8.1.2 생성자를 이용한 클래스 배열의 초기화
8.1.3 생성자와 클래스 포인터
8.1.4 소멸자
8.2 함수에 객체를 참조자로 전달
8.3 프랜드 함수
연습 문제
PART 9 연산자 오버로드
9.1 연산자 오버로드란
9.2 이항 연산자의 오버로드
9.3 단항 연산자의 오버로드
9.4 관계 연산자의 오버로드
9.5 [ ] 연산자의 오버로드
9.6 프랜드 연산자 함수의 사용
연습 문제
PART 10 클래스의 상속
10.1 클래스의 상속
10.2 생성자와 소멸자의 실행
10.3 기본 클래스의 생성자 인수 전달
10.4 다중 상속
10.5 가상 기본 클래스
연습 문제
PART 11 가상 함수와 템플릿
11.1 기본 클래스 포인터
11.2 가상 함수
11.3 순수 가상 함수
11.4 템플릿
11.4.1 템플릿 함수
11.4.2 템플릿 클래스
연습 문제
PART 12 파일 입출력
12.1 파일 처리
12.2 파일 열기와 닫기
12.2.1 파일 열기
12.2.2 파일 닫기
12.3 입출력 멤버 함수
12.3.1 문자 처리 입출력 함수
12.3.2 문자열 처리 입력 함수
연습 문제
01. 반품기한
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
03. 배송상태에 따른 환불안내
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
04. 취소방법
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
06. 취소반품 불가 사유
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |