친절코딩

47. for문 본문

C언어 배우기/C언어 배우기(1~50)

47. for문

웹도날드 2018.11.27 03:04


while과 do~while과는 형식이 다른 반복문인 for문이 있습니다. for문의 사용방법은 다음과 같습니다.


1
2
3
4
5
6
7
for(초기화 식; 조건식; 변화식)
{
    반복할 내용
        .
        .
        .
}
cs


간단한 for문의 예제를 보며 설명을 이어가겠습니다. 다음 코드는 10번 반복하여 문장을 출력합니다.


1
2
3
4
for(int i = 0; i < 10++i)
{
    printf("Repeat!!!\n");
}
cs


위 코드를 분해해 보면 다음과 같습니다.


1
2
3
4
5
6
7
1. 초기화 식: int i = 0
 
2. 조건식: i < 10
 
3. 반복할 내용: printf("Repeat!!!\n");
 
4. 변화식: ++i
cs


for문이 시작되면 먼저 초기화 식(1)이 실행됩니다. 이 때 새로운 변수 i가 0으로 초기화 됐음을 알 수 있습니다. 이후에 조건식(2)이 참인지를 판단합니다. i가 10보다 작기 때문에 조건식은 참이 되어 printf("Repeat!!!\n")가 실행됩니다(3). 마지막으로 변화식(4)이 실행됩니다. i의 값이 1 증가합니다. 실행의 흐름은 다시 조건식(2)으로 이동하여 조건이 참이면 이전 내용이 반복됩니다. 실행의 흐름을 그림으로 보면 다음과 같습니다.



for문은 while문에 비해 반복의 횟수를 알기가 쉽다는 장점이 있습니다. 또한 for문을 이용하면 다양한 기능의 반복문을 만들어 볼 수 있습니다. 다음은 1부터 입력받은 값까지의 합을 구하는 프로그램입니다. for문에 사용된 변수 i를 활용했습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
 
int main()
{
    int Input = 0;
    int Sum = 0;
 
    printf("합을 구할 값을 입력해주세요: ");
    scanf_s("%d"&Input);
 
    for (int i = 1; i <= Input; ++i)
    {
        Sum += i;
    }
 
    printf("1부터 %d까지의 합은 %d입니다.\n", Input, Sum);
 
    return 0;
}
 
 
출력 결과////////////////////////////////
 
합을 구할 값을 입력해주세요: 10
1부터 10까지의 합은 55입니다.
cs


for문 안의 식들은 생략할 수 있습니다. 다음은 첫 번째 코드와 같은 기능을 하는 for문입니다. 초기화식을 위로 올리고 변화식을 for문을 내부로 보냈습니다. 실행의 흐름은 여전히 1 -> (2 -> 3 -> 4) -> (2 -> 3 -> 4) · · · 이지만 1과 4가 없는 것입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main()
{
    int i = 0;
 
    for ( ; i < 10; )
    {
        printf("Repeat!!!\n");
 
        ++i;
    }
 
    return 0;
}
cs


다음 장에서 for문의 더 확장된 용법에 대해 배워보겠습니다.

'C언어 배우기 > C언어 배우기(1~50)' 카테고리의 다른 글

49. break와 continue  (0) 2018.12.03
48. 다중 for문  (0) 2018.11.28
47. for문  (0) 2018.11.27
46. do~while문  (0) 2018.11.23
45. while문  (0) 2018.11.22
44. 비트단위 논리 연산자  (0) 2018.11.20
0 Comments
댓글쓰기 폼