Profile

IT is Blog

LIMEWATER

05-2. 제어문(반복문)

02 반복문

프로그램 수행 중 특정 문장을 반복 수행하고자 할 때 사용하는 명령문

1) for 문

변수가 초기값을 가지고 증감식에 의해 증감하면서 조건식이 만족하는 동안 반복하는 명령

문법

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

실습 5_15_a).cpp

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

실습 5_15_b).cpp

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

실습 5_15_c).cpp

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

실습 5_15_d).cpp

#include<stdio.h>
int main() {
	int a;
	for(a=10 ; a>=1 ; a--)
		printf("%5d", a);
	return 0;
}

실습 5_15_e).cpp

#include<stdio.h>
int main() {
	int a;
	for(a=10 ; a>=1 ; a-=2)
		printf("%5d", a);
	return 0;
}

실습 5_15_f).cpp

#include<stdio.h>
int main() {
	int a;
	for(a=9 ; a>=1 ; a-=2)
		printf("%5d", a);
	return 0;
}

실습 5_15_g).cpp

#include<stdio.h>
int main() {
	int a;
	for(a=10 ; a<=30 ; a+=5)
		printf("%5d", a);
	return 0;
}

실습 5_15_h).cpp

#include<stdio.h>
int main() {
	int a;
	for(a=30 ; a>=10 ; a-=5)
		printf("%5d", a);
	return 0;
}

실습 5_15_i).cpp

#include<stdio.h>
int main() {
	int a;
	for(a=65 ; a<=78 ; a++)
		printf("%c", a);
	return 0;
}

실습 5_16_a).cpp

#include<stdio.h>
int main() {
	int a, sum;
	sum = 0;
	for(a=0 ; a<9 ; a++){
		if(a<10)
			printf("%d+", a);
		else
			printf("%d=", a);
		sum = sum+a;
	}
	printf("%d", sum);
	return 0;
}

실습 5_16_b).cpp

#include<stdio.h>
int main() {
	int a, sum;
	sum = 0;
	for(a=1 ; a<=9 ; a+=2){
		if(a<9)
			printf("%d+", a);
		else
			printf("%d=", a);
		sum = sum+a;
	}
	printf("%d", sum);
	return 0;
}

실습 5_16_c).cpp

#include<stdio.h>
int main() {
	int a, sum;
	sum = 0;
	for(a=2 ; a<=10 ; a+=2){
		if(a<10)
			printf("%d+", a);
		else
			printf("%d=", a);
		sum = sum+a;
	}
	printf("%d", sum);
	return 0;
}

2) 다중 for 문

문법

for(초기값1;조건식1;증감식1){ 명령문1; for(초기값2;조건식2;증감식2){ 명령문2; } }

실습 5_17_a).cpp

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

실습 5_17_b).cpp

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

실습 5_17_c).cpp

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

실습 5_17_d).cpp

#include<stdio.h>
int main() {
	char a='A', b;
	for(a; a<='E'; a++){
		for(b='A'; b<=a; b++){
			printf("%5c", b);
		}
		printf("\n");
	}
	return 0;
}

실습 5_17_e).cpp

#include<stdio.h>
int main() {
	char a='A', b='A';
	for(a='A'; a<='E'; a++){
		for(b='A'; b<=a; b++){
			printf("%5c", b);
		}
		printf("\n");
	}
	return 0;
}

3) while 문

조건식이 만족하는 동안 반복 수행할 문장을 반복 수행하는 명령

문법

while(조건문){ 명령문; 증감식; }

실습 5_18_a').cpp

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

실습 5_18_a).cpp

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

실습 5_18_b).cpp

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

실습 5_18_c).cpp

#include<stdio.h>
int main() {
	int i=10;
	while(i>=1){
		printf("%5d", i);
		i--;
	}
	return 0;
}

실습 5_18_d).cpp

#include<stdio.h>
int main() {
	int i=9;
	while(i>=0){
		printf("%5d", i);
		i-=2;
	}
	return 0;
}

실습 5_18_e).cpp

#include<stdio.h>
int main() {
	int i=30;
	while(i>=10){
		printf("%5d", i);
		i-=5;
	}
	return 0;
}

