프로그래밍에서 반복적으로 명령을 실행하는 경우 반복문을 사용하여 코딩량을 줄이게 됩니다. C#에는 어떤 반복문이 있는지 알아보고 그에 대해 상세히 살펴보겠습니다.
1. For 문
For 문은 주어진 조건을 만족할 때까지 For 문의 실행문을 반복적으로 실행합니다.
For 문 사용방법은 다음과 같습니다.
for ( 변수 초기값; 조건문; 변수 변화량 )
{
실행문;
}
For 문을 만나면 생성한 변수에 변수 초기값을 입력하고 조건문을 만족하는지 확인합니다.
조건문을 만족하면 실행문을 실행하고 변수 변화량만큼 변숫값을 변화시킵니다.
반복 실행을 하다가 조건문을 만족하지 못하는 경우 For 문을 빠져나오게 됩니다.
여기서, For 문을 다음과 같이 작성을 한다면 실행문이 무한히 반복 실행되게 됩니다. 이를 무한루프라고 말합니다.
For ( ; ; ) { }
무한루프라는 용어 때문에 말씀드린 것이고 작성해서 실행하지는 마세요. 프로그램이 끝나지 않고 계속 무한 반복됩니다. 혹여나 호기심에 실행을 하셨다면 Ctrl + C 키를 눌러 실행 취소시키시면 됩니다.
2. foreach 문
foreach 문은 하나의 값을 갖는 변수가 아니라 배열을 변수로 받아 반복 실행합니다.
foreach 문 사용방법은 다음과 같습니다.
foreach ( 변수명 in 배열 )
{
실행문;
}
foreach 문을 만나게 되면 선언된 변수에 배열의 첫 번째 요소 값을 입력합니다. 그리고 실행문을 실행합니다. 다시 변수에 배열의 두 번째 요소 값을 입력합니다. 그리고 실행문을 실행합니다. 이런 방식으로 배열의 요소의 마지막 값까지 실행문을 반복하고 foreach 문을 빠져나가게 됩니다.
3. 예제를 통해 For 문 확인해 보기
For 문을 이용해 구구단 2단을 화면에 출력하는 프로그램을 작성해 보겠습니다.
Visual Studio를 실행시키시고 C# 콘솔 애플리케이션을 실행하세요.
그리고, 다음과 같이 Main 함수를 작성합니다.
static void Main(string[] args)
{
int i;
for (i = 1;i<10;i++ )
{
int c = 2 * i;
Console.WriteLine("2 곱하기 {0}은 {1}입니다.", i, c);
}
}
이제 디버깅을 하면 구구단 2단 결과값이 화면에 출력됩니다. 디버깅의 단축키는 F5 키를 누르시면 됩니다.
For 문을 여러번 사용할 수도 있습니다. 다음은 구구단을 2단부터 5단까지 출력하는 프로그램을 작성해 보겠습니다.
Visual Studio를 실행시키시고 C# 콘솔 애플리케이션을 실행하세요.
그리고, 다음과 같이 Main 함수를 작성합니다.
static void Main(string[] args)
{
int i, j;
for (i = 2; i<6 ; i++ )
{
for(j = 1; j<10 ; j++)
{
int c = i * j;
Console.WriteLine("{0} X {1} = {2}", i, j, c);
}
}
}
화면에 2단부터 5단까지 구구단이 출력됩니다.
작성한 내용을 보시면 처음 For 문을 만나면 변수 i에 2를 입력합니다. 그리고, 조건문에서 i가 6보다 작은지 확인한 다음 6보다 작으므로 실행문을 실행합니다. 그런데 다시 For 문이 있습니다. 이번에는 변수 j에 1을 입력합니다. 그리고, j가 10보다 작은지 확인합니다. 10보다 작으므로 실행문을 실행합니다.
변수 c에 i 값과 j 값을 곱한 결과를 입력하고 화면에 결과를 출력하게 합니다. 그리고, 두 번째 For 문으로 가서 j값을 1 증가시켜 2가 됩니다. 10보다 작으므로 다시 실행문을 실행합니다. j값이 9까지 실행되고 10이 되면 두 번째 For 문은 빠져나와 i값을 1 증가시켜 2가 됩니다. 그리고 다시 두 번째 For 문을 실행합니다.
이와 같이 두 개의 For 문을 반복 실행하고 조건을 만족하지 못하게 되면 빠져나오게 됩니다.
여기서는 For 문을 두 번 사용하였습니다. 이를 중첩하여 사용했다고 말합니다.
'Programming > C#' 카테고리의 다른 글
C# 일차원 배열 생성 및 선언하고 초기화 (0) | 2021.10.06 |
---|---|
C# 반복문에 대해 알아보기 - while 문, do ~ while 문 (0) | 2021.10.03 |
C# 조건문 - if 문, switch case 문 (0) | 2021.10.01 |
C# 연산자 III - 논리연산자, 조건연산자,null 조건부연산자 (0) | 2021.09.23 |
C# 연산자 II - 문자열결합연산자, 관계연산자 (0) | 2021.09.22 |