안녕하세요. CodeMuscle 입니다.
오늘은 조건문과 반복문을 배워보겠읍니다.
C++에서 제어문은 프로그램의 흐름을 제어하는 역할을 합니다. 제어문을 통해 조건에 따라 특정 코드를 실행하거나, 반복문을 통해 반복 작업을 수행할 수 있습니다. 이번 글에서는 C++의 제어문 중 조건문과 반복문을 상세하게 설명하고, 관련된 예시와 코드도 함께 알아봅시당.
조건문
조건문은 프로그램이 특정 조건을 만족할 때에만 코드를 실행하도록 합니다. 이로써 다양한 상황에 맞는 처리가 가능합니다.
1. if, else if, else 문
if 문은 주어진 조건이 참일 때 코드를 실행합니다. else if 문은 이전 조건이 거짓일 때 새로운 조건을 검사하며, else 문은 앞선 모든 조건이 거짓일 때 실행되는 코드 블록을 정의합니다.
예시:
int num = 10;
if (num > 0) {
std::cout << "Positive number" << std::endl;
} else if (num < 0) {
std::cout << "Negative number" << std::endl;
} else {
std::cout << "Zero" << std::endl;
}
- num이 0보다 크면 "Positive number"가 출력됩니다.
- num이 0보다 작으면 "Negative number"가 출력됩니다.
- num이 0일 경우 "Zero"가 출력됩니다.
추가 예시:
int age = 20;
if (age >= 18) {
std::cout << "Adult" << std::endl;
} else {
std::cout << "Minor" << std::endl;
}
- age가 18 이상이면 "Adult"가 출력되고, 그렇지 않으면 "Minor"가 출력됩니다.
2. switch 문
switch 문은 여러 가지 경우 중 하나를 선택하여 실행하고자 할 때 사용합니다. 각 경우는 case 키워드를 사용해 정의하며, break를 통해 해당 블록이 끝나면 빠져나가게 합니다. default는 모든 case가 일치하지 않을 때 실행됩니다.
예시:
char grade = 'B';
switch (grade) {
case 'A':
std::cout << "Excellent" << std::endl;
break;
case 'B':
std::cout << "Good" << std::endl;
break;
case 'C':
std::cout << "Fair" << std::endl;
break;
default:
std::cout << "Needs Improvement" << std::endl;
}
- grade가 'B'일 경우 "Good"이 출력됩니다.
- break가 없으면 다음 case로 계속 진행되므로, 각 case 끝에 break를 사용하는 것이 중요합니다.
추가 예시:
int day = 3;
switch (day) {
case 1:
std::cout << "Monday" << std::endl;
break;
case 2:
std::cout << "Tuesday" << std::endl;
break;
case 3:
std::cout << "Wednesday" << std::endl;
break;
default:
std::cout << "Another day" << std::endl;
}
- day가 3일 경우 "Wednesday"가 출력됩니다.
반복문
반복문은 특정 코드 블록을 여러 번 실행할 때 사용됩니다. 반복문에는 for, while, do-while 등이 있습니다.
1. for 반복문
for 반복문은 반복 횟수가 명확할 때 사용합니다. 초기값, 조건, 증감식을 통해 반복을 제어합니다.
예시:
for (int i = 0; i < 5; i++) {
std::cout << "Iteration " << i << std::endl;
}
- i는 0부터 시작해 5보다 작을 때까지 1씩 증가하며, 총 5번 반복됩니다.
- 출력 결과는 "Iteration 0"부터 "Iteration 4"까지입니다.
추가 예시:
for (int i = 10; i > 0; i--) {
std::cout << "Countdown: " << i << std::endl;
}
- i는 10부터 시작해 0보다 클 때까지 1씩 감소하며, 카운트다운을 출력합니다.
2. while 반복문
while 반복문은 조건이 참인 동안 계속해서 실행됩니다. 반복 횟수가 명확하지 않거나 조건에 따라 반복이 종료될 때 유용합니다.
예시:
int count = 0;
while (count < 5) {
std::cout << "Count: " << count << std::endl;
count++;
}
- count가 5보다 작을 동안 반복이 실행되며, count가 5에 도달하면 반복이 종료됩니다.
추가 예시:
int number = 1;
while (number <= 10) {
if (number % 2 == 0) {
std::cout << "Even number: " << number << std::endl;
}
number++;
}
- 1부터 10까지의 수 중에서 짝수만 출력합니다.
3. do-while 반복문
do-while 반복문은 최소 한 번은 코드 블록을 실행한 후, 조건을 검사하여 반복 여부를 결정합니다.
예시:
int number;
do {
std::cout << "Enter a positive number: ";
std::cin >> number;
} while (number <= 0);
- 사용자가 양수를 입력할 때까지 반복해서 입력을 받습니다. 최소 한 번은 실행되기 때문에 입력이 반드시 요구됩니다.
추가 예시:
char again;
do {
std::cout << "Do you want to continue? (y/n): ";
std::cin >> again;
} while (again == 'y' || again == 'Y');
- 사용자가 'y' 또는 'Y'를 입력하면 반복이 계속됩니다.
break와 continue
- break: 반복문을 즉시 종료합니다.
- continue: 반복문의 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.
예시:
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue; // `i`가 5일 때는 건너뜁니다.
}
if (i == 8) {
break; // `i`가 8일 때 반복문을 종료합니다.
}
std::cout << i << std::endl;
}
- i가 5일 때 출력하지 않고 건너뛰며, i가 8이 되면 반복문을 종료합니다.
추가 예시:
int i = 0;
while (i < 10) {
i++;
if (i % 2 == 0) {
continue; // 짝수일 경우 건너뜁니다.
}
std::cout << "Odd number: " << i << std::endl;
}
- i가 짝수일 때는 출력하지 않고, 홀수일 때만 출력합니다.
제어문 응용 버전
제어문은 중첩해서 사용할 수 있으며, 이를 통해 복잡한 조건을 처리할 수 있습니다.
예시:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
std::cout << "i: " << i << ", j: " << j << std::endl;
}
}
- 이중 for 반복문을 사용하여 i와 j의 모든 조합을 출력합니다.
추가 예시:
int rows = 3;
int cols = 4;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << "* ";
}
std::cout << std::endl;
}
- 3행 4열의 별(*) 모양을 출력합니다.
goto 사용법 (비추천)
goto는 코드의 특정 위치로 점프할 수 있게 해주지만, 프로그램의 흐름을 어렵게 만들어 유지보수가 힘들어집니다. 가독성을 해치기 때문에 사용을 권장하지 않아용~
예시:
int num = 10;
if (num == 10) {
goto label;
}
std::cout << "This will be skipped" << std::endl;
label:
std::cout << "Jumped to label" << std::endl;
- goto를 사용하면 label로 이동하여 "This will be skipped" 부분을 건너뜁니다.
추가 예시:
int x = 0;
label:
x++;
std::cout << "x: " << x << std::endl;
if (x < 5) {
goto label;
}
- x가 5보다 작을 동안 label로 이동하여 반복적으로 출력합니다.
마무리
이번 글에서는 C++에서 프로그램의 흐름을 제어하는 조건문과 반복문에 대해 알아보았습니다. 이러한 제어문은 프로그램이 다양한 상황에 맞춰 유연하게 동작할 수 있도록 해줍니다. 연습을 통해 각 제어문의 사용법을 익히고, 다양한 문제에 적용해 보세요.
더 많은 예제를 통해 실습해 보면 제어문을 보다 쉽게 이해할 수 있을 것입니다. 꾸준한 연습이 중요하니, 다양한 조건과 반복문을 활용한 코딩 연습을 해보세요!
매무리
이 글에서는 C++에서 제어문을 사용하여 프로그램의 흐름을 제어하는 방법에 대해 배워봤읍니다.
'언어 > C++' 카테고리의 다른 글
5일차)C++ 문법 단기간에 끝내기!! _기초 문법편5 (1) | 2024.12.02 |
---|---|
4일차)C++ 문법 단기간에 끝내기!! _기초 문법편4 (0) | 2024.12.01 |
3일차)C++ 문법 단기간에 끝내기!! _기초 문법편3 (1) | 2024.11.29 |
1일차)C++ 문법 단기간에 끝내기!! _기초 문법편1 (2) | 2024.11.18 |
C++ 문법 단기간에 끝내기!! 목차 (5) | 2024.11.17 |