언리얼 엔진/개념 정리

개념 정리 - C++(변수와 입출력)

journey46110 2026. 7. 8. 12:41

변수와 입출력

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";
		}
	}
}