C# - 반복문 ( Loop Statements )

2025. 9. 4. 17:45·C#

반복문 ( Loop Statements )

반복문(Loop Statement) 은 특정 코드 블록을 조건에 따라 여러 번 실행할 수 있도록 해주는 구문이다.

무한 루프에 빠졌다 라는 말을 들어본 적 있을 거다.

바로 반복문이 그 주인공이다.

C#에서는 크게 for, while, do-while, foreach 네 가지 반복문을 제공한다.


for

가장 많이 쓰이는 반복문이다.

초기식 → 조건식 검사 → 코드 실행 → 증감식 순으로 진행된다.

 
for(초기식; 조건식; 증감식)
{
	// 반복할 내용
}

 

 

이런 간단한 구조로 되어있다.

저것만 보면 이게 뭔가 싶으니 실제로 사용되는 코드를 보도록 하자.

using System;

namespace HelloWorld
{
    internal class Program
    {
        static void Main()
        {
            int counter = 0; // 숫자를 세기 위한 변수
            int repeatCount = 22; // 반복하고자 하는 횟수

            for (counter = 0; counter < repeatCount; counter++)
            {
                Console.WriteLine($"담비꺼야!!! {counter} 번 째 실행");
            }
        }
    }
}

 

이해하기 쉽도록 변수로 따로 빼서 만들었지만

using System;

namespace HelloWorld
{
    internal class Program
    {
        static void Main()
        {
            for (int i = 0; i < 25; i++)
            {
                Console.WriteLine($"담비꺼야!!! {i} 번 째 실행");
            }
        }
    }
}

이렇게 for문 안에서 직접 값을 넣어서 구성할 수도 있다.


while

조건이 참인 동안 반복 실행하는 반복문으로, 처음부터 거짓이면 한 번도 실행되지 않고 넘어간다.

 
while (이게 참인 동안)
{
	// 이 안을 실행
}

 

using System;

namespace HelloWorld
{
    internal class Program
    {
        static void Main()
        {
            int i = 0;

            while (i < 25)
            {
                Console.WriteLine($"담비꺼야!!! {i} 번 째 실행");
                i++;
            }
        }
    }
}

 

쉽다.


do-while

while과 비슷하지만 조건이 맞지 않더라도 최소 1번은 실행이 보장된다
using System;

namespace HelloWorld
{
    internal class Program
    {
        static void Main()
        {
            int i = 26;

            do
            {
                Console.WriteLine("핑크색 싫어 파란색 줘");
            }
            while (i < 25);
        }
    }
}​

 

 

i가 25 보다 커서 처음부터 조건이 맞지 않음에도 최초 1번은 실행되는 걸 볼 수 있다.


foreach

컬렉(Collection), 배열 등을 순회할 때 사용한다.

인덱스를 따로 신경 쓰지 않아도 되는 편리한 기능이다.

 
using System;

namespace HelloWorld
{
    internal class Program
    {
        static void Main()
        {
            string[] iceCream = { "파란거", "빨간거", "하얀거", "검은거", "고혈당", "당뇨병" };
            
            foreach (string str in iceCream)
            {
                Console.WriteLine(str);
            }
        }
    }
}

 

iceCream 이라는 배열을 탐색해서 안의 모든 str에 대해 특정 행동을 할 수 있다.

이걸 for문으로 아래처럼 구현할 수도 있다.

using System;

namespace HelloWorld
{
    internal class Program
    {
        static void Main()
        {
            string[] iceCream = { "파란거", "빨간거", "하얀거", "검은거", "고혈당", "당뇨병" };

            for (int i = 0; i < iceCream.Length; i++)
            {
                Console.WriteLine(iceCream[i]);
            }
        }
    }
}

 


Break / Continue

반복문의 제어 키워드다

break; 는 실행 즉시 반복문을 종료하는 것이고

continue; 는 이번 회차를 건너 뛰고 다음 반복으로 이동하는 것이다.

 

예시로 알아보자

using System;

namespace day3
{
    internal class Program
    {
        static void Main()
        {
            // 반복문 while 의 break
            int increasingNum = 1;
            int endPoint = 100000;

            while (true)
            {
                increasingNum *= 2;
                Console.WriteLine(increasingNum);

                if (increasingNum > endPoint)
                {
                    Console.WriteLine($"{endPoint} 초과로 종료");
                    break; // break를 만난 시점에서 while (true)여도 반복문을 종료해버림
                }
                
            }
            
        }
    }
}

 

