본문 바로가기
C 언어 프로그래밍/흐름제어 - 반복문

for()문

by 프밍샘 2020. 6. 16.

제어문에는 조건문과 반복문이 있습니다. 반복문은 일정한 작업을 반복하여 수행하는 문법을 말하며 반복의 시작을 위한 초기식, 종결을 결정하는 조건식, 반복의 조건을 변화시키기 위한 증감식으로 이루어져 있습니다. 반복문의 종류에는 for문, while문, do~while문이 있습니다. 이번 장에서는 반복문 중에서도 가장 많이 사용되는 for문에 대해 살펴보도록 하겠습니다.

 

 

 

for문의 구조

for(초기식;조건식;증감식)
{
	반복할 명령문;
}

반복문은 아래의 세 가지의 요소와 반복할 명령문의 { } 블록으로 이루어지며, 각각의 요소들은 세미콜론(;)으로 구분됩니다.

 

  • 초기식 - 시작 조건으로 반복문이 시작될 때 한 번만 실행됩니다.
  • 조건식 - 종결 조건으로 조건식이 참(1)이면 { }안의 블록을 실행하고, 거짓이면 블록을 벗어납니다.
  • 증감식 - 블록 다음으로 실행되며, 시작 조건에서 종결 조건으로 변화하기 위한 증감식입니다.

 

 

다음은 1부터 10까지의 정수를 출력하는 프로그램입니다.

 

#include <stdio.h>
int main()
{
	int i;
	
	for(i=1;i<=10;i++)
	{
		printf("%d\n", i);
	}
    
	return 0;
}

 

  1. 초기식 - 조건식 - { }블록 - 증감식 - 조건식 - { }블록 - 증감식 - 조건식 - { }블록 - ....... 의 순서로 조건식이 참이면 { }블록 안의 명령문이 계속 실행됩니다.
  2. 초기식 i=1은 for문이 시작될 때 처음 한 번만 실행됩니다.
  3. 초기식이 실행된 다음 조건식 i<=10의 조건을 판별하여 참이면 중괄호{ } 블록 안의 내용을 실행합니다.
  4. 조건식이 참이므로 printf문에 의해 변수 i의 값(1)을 출력합니다.
  5. 그 뒤 증감식 i++이 실행되며 다시 조건식 i<=10을 판별합니다. 
  6. 조건식이 참이므로 printf문에 의해 변수 i의 값(2)이 출력됩니다.
  7. 이 패턴은 계속 반복되며 i=11이되면 조건식 i<=10이 거짓이 되므로 중괄호{ }블록을 실행하지 않고 반복문을 빠져나옵니다.
  8. 위 프로그램의 출력 결과는 다음과 같습니다.

출력 결과

 

 

 

 

 

 

 

for문의 예제

(1단계) 예제 : 1부터 10까지 짝수를 구하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
	int i;
	
	for(i=2;i<=10;i+=2)		//i+=2  =>  i=i+2
	{
		printf("%d\t", i);
	}
	
	return 0;
}

출력 결과

 

 

 

 

(2단계) 예제1 : 1부터 10까지의 합을 구하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
	int i, sum=0;
	
	for(i=1;i<=10;i++)
	{
		sum+=i;		//sum=sum+i;
	}
	
	printf("1부터 10까지의 합은 %d입니다.", sum);
	
	return 0;
}

출력 결과

 

 

 

 

(2단계) 예제2 : 구구단 2단을 출력하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
	int i;
	
	printf("====2단====\n");
	
	for(i=1;i<=9;i++)
	{
		printf("2 * %d = %d\n", i, 2*i);
	}
	
	return 0;
}

출력 결과

 

 

 

 

(2단계) 예제3 : 알파벳 'A'부터 'Z'까지를 출력하시오.

#include <stdio.h>
int main()
{
	char ch;
	
	for(ch='A';ch<='Z';ch++)	//대문자 출력
	{
		printf("%c ", ch);
	}
	
	return 0;
}

출력 결과

 

#include <stdio.h>
int main()
{
	char ch;
	
	for(ch='a';ch<='z';ch++)	//소문자 출력
	{
		printf("%c ", ch);
	}
	
	return 0;
}

출력 결과

 

 

아스키 코드 값을 이용하여 알파벳을 출력한다면 각각의 아스키 코드값을 알아야합니다. 인터넷 검색을 통해 알아볼 수 있으며 아스키 코드 값 출력을 통해 알아볼 수도 있습니다.

더보기
#include <stdio.h>
int main()
{
	printf("%d\n", 'A');	//A의 아스키코드값 출력
	printf("%d\n", 'Z');	//Z의 아스키코드값 출력 
	
	return 0;
} 

 

출력결과

 

대문자 'A'의 아스키 코드 값은 65, 'Z'의 값은 90입니다. 따라서 65부터 90까지를 문자(변환문자 %c)로 출력한다면 다음과 같이 알파벳 'A'에서 'Z'까지를 출력할 수 있습니다.

#include <stdio.h>
int main()
{
	char ch;
	
	for(ch=65;ch<=90;ch++)	//대문자 출력(아스키코드 65~90) 
	{
		printf("%c ", ch);
	}
	
	return 0;
}

 

출력 결과

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'C 언어 프로그래밍 > 흐름제어 - 반복문' 카테고리의 다른 글

while()문  (0) 2020.06.16
중첩 for문  (1) 2020.06.03

댓글