C

C언어를 가르칩니다.

C C언어를 가르칩니다.

do while

do-while문을 알아봅니다.

do while

정의

do while의 기본 형태는 다음과 같습니다.

do {
    /*code*/
} while (/*condition*/);
while(/*condition*/)뒤에  ;가 붙음에 유의합니다.

do while 루프는 while의 condition이 참이면 /*code*/를 실행합니다. 이것만 보면 그냥 while이랑 다른 게 없죠. 딱 하나, 아주 중요한 차이가 있는데, 그건 이 루프가 /*code*/가 실행되고 난 뒤에 /*condition*/을 검사한다는 것입니다. for과 while은 condition을 검사하고 난 뒤에 code를 실행하는 것과 반대입니다. 여기서 우리는 do while이 최소 한 번은 code를 실행함을 알 수 있습니다. 왜냐하면 일단 code를 실행하고, 그 다음에 condition을 검사하니까요. 일단 지르고 보는 거죠!

용법

일단 지르고 보는 코드를 만들어봅시다.

다음과 같은 코드를 작성해봅니다.

#include <stdio.h>

int main(void)
{
  int money=1000;
  while (money>=4000)
  {
    int choice;
    printf("현재 잔액은 %d원입니다.\n", money);
    puts("무엇을 사시겠습니까?");
    puts("1. 가방. 2. 침대");
    puts("3. 스마트폰. 4. 계란");
    scanf("%d",&choice);
    if (choice==1)
    {
      puts("가방을 고르셨습니다.");
      puts("가방은 100000원입니다.");
      money-=100000;
    }
    else if (choice==2)
    {
      puts("침대를 고르셨습니다.");
      puts("침대는 10000000원입니다.");
      money-=10000000;
    }
    else if (choice==3)
    {
      puts("스마트폰을 고르셨습니다.");
      puts("스마트폰은 500000원입니다.");
      money-=500000;
    }
    else if (choice==4)
    {
      puts("계란을 고르셨습니다.");
      puts("계란은 4000원입니다.");
      money-=4000;
    }
    else
      puts("뭘 고른 거예요?");
  }
  printf("현재 잔액은 %d원입니다.\n",money);
  puts("잔액이 부족합니다!");
}

우리는 이 프로그램을 실행해봤자 아무것도 살 수 없습니다. 통장에 돈이 1,000원밖에 없는 흙수저이기 때문이죠. 통장에 천원밖에 없는 흙수저도 최소 한 번은 물건을 살 수 있는 코드를 do-while로 짜 봅시다.

#include <stdio.h>

int main(void)
{
  int money=1000;
  do {
    int choice;
    printf("현재 잔액은 %d원입니다.\n", money);
    puts("무엇을 사시겠습니까?");
    puts("1. 가방. 2. 침대");
    puts("3. 스마트폰. 4. 계란");
    scanf("%d",&choice);
    if (choice==1)
    {
      puts("가방을 고르셨습니다.");
      puts("가방은 100000원입니다.");
      money-=100000;
    }
    else if (choice==2)
    {
      puts("침대를 고르셨습니다.");
      puts("침대는 10000000원입니다.");
      money-=10000000;
    }
    else if (choice==3)
    {
      puts("스마트폰을 고르셨습니다.");
      puts("스마트폰은 500000원입니다.");
      money-=500000;
    }
    else if (choice==4)
    {
      puts("계란을 고르셨습니다.");
      puts("계란은 4000원입니다.");
      money-=4000;
    }
    else
      puts("뭘 고른 거예요?");
  } while(money>=4000);
  printf("현재 잔액은 %d원입니다.\n",money);
  puts("잔액이 부족합니다!");
}

우리는 이제 최소 한 번은 물건을 살 수 있습니다. 물론 빚을 져야 합니다.

댓글

댓글 본문
작성자
비밀번호
버전 관리
truelight
현재 버전
선택 버전
graphittie 자세히 보기