위와 같이 while (true)로 설정한 경우, 해당 반복문은 무한 루프로 실행된다.

하지만 조건문 등을 이용해 특정 상황에서 break를 실행되게 한다면 while문은 실행을 멈추게 되는 것이다.

 

using System;

namespace day3
{
    internal class Program
    {
        static void Main()
        {
            // 반복문 while의 continue
            int count = 0;
            while (true)
            {
                count++;

                if (count % 2 == 0) // 짝수일 때
                {
                    continue; // 이 아래를 실행하지 말고 다음 루프를 실행
                }

                Console.WriteLine(count); // 짝수인 경우 이 라인을 실행하지 않으므로 홀수만 출력 됨

                if (count > 50)
                {
                    break; // 50 보다 커지면 종료
                }
            }
        }
    }
}

 

이렇게 continue를 이용해 50 이하의 홀수만 출력하는 코드를 작성해 보았다.

반복문은 매우 편리하고 유용한 기능이지만 잘못 사용하면 테러 프로그램이 될 수 있으니 주의하자.

 

 

또한 반복문 속에 반복문을 넣어 사용하는 방식도 가능하다.

using System;

namespace HelloWorld
{
    internal class Program
    {
        static void Main()
        {
            // 반복문 속의 반복문
            for(int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Console.WriteLine($"i는 현재 {i}, j는 현재 {j}, {i * 10 + j}번째 실행 중 ");
                }
            }
        }
    }
}

 

어디서 많이 본 모양일 것이다.

그렇다 이거로 구구단을 출력할 수도 있다.

using System;

namespace day3
{
    internal class Program
    {
        static void Main()
        {
            int inputNum = 0;

            while (inputNum > 9 || inputNum == 0 || inputNum < 0)
            {
                Console.WriteLine("출력하고자 하는 구구단(1~9의 숫자)을 입력해주시길 바랍니다.");
                int.TryParse(Console.ReadLine(), out inputNum);
            }

            for (int i = 1; i <= 9; i++)
            {
                Console.WriteLine($"{inputNum} x {i} = {inputNum * i}");
            }
        }
    }
}

 

지금까지 배운 내용을 이용해 입력한 숫자에 맞는 구구단을 출력하는 프로그램을 작성해보았다.

 

 

이를 응용하여 다음 글에서는

 

그 유명한 별 찍기를 진행해 볼 예정이다.

'C#' 카테고리의 다른 글

C# - 콘솔로 별 찍기 (다이아몬드 편)  (0) 2025.09.08
C# - 콘솔로 별 찍기 (삼각형 편)  (0) 2025.09.04
C# - 조건문 ( Conditional Statements )  (0) 2025.09.04
C# - 형변환 ( type casting )  (0) 2025.09.04
C# - 연산자  (0) 2025.09.04
'C#' 카테고리의 다른 글
  • C# - 콘솔로 별 찍기 (다이아몬드 편)
  • C# - 콘솔로 별 찍기 (삼각형 편)
  • C# - 조건문 ( Conditional Statements )
  • C# - 형변환 ( type casting )
ellug
ellug
Web / App / Game Dev
  • ellug
    dev.ellug
    ellug
  • 전체
    오늘
    어제
    • 분류 전체보기 (95)
      • Javascript (React, Next) (1)
      • C# (66)
      • Graphics (1)
      • Unity (25)
      • 프로그래머스 (0)
        • Lv.0 (0)
        • Lv.1 (0)
        • Lv.2 (0)
        • Lv.3 (0)
      • AI Agent (0)
      • StableDiffusion (0)
      • ETC (1)
      • 잡담 (0)
      • 유머 (0)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    큐
    스택
    interface
    unity
    알고리즘
    추상 클래스
    Queue
    Design Pattern
    자료구조
    Network
    struct
    C#
    console
    useState
    최적화
    function
    콘솔
    inputsystem
    터미널
    네트워크
    Abstract
    게임
    list
    유니티
    stack
    firebase
    Photon
    클래스
    delegate
    class
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
ellug
C# - 반복문 ( Loop Statements )
상단으로

티스토리툴바