본문 바로가기

Programming

반복문 : 쉽고 재미있는 C# Programming 의 기본

 

반복문은 프로그램에서 동일한 코드 블록을 여러 번 실행할 수 있게 하는 제어 구조입니다.

이를 통해 데이터나 조건에 따라 작업을 반복하여 수행할 수 있습니다.

C#에서는 여러 종류의 반복문이 제공되며, 가장 일반적인 것 중 하나가 for, while, do-while, 그리고 foreach입니다.


 

[ for 문 ]

 

1. 개념

 

for 반복문은 특정 횟수만큼 코드 블록을 반복 실행하는 구조입니다. 가장 흔히 사용되는 반복문이고 일반적으로 반복 횟수나 조건이 정해져 있을 때 사용됩니다.

 

2. 형식

for (초기화식; 조건식; 증감식)
{
    // 반복 실행될 코드
}

* 초기화식 : 반복문이 시작될 때 처음 한 번만 실행되는 부분으로, 반복 변수를 초기화합니다.

* 조건식 : 각 반복마다 평가되어 참이면 반복을 계속하고, 거짓이면 종료합니다.

* 증감식 : 각 반복이 끝난 후 실행되며, 반복 변수를 업데이트합니다.

 

3. 활용

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

* int i = 0 : 초기화식에서 반복 변수 i 를 0 으로 초기화합니다.

* i < 5 : 조건식에서 i 가 5보다 작을 때까지 반복합니다.

* i++ : 증감식에서 각 반복이 끝날 때마다 i 를 1씩 증가시킵니다.

 

이 예제는 0에서 4까지의 숫자를 출력합니다. for 반복문을 사용하면 반복 횟수가 명확할 때 코드를 간결하게 작성할 수 있습니다.


 

[ while 문 ]

 

1. 개념

 

while 반복문은 주어진 조건이 참인 동안 코드 블록을 계속해서 반복실행합니다. 반복 횟수가 명확하지 않고 조건에 따라 반복을 결정할 때 주로 사용합니다.

 

2. 형식

while (조건식)
{
    // 조건이 참일 때 실행될 코드
}

* 조건식 : 각 반복마다 평가되어 참이면 반복을 계속하고, 거짓이면 종료합니다.

 

3. 활용

int i = 0;
while (i < 5)
{
    Console.WriteLine(i);
    i++;
}

* int i = 0;  초기에 반복 변수 i 를 0 으로 초기화합니다.

* i < 5 : 조건식에서 i 가 5보다 작을 동안에만 반복합니다.

* Console.WriteLine(i); 각 반복에서 i  를 출력합니다.

* i++; 반복에 끝날 때마다 'i' 를 1씩 증가시킵니다.

 

이 예제는 0부터 4까지의 숫자를 출력합니다. while 반복문은 반복 횟수가 불확실하거나 특정 조건에 따라 반복을 제어해야 할 때 사용됩니다. 반복 조건을 만족하는 한 계속해서 반복이 이루어집니다.


 

[ do-while 문 ]

 

1. 개념

 

do-while 반복문은 일단 코드 블록을 실행한 다음, 주어진 조건이 참인 동안 반복을 계속합니다. do-while 은 일단 한번 실행이 보장되며, 이후에 조건을 확인하여 추가적인 반복 여부를 결정합니다.

 

2. 형식

do
{
    // 최초 한 번 실행 후 계속해서 조건이 참일 때 실행될 코드
} while (조건식);

* do { ... } : 최초 한 번은 무조건 실행되는 코드 블록입니다.

* while (조건식); 실행 후에 조건을 확인하고, 조건이 참이면 다시 반복합니다.

 

3. 활용

int i = 0;
do
{
    Console.WriteLine(i);
    i++;
} while (i < 5);

* int i = 0; 초기에 반복 변수 i 를 0 으로 초기화합니다.

* Console.WriteLine(i); 최초 한 번은 무조건 실행되며, 이후에는 조건을 확인하고 i를 출력합니다.

* i++; 반복이 끝날 때마다 i 를 1씩 증가시킵니다.

* while ( i < 5 ); 조건을 확인하여 i 가 5 보다 작으면 계속 반복합니다.

 

이 예제는 0부터 4까지의 숫자를 출력합니다. do-while 반복문은 최소한 한 번의 실행이 필요하며, 그 후에 조건을 검사하여 반복 여부를 결정합니다. 종종 사용자의 입력을 받는 상황에서 초기 실행 후에 사용자에게 계속할 것인지 물어보는 데 유용합니다.

 

while 문과 do-while  문의 차이는 '선 조건 후 실행'과 '선 실행 후 조건'의 로직 차이입니다.


 

[ break 문 ]

 

1. 개념

 

break 문은 반복문 내에서 실행되면 반복을 강제로 종료하는 역할을 합니다. break 를 만나면 해당 반복문을 빠져나게게 되어 다음 반복이 실행되지 않습니다. 주로 특정 조건이 만족될 때 반복을 중단하고자 할 때 사용됩니다.

 

2. 활용