실습 5_18_f).cpp

#include<stdio.h>
int main() {
	char i='A';
	while(i<='N'){
		printf("%c", i);
		i++;
	}
	return 0;
}

실습 5_18_h).cpp

#include<stdio.h>
int main() {
	int i=-1, sum=0;
	while(i<9){
		if(i<7){
			i+=2;
			printf("%d + ", i);
		}
		else{
			i+=2;
			printf("%d = ", i);
		}
	sum = sum + i;
	}
	printf("%d", sum);
	return 0;
}

4) do ~ while 문

조건식이 만족하는 동안 반복 수행할 문장을 반복 수행하는 명령

문법

do{ 명령문; 증감식; }while(조건문);

실습 5_19_a').cpp

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

실습 5_19_a).cpp

#include<stdio.h>
int main() {
	int i=0;
	do{
		i++;
		printf("%5d", i);
	}
	while(i<10);
	return 0;
}

실습 5_19_b).cpp

#include<stdio.h>
int main() {
	int i=1;
	do{
		printf("%5d", i);
		i+=2;
	}
	while(i<=10);
	return 0;
}

실습 5_19_c).cpp

#include<stdio.h>
int main() {
	int i=10;
	do{
		printf("%5d", i);
		i-=1;
	}
	while(i>=1);
	return 0;
}

실습 5_19_d).cpp

#include<stdio.h>
int main() {
	int i=10;
	do{
		printf("%5d", i);
		i-=2;
	}
	while(i>=1);
	return 0;
}

실습 5_19_e).cpp

#include<stdio.h>
int main() {
	char i='A';
	do{
		printf("%c", i);
		i++;
	}
	while(i<='N');
	return 0;
}

실습 5_19_f).cpp

#include<stdio.h>
int main() {
	int i=0, sum=0;
	do{
		if(i<9){
			i++;
			printf("%d + ", i);
		}
		else{
			i++;
			printf("%d = ", i);
		}
		sum=sum+i;
	}
	while(i<=9);
	printf("%d", sum);
	return 0;
}

실습 5_19_g).cpp

#include<stdio.h>
int main() {
	int i=0, sum=0;
	do{
		if(i<8){
			i+=2;
			printf("%d + ", i);
		}
		else{
			i+=2;
			printf("%d = ", i);
		}
		sum=sum+i;
	}
	while(i<=8);
	printf("%d", sum);
	return 0;
}

실습 5_20.cpp

#include<stdio.h>
int main() {
	int i, sum=0;
	printf("점수?\n");
	do{
		scanf("%d", &i);
		sum=sum+i;
	}while(i!=999);
	printf("합 = %d", sum-999);
	return 0;
} 

예제 5_01 a).cpp

#include<stdio.h>
int main(){
	int i=1;
	for(i=1;i<=5;i++){
		if(i==2)
			continue;
		printf("%2d", i);
	}
	return 0;
}

예제 5_01 b).cpp

#include<stdio.h>
int main(){
	int i=1;
	for(i=1;i<=5;i++){
		if(i==2)
			break;
		printf("%2d", i);
	}
	return 0;
}

5) continue 문

continue 문 뒷 부분은 무시하고 반복문의 조건으로 제어가 옮겨진다.

실습 5_21.cpp

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

6) break 문

반복문을 빠져나온다. 만약 다중 반복문인 경우 가장 가까운 반복문 하나만 빠져나온다.

실습 5_22.cpp

#include<stdio.h>
int main() {
	int i;
	while(1){
		printf("id = ");
		scanf("%d", &i);
		if(i==-1)
		break;
	}
	return 0;
} 

실습 5_23.cpp

#include<stdio.h>
int main() {
	int i, sum=0;
	while(1){
		scanf("%d", &i);
		if(i==-999)
		break;
		sum=sum+i;
	}
	printf("합 = %d", sum);
	return 0;
} 

실습 5_24.cpp

#include<stdio.h>
int main() {
	int i=0, sum=0;
	while(1){
		i++;
		sum=sum+i;
		if(i==100)break;
	}
	printf("%d", sum);
	return 0;
}

