2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

C++에서 조건문(if, switch)의 사용법은?

Q1: C++에서 if 문은 어떻게 사용하나요?
A1: if 문은 조건이 참(true)일 때 특정 코드를 실행하는 제어문입니다. 기본 형식은 다음과 같습니다.
```cpp
if (조건식) {
// 조건이 참일 때 실행할 문장
}
```
예:
```cpp
int x = 10;
if (x > 5) {
std::cout << "x는 5보다 크다." << std::endl;
}
```

---

Q2: if-else 문은 어떻게 작성하나요?
A2: if-else 문은 조건이 참일 때와 거짓일 때 각각 다른 코드를 실행할 때 사용합니다.
```cpp
if (조건식) {
// 조건이 참일 때 문장
} else {
// 조건이 거짓일 때 문장
}
```
예:
```cpp
int x = 3;
if (x % 2 == 0) {
std::cout << "짝수입니다." << std::endl;
} else {
std::cout << "홀수입니다." << std::endl;
}
```

---

Q3: if-else if-else 문은 어떻게 사용하나요?
A3: 여러 조건을 순차적으로 검사할 때 사용합니다.
```cpp
if (조건1) {
// 조건1이 참일 때
} else if (조건2) {
// 조건1이 거짓이고 조건2가 참일 때
} else {
// 위 조건들이 모두 거짓일 때
}
```
예:
```cpp
int score = 85;
if (score >= 90) {
std::cout << "A 학점" << std::endl;
} else if (score >= 80) {
std::cout << "B 학점" << std::endl;
} else {
std::cout << "C 이하 학점" << std::endl;
}
```

---

Q4: if 문 조건식에서 사용할 수 있는 표현식은?
A4: 조건식에는 불리언(true/false) 값을 반환하는 표현식을 사용할 수 있습니다. 비교 연산자(`==`, `!=`, `<`, `>`, `<=`, `>=`), 논리 연산자(`&&`, `||`, `!`), 그리고 bool 타입 변수가 올 수 있습니다.
예:
```cpp
if ((a > b) && (c != 0)) { ... }
if (flag) { ... } // flag가 bool 타입이라면
```

---

Q5: switch 문은 어떻게 사용하나요?
A5: switch 문은 하나의 정수형 값(또는 enum, char 등) 을 여러 경우로 나누어 처리할 때 사용합니다. 기본 구조는 아래와 같습니다.
```cpp
switch (식) {
case 상수1:
// 상수1일 때 실행 문장
break;
case 상수2:
// 상수2일 때 실행 문장
break;
...
default:
// 위 케이스에 모두 해당하지 않을 때 실행 문장
}
```
예:
```cpp
int day = 3;
switch (day) {
case 1:
std::cout << "월요일" << std::endl;
break;
case 2:
std::cout << "화요일" << std::endl;
break;
case 3:
std::cout << "수요일" << std::endl;
break;
default:
std::cout << "잘못된 요일" << std::endl;
}
```

---

Q6: switch 문에서 break 키워드의 역할은?
A6: break 문은 현재 case 블록을 빠져나와 switch 문 종료를 만듭니다. 없으면 다음 case 문으로 실행이 이어지는 ‘fall-through’ 현상이 일어납니다.
예:
```cpp
switch (x) {
case 1:
std::cout << "1" << std::endl;
// break 없으면 다음 case도 실행됨
case 2:
std::cout << "2" << std::endl;
break;
}
```

---

Q7: switch 문에서 사용할 수 있는 타입은?
A7: switch 식에는 integral 타입(정수형, enum, char 등)만 가능합니다. 실수(float, double)나 문자열(std::string)은 사용할 수 없습니다. C++17부터는 constexpr 변수를 case 상수로 쓸 수 있습니다.

---

Q8: if 문과 switch 문 중 언제 무엇을 쓰는 것이 좋나요?
A8:
- if 문은 복잡한 조건(범위 조건, 논리 조합 등), bool 타입, 또는 다양한 타입 비교에 적합합니다.
- switch 문은 단일 변수에 대해 여러 고정된 상수 비교(특히 정수나 enum 일 때)에서 간결하고 가독성 좋게 사용할 수 있습니다.

---

Q9: if 문에서 중괄호({})는 꼭 써야 하나요?
A9: 조건문 블록이 한 줄일 경우 중괄호 생략 가능하지만 가독성과 유지보수를 위해 사용하는 것이 좋습니다.
```cpp
if (x > 0)
std::cout << "양수"; // 한 줄일 때 가능
// 하지만 권장하지 않음
```

