언리얼 엔진/개념 정리

개념 정리 - C++(조건문과 반복문)

journey46110 2026. 7. 8. 20:23

I. 조건문 (Conditional Statement)

1) 조건문의 정의

- 조건의 참(true) / 거짓(false)에 따라 실행할 코드를 결정하는 문법

- 프로그램의 흐름을 분기할 때 사용

 

 

2) if문

if (score >= 60)   //조건식
{
    cout << "합격";
}

- 조건식이 이면 실행

- 거짓이면 아무것도 하지 않음

 

 

3) if-else문

if (num % 2 == 0)
{
    cout << "짝수";
}
else
{
    cout << "홀수";
}

- 조건식이 참이면 if의 실행문을 작동함

- 거짓이면 else의 실행문을 작동함

- 둘 중 하나만 실행

 

 

4) if-else if-else문

if (score >= 90)
    cout << "A";
else if (score >= 80)
    cout << "B";
else if (score >= 70)
    cout << "C";
else
    cout << "F";

- 위에서부터 차례대로 조건을 검사함

- 가장 먼저 참이 되는 조건의 실행문을 작동함

- 불필요한 else를 줄이고, else if를 사용하면 가독성이 좋아짐

 

 

5) 복합 조건

① AND (&&)

- 모든 조건이 참이어야 참으로 판단

if (score >= 60 && attendance >= 80)

 

 

② OR (||)

- 하나의 조건만 참이어도 참으로 판단

if (age < 8 || age >= 65)

 

 

6) switch문

- 하나의 변수나 식의 값에 따라 여러 경우(case) 중 하나를 선택하여 실행하는 조건문

- if-else if를 대신하여 값을 비교하는 경우에 많이 사용함

char op = '+';

switch (op)
{
    case '+':
        cout << "덧셈";
        break;

    case '-':
        cout << "뺄셈";
        break;

    case '*':
        cout << "곱셈";
        break;

    case '/':
        cout << "나눗셈";
        break;

    default:
        cout << "잘못된 연산자";
}

switch의 값 확인 -> 일치하는 case 확인 -> 해당 case부터 실행 -> break를 만나면 종료

- default는 else와 똑같은 역할을 함

- 일부러 break를 쓰지 않는 경우도 있음 (fall-through)

 

 

II. 반복문 (Loop)

1) 반복문의 정의

- 같은 작업을 여러 번 반복할 때 사용하는 문법

- 대표적으로 for, while이 있음

 

 

2) for문

- 주로 반복 횟수가 명확할 때 사용함

for (int i = 1; i <= 5; ++i) //--i도 가능
{
    cout << i << endl;
}

for (int i = 1; i <= 20; ++i)
{
    if (i % 3 == 0)
        cout << i << endl;
}

초기화 -> 조건 검사 -> 실행 -> 증감 -> 조건 검사 -> ... 의 순서로 실행됨

 

 

3) 중첩 반복문

- 반복문 안에 반복문을 넣는 것

 

예시

#include <iostream>
using namespace std;

void printDiamond() {
    int num;

    do {
        cout << "입력: ";
        cin >> num;

        if (num <= 1) {
            cout << "2 이상의 수를 입력하세요" << endl;
        }
    } while (num <= 1);

    for (int row = 1; row <= num; ++row) { //중첩 반복문
        for (int space = 1; space <= num - row; ++space) cout << " ";
        for (int star = 1; star <= 2 * row - 1; ++star) cout << "*";
        cout << endl;
    }

    for (int row = num - 1; row >= 1; row--) { //중첩 반복문
        for (int space = 1; space <= num - row; ++space) cout << " ";
        for (int star = 1; star <= 2 * row - 1; ++star) cout << "*";
        cout << endl;
    }
}

 

 

4) while문

- 주로 반복 횟수를 모를 때 사용함

while (num != 0)
{
    cin >> num;
}

조건 검사 -> 실행 -> 조건 검사 -> 실행 -> ... 의 순서로 실행됨

 

무한 반복

while (true)
{
}

- break나 return으로 탈출 가능

- break는 해당 반복문만 종료시키고, return은 해당 함수를 종료시킴

 

 

5) do-while문

- 실행문을 일단 한 번 실행을 한 후 조건을 검사함

#include <iostream>

using namespace std;

void gradeArray(void) {
	const int studentCount = 5;
	double score[studentCount] = {};
	double totalScore = 0;                                          //총합
	double avgScore;                                                //평균

	for (int i = 0; i < studentCount; i++) {
		do {                                //do-while문, 실행 한 번을 먼저함
			cout << i + 1 << "번째 학생 점수를 입력하세요 (0~100): ";
			cin >> score[i];

			if (score[i] < 0 || score[i] > 100)
				cout << "잘못된 점수입니다. 0~100 사이의 점수를 입력하세요" << endl;
		} while (score[i] < 0 || score[i] > 100);
		totalScore += score[i];
	}

	avgScore = totalScore / studentCount;

	cout << "총점: " << totalScore << endl;
	cout << "평균: " << avgScore << endl;
}

 

실행 -> 조건 검사 -> 실행 -> ... 의 순서로 실행됨