두들낙서의 C/C++ 한꺼번에 배우기

최고의 명강의를 한 권에 담은


  • 최지훈 지음

  • 프로그래밍 & 프랙티스 시리즈_029
  • ISBN: 9791158392581
  • 책 규격: 188*240*25mm
  • 27,000원 | 2021년 06월 4일 발행 | 600쪽



최고의 명강의를 통해서 C와 C++를 한꺼번에 배울 수 있습니다!

이 책은 코딩 입문자나 C와 C++를 처음 배우는 사람들을 위한 입문서로, 코딩을 처음 배우는 사람도 쉽게 C와 C++의 문법을 익히면서 코딩을 시작할 수 있습니다. C++는 C의 확장판이라고도 할 수 있기 때문에 C++를 배우기 위해서는 C를 배워야 하고, C만 배우는 것보다는 편리한 C++도 배우면 더욱 능률적으로 코딩을 할 수 있습니다. 그러니 C와 C++를 함께 배워보면 어떨까요?

★ 이 책의 특징 ★

  • 책 한 권으로 C와 C++를 한꺼번에 배울 수 있습니다.
  • 사례를 통해 각 개념이 왜 필요한지를 알 수 있습니다.
  • 풍부한 예제를 통해 코드를 직접 작성해 보면서 개념을 익힐 수 있습니다.
  • 연습문제를 통해 배운 내용을 확인해볼 수 있습니다.
  • 이해를 돕기 위한 동영상 강좌도 제공됩니다.

★ 이 책에서 다루는 내용 ★

  • C와 C++의 기본적인 문법과 활용을 배웁니다.
  • C와 C++를 사용해 기초 코딩 실력을 기릅니다.
  • 객체지향 프로그래밍의 개념과 원리에 대해 배웁니다.

 

도서 상세 이미지

최지훈

