C# 반복문 사용하기: do-while문

C# 반복문 사용하기: do-while문

for문과 while문에 이어서 이번 글에서는 do-while문에 대해 알아보겠습니다. do-while문은 while문과 유사하지만, 조건 검사가 반복문의 마지막에서 이루어지기 때문에 조건에 관계없이 코드 블록이 최소 한 번은 실행됩니다.

do-while문

do-while문은 코드 블록을 먼저 실행한 후에 조건을 검사하는 반복문입니다. 이로 인해 do-while문 내의 코드는 최소한 한 번은 실행됩니다.

1. 구문

do
{
  // 코드 블록
} while (조건);

이런 구조로 되어 있어, 조건이 처음부터 거짓이더라도 do 내부의 코드 블록은 최소한 한 번은 실행됩니다.

2. 예시

1. 1부터 시작하여 숫자를 두 배로 계속 곱해가는 프로그램

int number = 1;  // 초기값 설정. 여기서는 1부터 시작합니다.

do  // do-while문 시작. 최소 한 번은 실행이 보장됩니다.
{
    Console.WriteLine(number);  // 현재 number 값을 출력합니다.
    number *= 2;  // number 값을 2배로 증가시킵니다.
} 
while (number <= 100);  // number 값이 100을 초과하면 반복을 멈춥니다.

// 이 조건이 처음부터 거짓이라도 do-while문의 코드 블록은 최소 한 번은 실행됩니다.
// 출력: 1, 2, 4, 8, 16, 32, 64

여기서 중요한 점은, 조건이 처음부터 거짓이었더라도 do-while문의 코드 블록은 최소 한 번은 실행된다는 것입니다. 이 특성은 반드시 최소 한 번의 실행을 보장해야 하는 상황에서 유용합니다.

2. 사용자 입력받기

do-while문은 사용자로부터 유효한 입력을 받을 때 종종 사용됩니다. 예를 들어, 사용자로부터 1과 10 사이의 숫자를 입력받는 다음 코드를 보겠습니다.

int number;  // 사용자 입력을 저장할 변수를 선언합니다.

do  // do-while문 시작. 최소 한 번은 실행이 보장됩니다.
{
    Console.WriteLine("1과 10 사이의 숫자를 입력하세요.");  // 사용자에게 숫자 입력을 요청합니다.
    number = Convert.ToInt32(Console.ReadLine());  // 사용자의 입력을 정수로 변환하고 number 변수에 저장합니다.
} 
while (number < 1 || number > 10);  // 사용자가 입력한 숫자가 1 이상 10 이하가 아니면 다시 입력을 요청합니다.

// 이 조건이 처음부터 거짓이라도 do-while문의 코드 블록은 최소 한 번은 실행됩니다.
// 출력: 사용자가 유효한 숫자를 입력할 때까지 계속 입력을 요구합니다.

이 예시에서 do-while문은 사용자가 1과 10 사이의 숫자를 입력할 때까지 계속해서 입력을 요구합니다.


☞ do-while문은 반드시 최소한 한 번은 실행이 보장되어야 하거나, 조건을 확인하기 전에 코드 블록을 실행해야 하는 상황에서 사용됩니다. 그러나 대부분의 경우 for문이나 while문으로도 충분히 구현 가능하며, 이들은 코드의 의도를 더 명확하게 보여주는 경향이 있습니다.

참고 자료

함께 보면 좋은 이전 게시글

위로 스크롤