Study/C#

C# 조건문과 반복문을 통한 프로그램 흐름 제어 2편

wawManager 2024. 10. 21. 12:00
728x90

1. 조건문

조건문은 프로그램의 흐름을 제어하는 기본적인 구조입니다. 특정 조건에 따라 코드를 실행할지 결정하는 데 사용됩니다.

if 문

if 문은 조건이 참일 때만 특정 코드 블록을 실행합니다

int number = 10;
if (number > 5)
{
    Console.WriteLine("5보다 큽니다.");
}

if-else 문

if 문 뒤에 else 문을 추가하여 조건이 거짓일 때 실행할 코드를 지정할 수 있습니다.

int number = 3;
if (number > 5)
{
    Console.WriteLine("5보다 큽니다.");
}
else
{
    Console.WriteLine("5 이하입니다.");
}

else if 문

여러 조건을 연속적으로 확인하려면 else if 문을 사용합니다.

int number = 10;
if (number > 10)
{
    Console.WriteLine("10보다 큽니다.");
}
else if (number == 10)
{
    Console.WriteLine("10입니다.");
}
else
{
    Console.WriteLine("10보다 작습니다.");
}

switch 문

switch 문은 여러 조건을 간단하게 확인할 수 있습니다. 동일한 변수에 대해 여러 값 중 하나를 비교해야 할 때 유용합니다.

int day = 3;
switch (day)
{
    case 1:
        Console.WriteLine("월요일");
        break;
    case 2:
        Console.WriteLine("화요일");
        break;
    case 3:
        Console.WriteLine("수요일");
        break;
    default:
        Console.WriteLine("유효하지 않은 요일입니다.");
        break;
}
  • break: switch 문에서 각 case가 끝나면 break를 사용해 빠져나옵니다.
  • default: 어떤 case와도 일치하지 않을 때 실행됩니다.

2. 반복문

반복문은 특정 조건이 만족될 때까지 코드 블록을 반복해서 실행합니다.

for 문

for 문은 반복 횟수가 정해져 있을 때 유용합니다.

for (int i = 0; i < 5; i++)
{
    Console.WriteLine($"반복 횟수: {i}");
}

while 문

while 문은 조건이 참일 때 계속해서 반복합니다.

int i = 0;
while (i < 5)
{
    Console.WriteLine($"while 반복 횟수: {i}");
    i++;
}

do-while 문

do-while 문은 코드 블록을 먼저 실행한 후 조건을 확인합니다. 따라서 최소 한 번은 실행됩니다.

int i = 0;
do
{
    Console.WriteLine($"do-while 반복 횟수: {i}");
    i++;
} while (i < 5);

3. break와 continue

break와 continue는 반복문을 제어하는 명령어입니다.

break

break는 반복문을 종료하고 다음 코드로 이동합니다.

for (int i = 0; i < 10; i++)
{
    if (i == 5)
    {
        break;
    }
    Console.WriteLine(i);
}

continue

continue는 반복문의 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.

for (int i = 0; i < 10; i++)
{
    if (i % 2 == 0)
    {
        continue;
    }
    Console.WriteLine(i); // 홀수만 출력
}

4. 중첩 반복문

반복문 안에 또 다른 반복문을 포함할 수 있습니다. 이를 중첩 반복문이라고 합니다.

for (int i = 1; i <= 3; i++)
{
    for (int j = 1; j <= 3; j++)
    {
        Console.WriteLine($"i: {i}, j: {j}");
    }
}

위의 코드는 i와 j의 모든 조합을 출력합니다.

5. 실습 예제: 구구단 출력하기

for 문과 중첩 반복문을 사용하여 구구단을 출력해보겠습니다.

for (int i = 2; i <= 9; i++)
{
    for (int j = 1; j <= 9; j++)
    {
        Console.WriteLine($"{i} x {j} = {i * j}");
    }
    Console.WriteLine(); // 각 단마다 줄바꿈
}

6. 실습 예제: 숫자 맞추기 게임

while 문을 사용하여 랜덤 숫자 맞추기 게임을 만들어 봅시다.

using System;

namespace NumberGuessingGame
{
    class Program
    {
        static void Main(string[] args)
        {
            Random random = new Random();
            int correctNumber = random.Next(1, 101);
            int guess = 0;

            Console.WriteLine("1부터 100 사이의 숫자를 맞춰보세요!");

            while (guess != correctNumber)
            {
                Console.Write("숫자를 입력하세요: ");
                guess = Convert.ToInt32(Console.ReadLine());

                if (guess > correctNumber)
                {
                    Console.WriteLine("더 낮은 숫자를 시도해보세요.");
                }
                else if (guess < correctNumber)
                {
                    Console.WriteLine("더 높은 숫자를 시도해보세요.");
                }
                else
                {
                    Console.WriteLine("정답입니다!");
                }
            }
        }
    }
}

이 프로그램은 사용자가 올바른 숫자를 맞출 때까지 반복되며, 입력한 숫자가 정답보다 큰지 작은지 알려줍니다.

7. 요약

  • 조건문은 if, else if, else, switch 문을 통해 프로그램의 흐름을 제어합니다.
  • 반복문은 for, while, do-while 문을 사용하여 특정 조건이 만족될 때까지 코드 블록을 반복합니다.
  • breakcontinue는 반복문을 제어하는 명령어로, 특정 조건에서 반복문을 탈출하거나 건너뛰는 데 사용됩니다.
  • 중첩 반복문을 통해 복잡한 반복 구조를 구현할 수 있습니다.
728x90