---

Q10: 중첩 if 문이나 중첩 switch 문도 가능한가요?
A10: 네, if 문과 switch 문 모두 중첩 사용이 가능합니다. 반드시 적절한 들여쓰기와 중괄호를 사용해 가독성을 유지하세요.

---

필요 시 더 자세한 코드 예제나 실습법도 안내해 드릴 수 있습니다.
C++에서 조건문은 프로그램의 흐름을 제어하는 중요한 요소입니다. 조건문을 사용하면 특정 조건이 참인지 거짓인지에 따라 프로그램의 실행 경로를 결정할 수 있습니다. C++에서 가장 일반적으로 사용되는 조건문은 `if` 문과 `switch` 문입니다. 아래에서 각각의 사용법에 대해 자세히 설명하겠습니다. 1. `if` 문 `if` 문은 주어진 조건이 참일 때 특정 블록의 코드를 실행하도록 합니다. 기본적인 구조는 다음과 같습니다: ```cpp if (조건) { // 조건이 참일 때 실행할 코드 } ``` 예제 ```cpp include using namespace std; int main() { int number; cout << "숫자를 입력하세요: "; cin >> number; if (number > 0) { cout << "입력한 숫자는 양수입니다." << endl; } else if (number < 0) { cout << "입력한 숫자는 음수입니다." << endl; } else { cout << "입력한 숫자는 0입니다." << endl; } return 0; } ``` 위의 예제에서 사용자는 숫자를 입력하고, 그 숫자가 양수인지 음수인지 또는 0인지에 따라 다른 메시지가 출력됩니다. 중첩된 `if` 문 `if` 문은 중첩해서 사용할 수 있습니다. 즉, `if` 문 안에 또 다른 `if` 문을 넣을 수 있습니다. ```cpp if (조건1) { if (조건2) { // 조건1과 조건2가 모두 참일 때 실행할 코드 } } ``` 2. `switch` 문 `switch` 문은 여러 개의 조건을 검사할 때 유용합니다. 주로 정수형 변수나 열거형(enum) 변수를 검사하는 데 사용됩니다. 기본적인 구조는 다음과 같습니다: ```cpp switch (변수) { case 값1: // 값1일 때 실행할 코드 break; case 값2: // 값2일 때 실행할 코드 break; default: // 어떤 case에도 해당하지 않을 때 실행할 코드 } ``` 예제 ```cpp include using namespace std; int main() { int day; cout << "요일을 입력하세요 (1-7): "; cin >> day; switch (day) { case 1: cout << "월요일" << endl; break; case 2: cout << "화요일" << endl; break; case 3: cout << "수요일" << endl; break; case 4: cout << "목요일" << endl; break; case 5: cout << "금요일" << endl; break; case 6: cout << "토요일" << endl; break; case 7: cout << "일요일" << endl; break; default: cout << "잘못된 입력입니다." << endl; break; } return 0; } ``` 위의 예제에서 사용자는 1부터 7까지의 숫자를 입력하고, 해당 숫자에 따라 요일이 출력됩니다. 만약 1~7 이외의 숫자를 입력하면 "잘못된 입력입니다."라는 메시지가 출력됩니다. `switch` 문과 `if` 문 비교 - 가독성 : `switch` 문은 여러 조건을 검사할 때 가독성이 좋습니다. 특히 많은 경우의 수가 있을 때 유용합니다. - 유연성 : `if` 문은 조건이 복잡할 때 더 유연하게 사용할 수 있습니다. 예를 들어, 범위 조건이나 복합 조건을 검사할 수 있습니다. - 타입 : `switch` 문은 정수형, 문자형, 열거형(enum) 타입에만 사용할 수 있습니다. 반면 `if` 문은 모든 데이터 타입에 사용할 수 있습니다. 결론 C++에서 조건문은 프로그램의 흐름을 제어하는 데 필수적인 요소입니다. `if` 문과 `switch` 문은 각각의 상황에 맞게 적절히 사용하여 프로그램의 로직을 구현할 수 있습니다. 조건문을 잘 활용하면 코드의 가독성과 유지보수성을 높일 수 있습니다.
작성자: 최지윤 [비회원] | 작성일자: 1년 전 2024-09-20 17:11:26
조회수: 211 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.