C++에서 조건문(if, switch)의 사용법은?
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 문 모두 중첩 사용이 가능합니다. 반드시 적절한 들여쓰기와 중괄호를 사용해 가독성을 유지하세요.
---
필요 시 더 자세한 코드 예제나 실습법도 안내해 드릴 수 있습니다.
작성자:
최지윤 [비회원]
| 작성일자: 1년 전
2024-09-20 17:11:26
조회수: 211 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 211 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.