title: “c언어 반복문 while, do while” categories:

  • C

    #c언어 반복문 while, do while : 네이버 블로그

c언어 반복문입니다. 보통 중간고사 범위가 여기까지 나와요

반복문은 크게 while과 for이 있습니다.

while (true)

{

printf(“ “)

}

while 뒤 괄호안에 있는 값이 사실(1)이 되면 아래의 식을 반복합니다.

#include
main(void) {
 int i, n, sum;
 puts("정수를 입력하세요");
 scanf(" %d", &n);
 i = 1;
 sum = 0;
 while (i <= n) //입력한 수까지 1씩 올라가는 i
 {
 sum += i; //sum +=i 는 sum = sum+i, 기존의 sum에 i를 더함
 i++; //i를 1씩 올린다
 }
 printf("1부터 %d 까지의 합은 %d 입니다", n, sum);
 return 0;
 
}

위 코드는 정수를 입력받고(a) i를 1로 초기화 한 후 1(i) 부터 입력한 정수(n)까지 i를 1씩 더한것을 sum에 더하는 코드입니다.

#include
main(void) {
 int i, n, sum;
 puts("정수를 입력하세요");
 scanf(" %d", &n);
 i = 0;
 sum = 0;
 while (i <= n)
 {
 sum += i;
 i = i + 2;;
 }
 printf("0부터 %d까지 짝수의 합은 %d입니다 ", n, sum);
 return 0;
 
}

다음은 0부터 입력받은 n까지에 있는 짝수를 더하는 코드입니다.

i는 0이였지만 i=i+2에 의해 반복시 2씩 올라가게 됩니다

#include
main(void) {
 int i, n, sum;
 puts("5개의 정수를 입력하세요");
 i = 1;
 sum = 0;
 while (i <= 5)
 {
 scanf("%d", &n);
 sum =sum+ n;
 i++;
 }
 printf(" 5개의 합은 %d입니다 ", sum);
 return 0;
 
}

다음은 입력받은 정수 5개를 더하는 코드입니다.

scanf도 반복 안에 넣음으로써 입력도 반복을 시킬 수 있습니다.

#include
main(void) {
 int i, n, sum,average;
 n=0,
 sum = 0;
 i = 0;
 while (i>=0) //i가 0보다 크면 종료한다
 {
 puts("성적을 입력하세요");
 scanf("%d", &i); //i를 입력받는다
 sum += i; //입력받은 i를 sum에 더한다
 n++; //총 몇번 반복이 되었는지를 센다
 } //반복에서 나가기 위해서는 마이너스 값을 입력한다
 sum = sum - i; //마지막에 저장된 i값은 마이너스므로 마지막 더한값을 뺀다
 n--; //이또한 같게 마지막에 반복된것은 마이너스를 더한 것이므로 반복으로 셀 수 없다
 average = sum / n;
 printf("학생의 수 %d\n총 성적의 합계%d\n성적의 평균은 %d ",n,sum, average);
 return 0;
 
}

#include
#include //INT\_MAX를 쓸 수 있게 하는 헤더
main(void) {
 int num, min\_value = INT\_MAX;
 puts("정수를 입력하세요\n종료는 컨트롤z3엔터 3번");
 while (scanf("%d",#) != EOF) //num을 입력받는다,!=EOF는 컨트롤 z가 아니면 실행한다라는 뜻
 {
 if (num < min\_value) //입력받은 num이 min\_value보다 작으면
 min\_value = num; //num을 min\_value에 넣는다
 }
 printf("최소값은 %d ",min\_value);
 return 0;
 
}

아래의 예제는 랜덤한 숫자를 만들어 숫자를 맞추는 코드이다

#include
#include
#include
int main() {
 int i = 0;
 int o;
 srand(time(NULL));
 o = rand() % 45 + 1; //45까지의 랜덤한 수를 o로 지정한다


 do
 {
 puts("추측 숫자를 입력하세요");
 scanf(" %d", &i);
 if (o < i)
 puts("추측 숫자보다 작습니다");
 if (o > i)
 puts("추측 숫자보다 큽니다");
 } while (i != o);

 printf("맞췄습니다 숫자는 %d 입니다\n", i);
}

do while은 일다나 실행하고 조건에 참이면 계속 반복하는 반복문이다.

위 코드에서는 45까지 랜덤한 수 o와 입력한 수 i가 같지 않으면 반복하게 되어 있다

고로 o와 i가 같게 되면 반복이 끝나고 i를 출력하게 된다

업데이트: