학습
C++ 기본 문법
C++ 기본 문법 — 초급
C++ 기본 문법
1. 도입 (왜 배워야 하는가)
C++는 시스템 소프트웨어, 게임 개발, 임베디드 시스템 등 다양한 분야에서 널리 사용되는 프로그래밍 언어입니다. 기본 문법을 이해하는 것은 C++에서 효과적으로 프로그래밍을 하기 위한 첫걸음입니다. 만약 기본 문법을 모른다면, 복잡한 프로그램을 작성할 때 문법 오류로 인해 코드를 이해하거나 디버깅하는 데 어려움을 겪을 수 있습니다. 또한, 다른 프로그래밍 언어를 배우는 데에도 기본 문법의 이해는 필수적입니다.
2. 핵심 개념 설명
C++의 기본 문법은 변수, 데이터 타입, 제어문, 함수 등으로 구성됩니다. 각각의 개념을 실생활 비유로 설명하겠습니다.
- 변수: 변수는 데이터를 저장하는 공간입니다. 마치 냉장고에 음식을 보관하는 것과 같습니다. 냉장고의 각 칸에 음식을 넣어두면 언제든지 꺼내 쓸 수 있는 것처럼, 변수에 데이터를 저장하면 필요할 때 사용할 수 있습니다.
- 데이터 타입: 데이터 타입은 변수에 저장할 수 있는 데이터의 종류를 정의합니다. 예를 들어, 정수형(int)은 정수만 저장할 수 있는 냉장고의 한 칸과 같고, 문자형(char)은 글자만 저장할 수 있는 또 다른 칸과 같습니다.
- 제어문: 제어문은 프로그램의 흐름을 제어하는 명령입니다. 예를 들어, "비가 오면 우산을 가져가고, 비가 안 오면 가방만 가지고 가라"라는 규칙을 설정하는 것과 비슷합니다.
- 함수: 함수는 특정 작업을 수행하는 코드 블록입니다. 요리 레시피와 같아서, 특정 재료를 사용하여 요리를 만드는 방법을 정리해둔 것입니다.
| 용어 | 설명 |
|---|---|
| 변수 | 데이터를 저장하는 공간 |
| 데이터 타입 | 변수에 저장할 수 있는 데이터의 종류 |
| 제어문 | 프로그램의 흐름을 제어하는 명령 |
| 함수 | 특정 작업을 수행하는 코드 블록 |
3. 기본 코드 예제
아래는 C++의 기본 문법을 사용한 간단한 프로그램입니다.
#include <iostream> // 입출력 라이브러리 포함
int main() { // 프로그램의 시작
int age = 25; // 정수형 변수 age를 선언하고 25로 초기화
std::cout << "내 나이는 " << age << "세입니다." << std::endl; // age를 출력
return 0; // 프로그램 종료
}
실행 결과
내 나이는 25세입니다.
코드 한 줄씩 동작 설명
#include <iostream>: C++의 입출력 기능을 사용하기 위해 iostream 라이브러리를 포함합니다.int main(): 프로그램의 시작을 알리는 main 함수입니다.int age = 25;: 정수형 변수 age를 선언하고, 25라는 값으로 초기화합니다.std::cout << "내 나이는 " << age << "세입니다." << std::endl;: age 변수를 포함하여 문자열을 출력합니다.return 0;: 프로그램이 정상적으로 종료되었음을 나타냅니다.- 학생 성적 관리 프로그램
- 간단한 계산기
- 변수 초기화 누락
- 데이터 타입 불일치
- 제어문 조건식 오류
- C++의 기본 문법은 변수, 데이터 타입, 제어문, 함수 등으로 구성되어 있습니다.
- 변수를 통해 데이터를 저장하고, 데이터 타입으로 그 종류를 정의합니다.
- 제어문을 사용하여 프로그램의 흐름을 제어할 수 있습니다.
- 함수를 사용하면 특정 작업을 재사용 가능하게 할 수 있습니다.
- C++의 조건문과 반복문
- 함수의 정의와 호출
- 배열과 문자열 처리
4. 실전 활용 예제
- 상황: 학생의 성적을 입력받고, 평균을 계산하여 출력하는 프로그램을 작성합니다.
#include <iostream>
using namespace std;
int main() {
int score1, score2, score3;
cout << "첫 번째 성적을 입력하세요: ";
cin >> score1; // 첫 번째 성적 입력
cout << "두 번째 성적을 입력하세요: ";
cin >> score2; // 두 번째 성적 입력
cout << "세 번째 성적을 입력하세요: ";
cin >> score3; // 세 번째 성적 입력
double average = (score1 + score2 + score3) / 3.0; // 평균 계산
cout << "학생의 평균 성적은 " << average << "입니다." << endl; // 평균 출력
return 0;
}
- 상황: 두 숫자를 입력받아 더하기, 빼기, 곱하기, 나누기를 수행하는 프로그램입니다.
#include <iostream>
using namespace std;
int main() {
int num1, num2;
cout << "첫 번째 숫자를 입력하세요: ";
cin >> num1; // 첫 번째 숫자 입력
cout << "두 번째 숫자를 입력하세요: ";
cin >> num2; // 두 번째 숫자 입력
cout << "덧셈: " << num1 + num2 << endl; // 덧셈 결과 출력
cout << "뺄셈: " << num1 - num2 << endl; // 뺄셈 결과 출력
cout << "곱셈: " << num1 * num2 << endl; // 곱셈 결과 출력
if (num2 != 0) {
cout << "나눗셈: " << num1 / num2 << endl; // 나눗셈 결과 출력
} else {
cout << "0으로 나눌 수 없습니다." << endl; // 0으로 나누는 경우 처리
}
return 0;
}
5. 흔한 실수와 주의사항
- 잘못된 코드:
int age;
std::cout << "내 나이는 " << age << "세입니다." << std::endl; // 초기화 하지 않은 변수 사용
- 올바른 코드:
int age = 25;
std::cout << "내 나이는 " << age << "세입니다." << std::endl; // 초기화 후 사용
- 잘못된 코드:
int age = "25"; // 정수형에 문자열 대입
- 올바른 코드:
int age = 25; // 정수형에 정수를 대입
- 잘못된 코드:
if (num2 = 0) { // 대입 연산자를 사용함
std::cout << "0으로 나눌 수 없습니다." << std::endl;
}
- 올바른 코드:
if (num2 == 0) { // 비교 연산자를 사용함
std::cout << "0으로 나눌 수 없습니다." << std::endl;
}
6. 정리
다음에 학습하면 좋은 주제: