[C++] 조건문과 반복문

HY K·2024년 8월 19일

이번에는 조건문과 반복문에 대해서 얘기를 해보자.
그렇게 어렵지 않다. C언어 혹은 파이썬을 통해서 조건문과 반복문을 접한 적 있다면 바로 적용이 가능하다(다만 do-while 문의 경우 파이썬에는 없긴하다).


조건문

C++에서는 C언어의 조건문을 그대로 사용한다.

if, if-else, if-else if-else, switch

한번 예시를 들어보자.

# include <iostream>
using namespace std;

int main() {
	int score;
	cout << "점수 입력>>";
	cin >> score;

	if (score > 100 || score < 0) {
		cout << "잘못된 입력입니다." << endl;
		return 0;
	}

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

다음에는 스위치 문의 예시를 한번 들어보자.

# include <iostream>
using namespace std;

int main() {
	int score, div;

	cout << "점수를 입력하세요>>";
	cin >> score;

	if (score > 100 || score < 0) {
		cout << "잘못된 점수입니다>>";
		return 0;
	}

	div = score / 10;
	switch (div) {
		case 10:
		case 9:
			cout << "A입니다." << endl; break;
		case 8:
			cout << "B입니다." << endl; break;
		case 7:
			cout << "C입니다." << endl; break;
		case 6:
			cout << "D입니다." << endl; break;
		default: // 나머지, 기본값을 의미한다.
			cout << "F입니다." << endl; break;
	}
}

default 키워드를 통해서 기본값을 F로 설정하고, default가 아닌 값들은 다른 결과를 출력했다. 그리고 무한반복에 걸리지 않도록 break문을 통해서, 조건이 충족되고 결과가 출력되면 switch 문을 종료하도록 설정하였다.

C++의 조건문은 이정도면 충분할 정도로, 내용이 간단하다.


반복문

이번에는 C++의 반복문에 대해서 알아보도록 하자.
조건문과 마찬가지로, C언어의 반복문을 그대로 가져왔다.

for : 반복 횟수나 반복 범위가 정해져 있는 경우
while : 조건을 만족하는 동안 반복
do-while : 조건을 만족하는 동안 반복하되, 최소 1회 보장

하나하나 예제를 통해서 살펴보자.

# include <iostream>
using namespace std;

int main() {
	int i, a, b, sum = 0;
	cout << "2개의 정수 입력>>";
	cin >> a >> b;
	
	for (i = a; i <= b; i++) {
		sum += i;
	}
	cout << a << "에서 " << b << "까지 합은 " << sum << endl;
}

다음은 while문 예제이다.

# include <iostream>
using namespace std;

int main() {
	int i, a, b, sum = 0;
	cout << "2개의 정수 입력>>";
	cin >> a >> b;
	
	i = a;
	while (i <= b) {
		sum += i;
		i++;
	}
	cout << a << "에서 " << b << "까지 합은 " << sum << endl;
}

그 다음은 do-while 문 예제이다.

# include <iostream>
using namespace std;

int main() {
	int i, a, b, sum = 0;
	cout << "2개의 정수 입력>>";
	cin >> a >> b;
	
	i = a;
	do {
		sum += i;
		i++;
	} while (i <= b);
	cout << a << "에서 " << b << "까지 합은 " << sum << endl;
}

while (조건문) 뒤에 ;을 붙히는 것을 절대로 잊지말자.
그 다음에는, 무한 루프를 돌 수 있는 while(true)문과, 조건을 충족하면 무한 루프를 탈출할 수 있도록 해주는 break, 그리고 continue 문에 대해서 알아보는 예제이다.

# include <iostream>
using namespace std;

int main() {
	int a;
	while (true) {
		cout << "정수 입력>>";
		cin >> a;
		if (a == 0) break;
		if (a % 3 != 0) {
			cout << "No" << endl;
			continue; // 다음 while 문으로 바로 넘어가기
		}
		cout << "Yes" << endl;
	}
}

너무 간단해서 굳이 추가적으로 설명하지 않아도 될 것 같다.

profile
로봇, 드론, SLAM, 제어 공학 초보

0개의 댓글