본문 바로가기
C 언어

c 언어[013] while 문과 do while 문, while문->for문으로 변환

by Smart Factory in 2020 2020. 10. 9.
728x90
반응형

안녕하세요. 스마트 팩토리입니다. 

c 언어[013] while 문과 do while 문에 대해 알아보겠습니다. 

반복문 중에서 for 문과 함께 while문을 많이 사용합니다. 그와 함께 do while문도 함께 말이지요

 

for 문과 함께 많이 사용하는 무한루프 while문입니다. 

조건과 실행문으로 구성되어 조건을 참일 경우 실행문을 실행합니다. 

 

두수를 입력받아서 처음 입력한 수 부터 두번째 입력한 수까지의 합을 구하는 프로그램입니다. 

처음 입력한 수 부터 증가를 하기 때문에 처음 입력한 a 값을 c로 저장하여 마지막 문장인  1부터 10까지의 합은 55 로 출력하게 하였습니다. 

 


#include<stdio.h>
void main() {
int a;
int b;
int c;
int sum = 0;
puts(" 두수를 입력해 주세요 \n");
scanf_s("%d", &a);
c = a;
scanf_s("%d", &b);

while (a <= b) {
sum += a;
a++;
}
printf("%d부터 %d까지의 합 은 %d\n",c,b,sum);

}

 


입력한 값부터 증가하여 시작하는 값을 출력하도록 하여 1씩 증가해서 더해지는 것을 확인할 수 있도록 하였습니다. 


#include<stdio.h>
void main() {
int a;
int b;
int c;
int sum = 0;
puts(" 두수를 입력해 주세요 \n");
scanf_s("%d", &a);
c = a;
scanf_s("%d", &b);
printf("처음 입력한 수는 %d입니다.  \n",c);
printf("두번째 입력한 수는 %d입니다. \n",b);
while (a <= b) {
sum += a;
printf("%d 부터%d까지의 합은: %d \n", c,a,sum);
a++;

}

}

 


while 문은 for 문으로 변경할 수 있습니다. 

for문의 형식은 

for( 초기값; 조건: 증감식)

{ 실행문}; 으로 구성됩니다. 

 


#include<stdio.h>
void main() {
int a;
int b;
int c;
int sum = 0;
puts(" 두수를 입력해 주세요 \n");
scanf_s("%d", &a);
c = a;
scanf_s("%d", &b);
printf("처음 입력한 수는 %d입니다.  \n",c);
printf("두번째 입력한 수는 %d입니다. \n",b);
for (int i = a; i <= b; i++) {
sum += a;
printf("%d 부터%d까지의 합은: %d \n", c,a,sum);
}

}


 

비교해 보면 다음과 같습니다. 

 

do{ 실행문}

while(조건문);

순서가 while 문과 바뀌었다는 것을 알 수 있습니다. 그래서 코딩 진행 순서를 파악해서 작성해야 합니다. 

두 수를 입력받아 첫번째 수 a 부터 다음 수 b 까지의 합을 구하는 코딩입니다. 

조건문을 활용하지 않아서 첫번째 입력하는 수가 두번째 입력하는 수보다 작아야 합니다. 

c 를 설정한 이유는 처음에  a 값을 알아야 마지막 출력문에서 그 a 값을 사용해야하기 때문입니다. 


#include<stdio.h>
void main() {
int a;
int b;
int c;
int sum = 0;
puts(" 두수를 입력해 주세요 \n");
scanf_s("%d", &a);
c = a;
scanf_s("%d", &b);


do {
sum += a;     -- > sum=sum+ 1 이므로 sum=1 이됩니다. 
a++;  a는 입력 받은 값에서 1씩 증가됩니다. 
}
while (a <= b); --> 조건을 만족하면 do 실행문으로 진행합니다. 

printf("%d부터 %d까지의 합 은 %d\n",c,b,sum);  --> c 는 입력 받은 처음 수입니다. 

}


 

 

 

728x90
반응형

댓글