변수와 입출력
1) C++ 프로그램의 기본 구조
- 모든 C++ 프로그램은 main() 함수에서 시작됨
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
| 구성 | 설명 |
| #include <iostream> | 입출력 기능(cin, cout)을 사용하기 위한 헤더 |
| using namespace std; | std::를 생략하기 위해 사용 |
| int main() | 프로그램의 시작점(진입점) |
| return 0; | 프로그램이 정상 종료되었음을 운영체제에 알림 |
2) 변수 (Variable)
- 데이터를 저장하기 위해 메모리에 이름을 붙여 놓은 공간
int age = 20;
예시) 메모리에는 정수 하나가 저장되고, 그 공간의 이름이 age가 됨
- 자료형 + 변수 이름으로 구성
int score;
char grade;
double average;
3) 자료형 (Data Type)
- 저장할 데이터의 종류와 메모리 크기를 결정함
| 자료형 | 저장 데이터 | 저장 공간 | 예시 |
| int | 정수 | 4 byte | 10, -5 |
| float | 실수(단정밀도) | 4 byte | 3.14f |
| double | 실수(배정밀도) | 8 byte | 3.141592 |
| char | 문자 1개 | 1 byte | 'A' |
| bool | 참/거짓 | 1 byte | true |
| string | 문자열 | "Hello" | |
| unsigned int | 양의 정수 | 4 byte | 0 ~ 큰 양수 |
- unsigned는 부호 비트를 사용하지 않고 모든 비트를 숫자 표현에 사용한다.
- 따라서, 음수는 표현할 수 없지만, 양수(0 포함)의 표현 범위가 signed보다 약 2배 넓어진다.
int
-2,147,483,648
~
2,147,483,647
unsigned int
0
~
4,294,967,295
4) 변수 선언과 초기화
① 선언을 통해 메모리만 확보하고, 나중에 값을 대입하는 경우
int num;
num = 10;
② 선언과 동시에 초기화하는 경우
int num = 10;
5) 출력과 입력
① 출력 cout
cout << "점수 : " << score << endl;
② 입력 cin
- 사용자가 입력한 값을 변수에 저장
cin >> score;
6) 연산자
① sizeof 연산자
- 변수나 자료형의 메모리 크기를 알려줌
int num;
cout << sizeof(num);
- 사용법 두 가지
sizeof(int)
sizeof(num)
② 산술 연산자
| 연산자 | 의미 |
| + | 덧셈 |
| - | 뺄셈 |
| * | 곱셈 |
| / | 나눗셈 |
| % | 나머지 |
int a = 10;
int b = 3;
a + b //13
a - b //7
a * b //30
a / b //3, 정수끼리 나누면 몫만 남고 소수점은 버림
a % b //1
③ 비교 연산자
- 비교 결과는 항상 true 아니면 false임
| 연산자 | 의미 |
| == | 같다 |
| != | 다르다 |
| > | 크다 |
| < | 작다 |
| >= | 이상 |
| <= | 이하 |
5 == 5
④ 대입 연산자
- 기본 대입, ==와 =를 헷갈리면 안 됨
a = 10;
- 복합 대입, 코드를 간결하게 만들어줌
a += 3;
a -= 3;
a *= 3;
a /= 3;
a %= 3;
↓
a = a + 3;
a = a - 3;
a = a * 3;
a = a / 3;
a = a % 3;
⑤ 증감 연산자
- 후위 증가, 변수를 대입한 후 증감함
int a = 5;
int b = a++;
↓
a = 6
b = 5
- 전위 증가, 변수를 증감한 후 대입함
int a = 5;
int b = ++a;
↓
a = 6
b = 6
7) 계산기 구현
① 변수 선언
int num1;
int num2;
② 입력
cin >> num1;
cin >> num2;
③ 연산
num1 + num2
num1 - num2
num1 * num2
num1 / num2
num1 % num2
④ 출력
cout << num1 + num2 << endl;
⑤ 예시
#include <iostream>
using namespace std;
void Calculate(void) {
int num1;
int num2;
char op;
char menu;
while (true) {
cout << "첫 번째 수 입력: ";
cin >> num1;
cout << "두 번째 수 입력: ";
cin >> num2;
cout << "연산자 입력: ";
cin >> op;
switch (op) {
case '+':
cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
break;
case '-':
cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
break;
case '*':
cout << num1 << " * " << num2 << " = " << num1 * num2 << endl;
break;
case '/':
if (num2 == 0) {
cout << "0으로 나눌 수 없습니다" << endl;
}
else {
cout << num1 << " / " << num2 << " = " << (double)num1 / num2 << endl;
}
break;
case '%':
if (num2 == 0) {
cout << "0으로 나눌 수 없습니다" << endl;
}
else {
cout << num1 << " % " << num2 << " = " << num1 % num2 << endl;
}
break;
default:
cout << "잘못된 연산자 입력입니다" << endl;
}
while (true)
{
cout << "=====================" << endl;
cout << "1. 계산" << endl;
cout << "2. 종료" << endl;
cout << "=====================" << endl;
cout << "선택 : ";
cin >> menu;
if (menu == '1')
break;
if (menu == '2')
return;
cout << "잘못된 입력입니다.\n";
}
}
}'언리얼 엔진 > 개념 정리' 카테고리의 다른 글
| 개념 정리 - C++(조건문과 반복문) (0) | 2026.07.08 |
|---|---|
| 개념 정리 - C++(배열과 함수) (0) | 2026.07.08 |
| 개념 정리 - 애니메이션 리타기팅 (0) | 2026.07.01 |
| 개념 정리 - 래그돌 (Ragdoll) (0) | 2026.06.30 |
| 개념 정리 - 애니메이션 노티파이 및 사운드 큐 (0) | 2026.06.30 |