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

C#에서 조건문(if, switch)의 사용법은 어떻게 되나요?

_____
Q1: C 에서 if 문을 사용하는 기본 문법은 어떻게 되나요?
A1: if 문의 기본 문법은 다음과 같습니다.
```csharp
if (조건식)
{
// 조건이 참일 때 실행할 코드
}
```
조건식이 true일 경우 블록 내부 코드가 실행됩니다.

---

Q2: if-else 문은 어떻게 작성하나요?
A2: if 조건이 거짓일 때 실행할 코드를 else 블록에 작성합니다.
```csharp
if (조건식)
{
// 조건이 참일 때 실행
}
else
{
// 조건이 거짓일 때 실행
}
```

---

Q3: 여러 조건을 검사하려면 어떻게 하나요?
A3: if-else if-else 구문을 사용하면 됩니다.
```csharp
if (조건1)
{
// 조건1이 참일 때 실행
}
else if (조건2)
{
// 조건2가 참일 때 실행
}
else
{
// 모든 조건이 거짓일 때 실행
}
```

---

Q4: 조건식에 여러 개의 조건을 결합하려면?
A4: 논리 연산자 && (AND), || (OR), ! (NOT)를 사용합니다.
예:
```csharp
if (age > 18 && hasID)
{
// age가 18 초과이고 hasID가 참일 때 실행
}
```

---

Q5: switch 문 기본 사용법은?
A5: switch 문은 변수의 값을 여러 경우에 따라 분기할 때 사용합니다.
```csharp
switch (변수)
{
case 값1:
// 값1일 때 실행 코드
break;
case 값2:
// 값2일 때 실행 코드
break;
default:
// 어떤 case에도 해당하지 않을 때 실행
break;
}
```

---

Q6: switch 문에서 break가 왜 필요한가요?
A6: break 문은 해당 case 블록을 종료하고 switch 문을 빠져나오도록 합니다. 없으면 다음 case가 연속해서 실행되는 fall-through 현상이 발생합니다.

---

Q7: C 7.0 이후 switch 문에서 패턴 매칭은 어떻게 하나요?
A7: C 7.0부터 switch 문에서 타입, 값, 조건문 패턴을 사용할 수 있습니다. 예:
```csharp
switch (obj)
{
case int i:
Console.WriteLine($"int 타입, 값은 {i}");
break;
case string s when s.Length > 5:
Console.WriteLine("문자열 길이 5 초과");
break;
default:
Console.WriteLine("기타 타입");
break;
}
```

---

Q8: if 문과 switch 문 중 언제 어떤 것을 사용해야 하나요?
A8:
- if 문: 복잡한 조건식, 범위 조건, 논리 연산자가 필요한 경우 적합
- switch 문: 단일 변수의 여러 값을 비교할 때 가독성이 좋음

---

Q9: 조건식에 Boolean 값 이외의 값을 사용할 수 있나요?
A9: C 조건식은 반드시 bool 타입을 반환해야 하며, 정수 등 다른 형을 직접 조건식에 쓸 수 없습니다.

---

Q10: 간단한 조건문을 한 줄로 쓰는 방법이 있나요?
A10: 삼항 연산자(?:)를 사용하여 간단하게 작성할 수 있습니다.
```csharp
var result = (조건식) ? 값1 : 값2;
```
C 에서 조건문은 프로그램의 흐름을 제어하는 중요한 요소입니다.

조건문을 사용하면 특정 조건이 참인지 거짓인지에 따라 코드의 실행 경로를 결정할 수 있습니다.

C 에서 가장 많이 사용되는 조건문은 `if` 문과 `switch` 문입니다.

이 두 가지를 자세히 살펴보겠습니다.

1. `if` 문 `if` 문은 주어진 조건이 참일 때 특정 코드를 실행하도록 하는 가장 기본적인 조건문입니다.

기본적인 구조는 다음과 같습니다: ```csharp if (조건) { // 조건이 참일 때 실행할 코드 } ``` 1.1 `else` 문 `if` 문과 함께 `else` 문을 사용하면 조건이 거짓일 때 실행할 코드를 지정할 수 있습니다.

```csharp if (조건) { // 조건이 참일 때 실행할 코드 } else { // 조건이 거짓일 때 실행할 코드 } ``` 1.2 `else if` 문 여러 조건을 검사해야 할 경우 `else if` 문을 사용하여 추가적인 조건을 지정할 수 있습니다.

```csharp if (조건1) { // 조건1이 참일 때 실행할 코드 } else if (조건

2) { // 조건2가 참일 때 실행할 코드 } else { // 모든 조건이 거짓일 때 실행할 코드 } ``` 1.3 예제 ```csharp int number = 10; if (number > 0) { Console.WriteLine("양수입니다.

"); } else if (number < 0) { Console.WriteLine("음수입니다.

"); } else { Console.WriteLine("0입니다.

"); } ```

2. `switch` 문 `switch` 문은 하나의 변수나 표현식의 값을 여러 개의 경우(case)와 비교하여 해당하는 코드 블록을 실행하는 조건문입니다.

`switch` 문은 여러 조건을 검사할 때 `if` 문보다 더 간결하게 작성할 수 있습니다.

기본적인 구조는 다음과 같습니다: ```csharp switch (변수) { case 값1: // 값1과 일치할 때 실행할 코드 break; case 값2: // 값2와 일치할 때 실행할 코드 break; default: // 어떤 case에도 해당하지 않을 때 실행할 코드 break; } ```

2.1 `case` 문 각 `case` 문은 검사할 값을 정의하며, 해당 값과 일치할 경우 그 아래의 코드를 실행합니다.

`break` 키워드는 `switch` 문을 종료하고, 다음 코드를 실행하게 합니다.



2.2 `default` 문 모든 `case` 문이 일치하지 않을 경우 실행되는 코드를 정의합니다.

`default` 문은 선택 사항이지만, 일반적으로 마지막에 위치합니다.



2.3 예제 ```csharp int day = 3; switch (day) { case 1: Console.WriteLine("월요일"); break; case 2: Console.WriteLine("화요일"); break; case 3: Console.WriteLine("수요일"); break; case 4: Console.WriteLine("목요일"); break; case 5: Console.WriteLine("금요일"); break; case 6: case 7: Console.WriteLine("주말입니다.

"); break; default: Console.WriteLine("유효하지 않은 날입니다.

"); break; } ```

3. `if` 문과 `switch` 문 비교 - 가독성 : `switch` 문은 여러 조건을 비교할 때 더 가독성이 좋습니다.

특히, 조건이 많을 경우 `if` 문보다 더 명확하게 표현할 수 있습니다.

- 유연성 : `if` 문은 복잡한 조건을 사용할 수 있어 더 유연합니다.

예를 들어, 범위 조건이나 논리 연산자를 사용할 수 있습니다.

- 성능 : 성능 측면에서는 일반적으로 `switch` 문이 더 효율적일 수 있습니다.

하지만 이는 특정 상황에 따라 다르므로, 성능이 중요한 경우에는 실제로 측정해보는 것이 좋습니다.

결론 C 에서 조건문은 프로그램의 흐름을 제어하는 데 필수적인 요소입니다.

`if` 문과 `switch` 문은 각각의 장단점이 있으며, 상황에 맞게 적절히 선택하여 사용해야 합니다.

복잡한 조건을 처리할 때는 `if` 문을, 여러 개의 경우를 비교할 때는 `switch` 문을 사용하는 것이 좋습니다.

작성자: 이은지 [비회원] | 작성일자: 1년 전 2024-09-09 08:39:10
조회수: 161 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.