서울대학교 컴퓨터공학부 재학 중. 13,000명 이상의 구독자를 보유한 유튜브 채널 ‘두들낙서’에 강좌를 올려 2015년부터 지식 나눔을 하고 있으며, 2년 넘게 학원에서 정보올림피아드 알고리즘과 영재고생 대상 기초 프로그래밍을 지도하고 있다.

  • ▣ 01장: 출력하기
    • 1.1 Hello, world!
      • 1.1.1 프로젝트 만들기
      • 1.1.2 첫 프로그램 만들기
    • 1.2 Hello, world! 해석하기
    • 1.3 printf로 다양한 데이터 출력하기
      • 1.3.1 소스 파일 추가하기
      • 1.3.2 정수의 덧셈 결과 출력하기: 2 + 3 = 5
      • 1.3.3 서식 지정자
    •  
  • ▣ 02장: 변수와 연산자
    • 2.1 변수 사용하기
      • 2.1.1 변수의 선언과 대입
      • 2.1.2 변수의 초기화
      • 2.1.3 변수의 이름
    • 2.2 자료형
      • 2.2.1 int와 float
      • 2.2.2 비트와 바이트
      • 2.2.3 이진법과 정수 자료형
      • 2.2.4 여러 가지 자료형
      • 2.2.5 sizeof 연산자
    • 2.3 형변환
    • 2.4 char형과 ASCII 코드
      • 2.4.1 문자끼리의 덧셈: '2' + '3' = 'e'
      • 2.4.2 문자형으로서의 char형
    • 2.5 변수로 연산하기
      • 2.5.1 대입 연산자와 복합 대입 연산자
      • 2.5.2 증감 연산자
      • 2.5.3 비교 연산자와 진릿값
      • 2.5.4 논리 연산자
      • 2.5.5 연산자의 우선순위
    •  
  • ▣ 03장: 입력받기
    • 3.1 scanf 사용하기
    • 3.2 scanf의 서식 지정자
    • 3.3 scanf 함수 관련 보안 문제
    •  
  • ▣ 04장: 제어문
    • 4.1 if문으로 경우 나누기
      • 4.1.1 if문
      • 4.1.2 if-else
      • 4.1.3 else if
    • 4.2 if문 심화
      • 4.2.1 중첩 if문
      • 4.2.2 중첩 if문의 관점으로 본 else if
      • 4.2.3 if문과 여러 가지 코딩 스타일
    • 4.3 switch문
    • 4.4 goto문
    • 4.5 while문으로 반복하기
      • 4.5.1 while문
      • 4.5.2 do-while문
    • 4.6 for문으로 반복하기
    • 4.7 for문 심화
      • 4.7.1 조건 생략하기
      • 4.7.2 두 개 이상의 조건 사용하기
      • 4.7.3 break와 continue: 반복문 조작하기
      • 4.7.4 중첩 for문
    •  
  • ▣ 05장: 배열과 포인터
    • 5.1 배열
      • 5.1.1 배열의 선언과 사용
      • 5.1.2 배열의 초기화
    • 5.2 배열 활용
      • 5.2.1 거꾸로 출력하기
      • 5.2.2 최대, 최소 구하기
      • 5.2.3 짝수의 개수 구하기
    • 5.3 다차원 배열
      • 5.3.1 이차원 배열
      • 5.3.2 다차원 배열
    • 5.4 문자열
      • 5.4.1 문자열의 초기화와 출력
      • 5.4.2 문자열 입력받기
      • 5.4.3 문자열 관련 함수
    • 5.5 변수 가리키기 – 포인터
      • 5.5.1 포인터의 사용
      • 5.5.2 널 포인터
      • 5.5.3 더블 포인터
    • 5.6 배열과 포인터와의 관계
    • 5.7 배열 가리키기 – 배열 포인터
    • 5.8 이차원 배열과 배열 포인터
    • 5.9 포인터 배열
    •  
  • ▣ 06장: 함수
    • 6.1 함수의 정의와 호출
    • 6.2 함수를 만들어 보자!
    • 6.3 변수의 스코프, 지역 변수와 전역 변수
      • 6.3.1 블록 스코프
      • 6.3.2 함수 스코프
    • 6.4 함수의 반환
    • 6.5 Call-by-value, Call-by-address, Call-by-reference
    • 6.6 프로토타입(함수 원형)
    • 6.7 재귀 함수
    • 6.8 배열을 매개변수로 넘기기
      • 6.8.1 일차원 배열 매개변수
      • 6.8.2 이차원 배열 매개변수
    •  
  • ▣ 07장: 구조체
    • 7.1 typedef
    • 7.2 구조체 만들기
      • 7.2.1 구조체 만들기
      • 7.2.2 구조체 타입 정의하기
      • 7.2.3 구조체 활용
    • 7.3 구조체와 메모리
    • 7.4 구조체 변수 가리키기
    • 7.5 구조체와 함수
      • 7.5.1 구조체 매개변수의 Call-by-value와 Call-by-address
      • 7.5.2 구조체에 함수 집어넣기
    •  
  • ▣ 08장: C언어 고급 기능
    • 8.1 상수 만들기
      • 8.1.1 const 키워드
      • 8.1.2 매크로
      • 8.1.3 enum
    • 8.2 매크로 자세히 알아보기
    • 8.3 비트 연산
      • 8.3.1 비트 연산자의 종류
      • 8.3.2 비트 연산자 활용
    • 8.4 파일 입출력
      • 8.4.1 스트림
      • 8.4.2 Visual Studio에서 파일 만들기
      • 8.4.3 파일 입출력
    • 8.5 유용한 함수들
      • 8.5.1 getchar, putchar, gets, puts – 문자와 문자열 입출력
      • 8.5.2 sscanf와 sprintf – 문자열 스트림 입출력
      • 8.5.3 rand와 time – 난수 발생과 현재 시각 얻어오기
      • 8.5.4 exit – 프로그램 종료하기
    •  
  • ▣ 09장: C++ 스타일 기본 문법
    • 9.1 C++ 스타일 입출력
    • 9.2 string
    • 9.3 C++에서는 의미가 좀 다른 초기화
    • 9.4 레퍼런스와 r-value 참조
      • 9.4.1 레퍼런스 변수
      • 9.4.2 r-value 참조
    • 9.5 범위 기반 for문
    • 9.6 C++ 스타일 함수
      • 9.6.1 함수 오버로딩
      • 9.6.2 디폴트 매개변수
    •  
  • ▣ 10장: 객체와 클래스
    • 10.1 네임스페이스
      • 10.1.1 네임스페이스의 개념
      • 10.1.2 네임스페이스 만들고 사용하기
      • 10.1.3 네임스페이스와 함수 정의
      • 10.1.4 중첩 네임스페이스
      • 10.1.5 using문
    • 10.2 클래스와 객체
      • 10.2.1 클래스와 객체의 개념
      • 10.2.2 TV 클래스 만들기
      • 10.2.3 접근 제어
    • 10.3 this 포인터
    • 10.4 객체의 생성과 소멸
      • 10.4.1 객체의 생성과 소멸 시기
      • 10.4.2 생성자 활용하기
      • 10.4.3 생성자 오버로딩과 기본 생성자
    • 10.5 생성자의 다양한 사용법
    • 10.6 정적 멤버
      • 10.6.1 정적 멤버 메서드
      • 10.6.2 정적 멤버 변수
    • 10.7 상수형 메서드
    • 10.8 메서드 선언과 정의 분리하기
    • 10.9 연산자 오버로딩
      • 10.9.1 멤버 메서드로 객체끼리 연산하기
      • 10.9.2 사칙연산자 오버로딩
    •  
  • ▣ 11장: 동적 할당과 객체 복사
    • 11.1 동적 할당
      • 11.1.1 변수 동적 할당하기
      • 11.1.2 배열 동적 할당하기
      • 11.1.3 객체 동적 할당하기
    • 11.2 깊은 복사와 얕은 복사
    • 11.3 복사 생성자와 복사 대입 연산자
      • 11.3.1 String 클래스 만들기
      • 11.3.2 복사 생성자 오버로딩
      • 11.3.3 복사 대입 연산자 오버로딩
    • 11.4 이동 시맨틱
    • 11.5 이동 생성자와 이동 대입 연산자
      • 11.5.1 String 클래스 보강하기
      • 11.5.2 이동 생성자 및 이동 대입 연산자 오버로딩
    • 11.6 묵시적 형변환
      • 11.6.1 묵시적 형변환의 개념
      • 11.6.2 형변환 생성자 오버로딩
      • 11.6.3 형변환 연산자 오버로딩
      • 11.6.4 explicit 키워드
    •  
  • ▣ 12장: 상속
    • 12.1 상속 기초
      • 12.1.1 상속의 개념
      • 12.1.2 상속과 접근 제어
      • 12.1.3 상속 예제
    • 12.2 상속 관계에서의 생성/소멸자
    • 12.3 상속이 필요한 이유(1)
    • 12.4 오버라이딩
      • 12.4.1 멤버 재정의와 정적 바인딩
      • 12.4.2 가상 함수, 오버라이딩과 동적 바인딩
      • 12.4.3 가상 소멸자
    • 12.5 상속이 필요한 이유(2)
    • 12.6 순수 가상 함수와 추상 클래스
    • 12.7 상속 관계에서의 형변환
      • 12.7.1 업캐스팅
      • 12.7.2 다운캐스팅
      • 12.7.3 RTTI와 dynamic_cast
    • 12.8 객체지향 프로그래밍의 4대 원리
      • 12.8.1 캡슐화
      • 12.8.2 상속성
      • 12.8.3 다형성
      • 12.8.4 추상화
    • 12.9 객체지향 프로그래밍의 문제점
      • 12.9.1 다중 상속과 다이아몬드 문제
      • 12.9.2 정사각형과 직사각형 문제
    •  
  • ▣ 13장: C++ 고급 기능
    • 13.1 템플릿
      • 13.1.1 함수 템플릿
      • 13.1.2 클래스 템플릿
      • 13.1.3 템플릿 특수화
      • 13.1.4 비타입 파라미터
    • 13.2 예외 처리
    • 13.3 auto
    • 13.4 함수 포인터, 함수 객체와 람다식
      • 13.4.1 함수 포인터
      • 13.4.2 함수 객체
      • 13.4.3 람다식
    • 13.5 friend
    • 13.6 메모리 소유권과 스마트 포인터
      • 13.6.1 메모리 소유권
      • 13.6.2 unique_ptr
      • 13.6.3 shared_ptr
      • 13.6.4 weak_ptr
    • 13.7 STL
      • 13.7.1 vector
      • 13.7.2 pair
      • 13.7.3 map
      • 13.7.4 sort
    •  
  • ▣ 부록A: 종합문제 해답
    •  
  • ▣ 부록B: ASCII 코드표
  • 141쪽, 본문 맨 마지막 줄

    이 행은 4칸짜리 이차원 배열로 볼 수 있습니다.

    ==>

    이 행은 4칸짜리 일차원 배열로 볼 수 있습니다.

동영상 강좌