실습 5_25.cpp

#include<stdio.h>
int main() {
	int i=0, sum=0;
	while(1){
		i+=2;
		printf("%3d", i); 
		sum=sum+i;
		if(i==10)break;
	}
	printf("%3d", sum);
	return 0;
}

실습 5_26.cpp

#include<stdio.h>
int main() {
	int a=0;
	int b=0;
	while(1){
		b=0;
		while(1){
			b++;
			printf("%4d", 10*a+b);
			if(b==10)break;
		}
		a++;
		printf("\n");
		if(a==5)break;
	}
	return 0;
}

실습 5_27_a).cpp

#include<stdio.h>
int main() {
	int a=0, b=0;
	while(1){
		b=0;
		while(1){
			b++;
			printf("* ");
			if(b>4)break;
		}
		a++;
		printf("\n");
		if(a==5)break;
	}
	return 0;
} 

실습 5_27_b).cpp

#include<stdio.h>
int main(){
	int a,b,c,d;
	for(a=0;a<=4;a++)
	{	for(b=0;b<=a;b++){
	
		
			printf("* ");
		}
		
	
		for(c=5;c>=a;c--)
		{
			printf("  ");
		}
	printf("\n");
	
}
	return 0;
}

실습 5_27_c).cpp

#include<stdio.h>
int main(){
	int a,b,c,d;
	for(a=1;a<=5;a++)
	{	for(b=5;b>=a;b--){
	
		
			printf("* ");
		}
		
	
		for(c=1;c<=a;c++)
		{
			printf("  ");
		}
	printf("\n");
	
}
	return 0;
}

실습 5_27_d).cpp

#include<stdio.h>
int main(){
	int a,b,c,d;
	for(a=0;a<=4;a++)
	{	for(b=0;b<a;b++){
	
		
			printf("  ");
		}
		
	
		for(c=4;c>=a;c--)
		{
			printf("* ");
		}
	printf("\n");
	
}
	return 0;
}

실습 5_27_e).cpp

#include<stdio.h>
int main(){
	int a,b,c,d;
	for(a=1;a<=5;a++)
	{	for(b=4;b>=a;b--){
	
		
			printf("  ");
		}
		
	
		for(c=1;c<=a;c++)
		{
			printf("* ");
		}
	printf("\n");
	
}
	return 0;
}

실습 5_27_f).cpp

#include<stdio.h>
int main(){
	int a,b,c,d;
	for(a=1;a<=5;a++)
	{	for(b=5;b>a;b--){
	
		
			printf("  ");
		}
		
	
		for(c=1;c<=a;c++)
		{
			printf("* ");
		}
		
		for(d=1;d<a;d++){
			printf("* ");
		}
	printf("\n");
	
}
	return 0;
}

실습 5_28.cpp

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

실습 5_29.cpp

#include<stdio.h>
int main(){
	int a, i;
	printf("몇단?");
	scanf("%d", &a);
	for(i=1; i<10; i++){
		printf("%d * %d = %3d\n", a, i, a*i);
	}
	return 0;
} 

실습 5_30.cpp

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

실습 5_31.cpp

#include<stdio.h>
int main(){
	int i, j;
	printf("1)\n");
	for(i=0; i<5; i++){
		for(j=0; j<5; j++){
			printf("%3d ", i*5+j+1);
		}
		printf("\n");
	}
	printf("\n2)\n");
	for(i=0; i<5; i++){
		for(j=0; j<5; j++){
			if(i%2==0) printf("%3d ", i*5+j+1);
			else printf("%3d ", i*5+5-j);
		}
		printf("\n");
	}
	printf("\n3)\n");
	for(i=0; i<5; i++){
		for(j=0; j<5; j++){
			printf("%3d ", i+j*5+1);
		}
		printf("\n");
	}
}


'프로그래밍 > C' 카테고리의 다른 글

07-1. 함수  (0) 2017.09.07
06. 배열  (0) 2017.09.07
05-1. 제어문(분기문)  (0) 2017.09.07
04. 연산자와 수식  (0) 2017.09.07
03. 표준 입출력 함수  (0) 2017.09.07
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]