언어 복습(2) - 반복문 🧑🏻‍💻

17245 단어 CC

1. for 문

for 문은 정해진 횟수만큼 반복할 때 사용하는 반복 구조이다. for 루프(loop)라고도 한다. for 문은 반복 구조 중에서 가장 많이 사용되는데 장점이 많기 때문이다.

for 문은 초기식(initialization), 조건식(expression), 증감식(increment)의 3 부분으로 구성된다. 이들 3 부분은 세미콜론으로 분리되어 있다.

for(i=0; i<5; i++){
	printf("Hello World!");
}

for 문이 실행되는 순서는 다음과 같다.

    1. for 문에서 초기식이 가장 먼저 실행된다.(딱 한번만)
    1. 조건식이 검사된다.
    1. 조건식이 참이면 루프가 실행된다.
    1. 루프의 실행이 끝나면 증감식이 실행된다.
    1. 이어서 다시 조건식이 검사된다.
    1. 한번만이라도 조건식이 거짓이면 바로 for 문을 벗어나게 된다.

이 세 갸의 문장이 하는 역할을 좀 더 자세히 살펴보자.

1.1) 초기식

초기식은 반복 루프를 시작하기 전에 한번만 실행된다. 주로 변수 값을 포기화하는 용도로 사용된다. 위의 코드에서는 변수 i의 값을 0으로 초기화하였다.

1.2) 조건식

반복의 조건을 검사하는 수식이다. 이 수식의 값이 거짓이 되면 반복이 중단된다. 이 수식은 반복을 하기 전에 계산한다. 따라서 만약 조건식의 값이 거짓이면 한 번도 반복이 일어나지 않는다. 위의 코드에서는 "i < 5"이 여기에 해당한다. i의 값이 5보다 작으면 반복이 계속된다. 만약 i의 값이 증가되어서 5가 되면 "i < 5"가 거짓이 되고 따라서 반복은 종료된다.

1.3) 증감식

한 번의 루프 실행이 끝나면 증감식이 실행된다. 위의 예제에서는 i++; 가 여기에 해당하고 변수 i의 값을 증가시키는 역할을 한다.

1.4) 간단한 for 문의 예제

//"Hello World!" 5번 출력하기
#include <stdio.h>

int main()
{
	int i; 
    for(i = 0; i < 5; i++)
    	printf("Hello World!");
 
}
//반복을 이용한 정수합 프로그램
#include <stdio.h>

int main()
{
	int sum;
    
    sum = 0; 
    for(int i = 0; i <=10; i++)
    	sum += i;
        
        printf("0부터 10까지의 합: %d\n", sum);
        
        return 0;
 }
//반복을 이용한 세제곱구하기
#include <stdio.h>

int main()
{
	int n;
    printf("정수를 입력하시오: );
    scanf("%d", &n);
    
    printf("===========\n");
    printf("i  i의 세제곱\n");
    printf("===========\n");
    
    for(int i = 0; i <= n; i++)
    	printf("%5d %5d\n", i, i*i*i);
        
    return 0;
}
//번복을 이용한 네모 그리기
#include <stdio.h>

int main()
{
	printf("***********\n");
    
    for(int i = 0; i < 10; i++)
    	printf("*         *\n");
       
    printf("***********\n");
    
    return 0;
}
//반복을 이용한 팩토리얼 구하기
#include <Stdio.h>

int main()
{
	long fact = 1;
    int n;
    
    printf("정수를 입력하시요: ");
    scanf("%d", &n);
    
    for(int i = 1; i <= n; i++)
    	fact = fact * i;
        
    printf("%d!은 %d입니다.\n", n, fact);
    
    return 0;
}

2. 중첩 반복문

반복문은 중첩되어 사용될 수 있다. 즉 반복문 안에 다른 반복문이 포함될 수 있다. 이러한 형태를 중첩 반복문(nested loop)이라고 한다.

외부에 차지하는 반복문을 외부 반복문(outer loop) 이라고 하고 안쪽의 반복문을 내부 반복문(inner loop) 라고 한다. 내부 반복문은 외부 반복문이 한번 반복할 때마다 새롭게 실행된다.

for(int i = 0; i < 6; i++)
{
	for(int j = 0; j < 3; j++)
    {
    	...
        ...
    }
}

2.(1) 중첩 반복문의 간단한 예제

//중첩 반복문을 이용하여 * 기호를 사각형 모양으로 출력하는 프로그램
#include <Stdio.h>

int main()
{
	for(int i = 0; i < 5; i++)
    {
    	for(int j = 0; j < 10; j++)
        	printf("*");
            
            printf("\n")
     }
     
     return 0;
}
//위의 예제 변경
#include <stdio.h>

int main()
{
	int i, j;
    
    for(j = 1; j <= 5; j++)
    {
    	for(i = 0; i < j; i++)
        	printf("*");
            
        printf("\n");
    }
    
    return 0;
}

좋은 웹페이지 즐겨찾기