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문으로도 충분히 구현 가능하며, 이들은 코드의 의도를 더 명확하게 보여주는 경향이 있습니다.
참고 자료
- Microsoft 공식 문서: C# do-while문 (https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/statements/iteration-statements)
함께 보면 좋은 이전 게시글
- C# 반복문 사용하기: for문
- C# 반복문 사용하기: while문
- C# 조건문 사용하기: switch문
- C# 조건문 사용하기: if문, if~else문, 중첩 if문, else if문
- C# 기본 연산자 사용하기: 비교, 삼항, Null 조건/병합 연산자
이 글이 도움이 되셨다면 공유 부탁 드립니다.