C++ 프로그래밍 입문

본 과정은 C++ 프로그래밍을 처음 접하는 초보자를 위해 설계되었습니다. 데이터 타입, 연산자, 제어 구조, 함수, 배열, 문자열, 클래스, 동적 메모리, 파일 처리, 그리고 Standard Template Library (STL) 를 포함한 C++ 의 기본 사항을 배우게 됩니다. 이 과정을 마치면 기본적인 C++ 프로그램을 작성하고 이해할 수 있게 됩니다.

C++

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

C++ 프로그래밍 입문은 11개의 안내형 랩과 11개의 후속 챌린지, 총 22개 학습 단원으로 구성된 실습 중심 과정입니다. 작은 프로그램을 작성하고 컴파일하여 실행하는 것부터 시작해 변수, 연산자, 제어 흐름, 함수, 배열, 문자열, 클래스, 예외, 메모리 관리, 파일 입출력, 표준 템플릿 라이브러리(STL)까지 단계적으로 학습합니다.

랩과 챌린지를 짝지은 구성은 안내 학습과 독립적인 적용을 함께 제공합니다. 랩에서는 주제를 구체적인 코딩 작업으로 나누어 익히고, 이어지는 챌린지에서는 온도 변환기, 성적 판정 시스템, 학생 관리 프로그램, 재고 추적기, 학생 명부 같은 작은 프로그램에 같은 개념을 적용합니다.

학습 내용

이 과정을 마치면 다음을 수행할 수 있습니다.

  • g++로 기본 C++ 프로그램을 작성하고 컴파일하며 실행하고 오류를 수정하기
  • 기본 데이터형, 변수, 상수, 형 변환과 산술, 관계, 논리, 비트, 조건 연산자 사용하기
  • 분기와 반복문으로 프로그램 흐름을 제어하고 매개변수, 참조, 오버로딩, 재귀, 함수 원형으로 로직 구성하기
  • 1차원 및 2차원 배열, C 스타일 문자열, std::string, 정렬, 검색, 줄 단위 입력으로 데이터 저장 및 처리하기
  • 클래스, 생성자, 소멸자, 접근 제어, 상속, 오버라이딩, 예외 처리로 간단한 프로그램 모델링하기
  • new와 delete로 동적 객체와 배열을 관리하고 unique_ptr와 shared_ptr로 소유권 표현하기
  • 텍스트 및 바이너리 파일을 읽고 쓰며 vector, list, map, set, stack, queue, sort, find 등의 STL 컨테이너와 알고리즘 사용하기

추천 대상

이 과정은 프로그래밍을 처음 배우는 사람, 다른 언어에서 C++로 전환하는 학습자, 고급 C++ 주제를 공부하기 전에 체계적으로 연습하고 싶은 학생에게 적합합니다.

선수 지식: 프로그래밍 경험은 필요하지 않습니다. 키보드 사용과 터미널 명령을 따라 하는 데 익숙하면 도움이 되며, 첫 번째 랩에서 소스 파일, 컴파일러, 실행 파일, 오류 수정 작업 흐름을 소개합니다.

학습 환경: 모든 랩과 챌린지는 브라우저 기반 Ubuntu 22.04 WebIDE에서 실행됩니다. 터미널에서 .cpp 파일을 편집하고 GNU g++ 컴파일러를 사용하므로 로컬 C++ 도구 체인을 준비할 필요가 없습니다.

자주 묻는 질문

과정은 어떻게 구성되어 있나요?

11개의 안내형 랩마다 같은 주제의 챌린지가 하나씩 이어져 총 22개 단원입니다. 랩에서 문법과 작업 절차를 배우고, 챌린지에서 더 적은 안내로 이를 적용할 수 있는지 확인합니다.

코딩 경험이 없어도 수강할 수 있나요?

네. 변수와 프로그램 로직에 앞서 프로그램 구조, 출력, 컴파일, 실행, 주석, 흔한 문법 오류부터 시작합니다. 후반 주제는 빠르게 진행되므로 정해진 순서대로 실습을 완료하는 것이 좋습니다.

내 컴퓨터에 C++를 설치해야 하나요?

아니요. 실습은 Ubuntu 22.04 WebIDE를 사용하고 g++로 프로그램을 컴파일합니다. 개인 컴퓨터를 설정하지 않고 해당 환경 안에서 컴파일러와 터미널 명령을 연습할 수 있습니다.

고급 또는 실무용 C++까지 다루나요?

아니요. 초보자를 위한 폭넓은 기초를 제공하며 수동 및 스마트 포인터 메모리 관리, 파일 스트림, 객체 지향 기초, 주요 STL 컨테이너를 소개합니다. 사용자 정의 템플릿, 람다, 동시성, 빌드 시스템, 자동화 테스트, 대규모 애플리케이션 설계는 다루지 않습니다.

강사

labby
Labby
Labby is the LabEx teacher.