for (int i = 0; i < 10; i++)
{
    Console.WriteLine(i);
    if (i == 5)
    {
        Console.WriteLine("강제 종료!");
        break;
    }
}

 

위의 예제는 0 부터 9 까지의 숫자를 출력하면 i 가 5 가 되는 시점에서 break 문을 사용하여 반복을 강제로 종료합니다.

출력 결과는 아래와 같습니다.

0
1
2
3
4
5
강제 종료!

 

break 문은 for, while, do-while 등의 반복문에서 모두 사용될 수 있습니다. 종종 특정 조건이 충족되면 반복을 종료해야 할 때 유용하게 활용됩니다.


 

[ countinue 문 ]

 

1. 개념

 

countinue 문은 반복문 내에서 사용되며, 특정 조건이 충족될 때 남은 코드를 실행하지 않고 반복문의 처음으로 돌아가 다음 반복을 시작합니다.

countinue 를 만나면 반복문 내의 나머지 코드는 무시되고, 반복문의 증감식(증가 또는 감소)이 실행되어 다음 반복이 시작됩니다.

 

2. 활용

for (int i = 0; i < 5; i++)
{
    if (i == 2)
    {
        Console.WriteLine("현재 i가 2입니다. 다음 반복으로 건너뜁니다.");
        continue;
    }

    Console.WriteLine(i);
}

 

이 예제는 0 부터 4 까지의 숫자를 출력하는데, i 가 2 일 때 countine 문을 만나면 해당 반복에서 남은 코드를 실행하지 않고 다음 반복으로 건너뜁니다. 출력결과는 다음과 같습니다.

0
1
현재 i가 2입니다. 다음 반복으로 건너뜁니다.
3
4

 

countine 문을 사용하면 특정 조건이 발생했을 때 특정 동작을 건너뛰고 다음 반복으로 넘어갈 수 있습니다.

이는 특정 조건에 대한 예외적인 처리가 필요한 경우에 유용합니다.


 

사실 반복문은 어떤 것을 사용하든지 상관없습니다. 유지보수가 쉽고 간결하게 처리하면 퍼포먼스 걱정 없이 잘 동작할 것입니다.

 

1~10 까지의 반복과 같은 범위형 반복문은

 

for 문의 경우

for (int i = 1; i <= 10; i++)
{
     Console.WriteLine(i);
}

 

while 문의 경우

int i = 1;
while (i <= 10)
{ 
     Console.WriteLine(i);
     i ++;
}

 

do-while 문의 경우

int i = 1;
do
{
    Console.WriteLine(i);
    i++;
} while (i <= 10);

 

과 같이 사용할 수 있습니다.

 

그리고 종료 예측이 불가능한 반복문의 경우 while, do-while  문의 경우 true를 강제적으로 조건식에 대입하여 사용합니다.

for문의 경우도 초기값/조건/후처리를 모두 제외하고 사용합니다.

 

예를 들면

 

for문의 경우

for (;;)
{
    if (조건식)
    {
    //조건이 참일 때 실행될 코드
    }
    break;
}

 

와 같이 무한루프에 빠지도록 강제로 for문을 완성하고, 특정 조건식이 나타날 때 강제 종료(breaek;)하도록 프로그램을 구현합니다.

 

while문, do-while 문의 경우도 마찬가지로

while (true)
{
    if (조건식)
    {
    //조건이 참일 때 실행되는 코드
    break;
    }
}
do
{
    if (조건식)
    {
    // 조건이 참일 때 실행되는 코드
    break;
    } while (true)

 

와 같이 무한루프에 빠지도록 강제로 반복 조건에 true 문을 완성하고, 반복문 안에서 특정조건식이 나타날 때 강제로 종료(break;) 하도록 프로그램을 구현합니다.


 

[ foreach 문 ]

1. 개념

 

foreach는 C#에서 제공하는 반복문 중 하나로, 주로 컬렉션(배열, 리스트 등)의 각 요소에 대해 반복 잡업을 수행하는데 사용됩니다. 이를 통해 반복 작업을 간단하게 처리할 수 있습니다.

다른 반복문과 달리 인덱스를 사용하지 않고 각 요소에 직접 접근하는 형태로 사용됩니다.

 

2. 형식

 

foreach 문의 기본형식은 다음과 같습니다.

foreach (var item in collection)
{
    // 각 요소에 대한 작업 수행
    // item 변수를 사용하여 현재 요소에 접근
}

* collection : 반복할 컬렉션(배열,리스트 등)을 나타냅니다.

* var item : 현재 반복에서 사용할 변수로, 컬렉션의 각 요소를 나타냅니다.

 

3. 활용

 

아래는 간단한 배열을 순회하며 각 요소를 출력하는 예시입니다.

int[] numbers = { 1, 2, 3, 4, 5 };

foreach (var number in numbers)
{
    Console.WriteLine(number);
}

 

이 예제에서 'foreach'는 배열 'numbers'의 각 정수에 대해 루프를 돌며, 현재 정수를 'number' 변수로 사용하여 출력합니다.

이를 통해 각 반복문을 사용하여 코드를 간결하게 작성할 수 있습니다.