본문 바로가기
language/C

반복 제어문 while

by abstract.jiin 2022. 9. 7.
  1. while문 
  2. do~while문 
  3. 중첩 while문

1. while문 

조건식을 적어서 조건이 참인 동안 특정 코드 반복


while(조건식) {
실행코드 
}

int a =1;
	
while (a<6) {
	printf("%d\n",a);
	++a;
	}
	
	
int b = 5;
	
while(b){
	printf("%d\n",b);
	--b;	
	}
	
//그외 값은 참이고 거짓은 0이다. 를 응용.
int c = 1, d=1;
while (d) {
	printf("%d\n",c);
	c++;
	
	if(c >9){
		d=0;
		//특정한 때에 d에 0을 넣어서 거짓으로 만든다. 
		}
	}

 

올바른 값이 아니면 반복 되고, 올바른 값이 있으면 반복을 빠져나온다.

int val =0;
while(val <= 0){
	printf("양수 입력: "); scanf_s("%d", &val); 
}
	
printf("value : %d\n",val);
int tf =1,va;
while(tf){
printf("양수 입력: "); scanf_s("%d",&val);
	if(va >0)
	tf=0;
	 
	}
printf("value : %d\n", va);

 

10~20범위의 숫자만 입력 받아서 1부터 입력한 숫자까지의 합 출력 
범위 밖의 숫자가 입력되면 숫자를 다시 입력 받도록 코드

int tf = 1,su,Sum=0, a =1;
	
while(tf){
	printf("숫자입력:"); scanf_s("%d",&su);
	if(su >=10 &&su <=20)
		tf=0; 
}
while (a <=su){
	
	Sum += a; 
	a++;
	
}
	
printf("1 ~ %d 숫자들의 합 : %d\n",su,Sum);

 

 

2.  do ~ while문 

반복될 코드를 먼저 실행하고 조건식을 확인
 
do {
  실행코드 
}while(조건식);

int data =0, Sum=0;

do{
	printf("숫자입력(종료:0) >>"); scanf_s("%d",&data);
	Sum +=data;
} while (data!=0);

printf("입력된 값들의 합: %d\n",Sum);

 

 3. 중첩 while문

외부 while문이 한 번 동작하는 동안 내부 while문의 반복이 완료 

 

int line =1;
while (line <=3){
	printf("%d라인:",line);
	
	int no=1;
	while(no<=5){
		printf("%d",no);
		no++;
	}
	puts("");
	line++;
	
	}

결과 : 
1라인:12345
2라인:12345
3라인:12345

'language > C' 카테고리의 다른 글

continue / break / 삼항연산자  (0) 2022.09.13
C언어 자판기 코드  (0) 2022.09.07
반복 제어문 for  (0) 2022.09.07
enum과 switch문  (0) 2022.09.07
조건 제어문  (0) 2022.09.05