-
[C Language] 18. do ~ while 문 - C 언어CSE/C Language 2015. 6. 13. 10:16
1. 사용방법
do ~ while의 형식은 아래와 같다.
형 식
예 제
do 수행문;
while (조건식);
int num = 1;
do printf("num = %d\n", num++);
while (num != 1024);
do {
수행문;
수행문;
...
} while (조건식);
do {
puts("=== menu === ");
puts("1. 짜장면");
puts("2. 짬뽕");
scanf("%d", &num);
...
} while (num != 0);
do while문은 while문과 달리 조건식을 먼저 검사하지 않고, 수행문을 한 번 실행 후 조건식을 검사하는 반복문이다.
실질적인 do ~ while문 예제를 살펴보자.
123456789101112131415161718192021222324252627/** menu.c** Created on: 2015. 5. 12.* Author: root*/#include <stdio.h>int main(void) {int menu_num;do {puts("\nMenu List");puts("1. Ramen");puts("2. KimBab");puts("3. Bulgogi");puts("4. Exit");printf("\nSelect Menu:");scanf("%d", &menu_num);} while (menu_num >= 1 && menu_num <= 3);return 0;}cs do ~ while은 일반적으로 메뉴를 출력하고 처리할 때 많이 사용된다. 메뉴를 출력하고 사용자에게 선택권을 부여한 후 지정한 값을 처리 할 때 유용하다.
만약 while 문을 통해 작성 했을 경우, scanf를 두 번 작성해야 하는 번거로움이 있다.
다음은 itoa() 기능을 하는 프로그램을 작성해서 살펴보자.
12345678910111213141516171819202122232425262728293031323334353637383940/** itoa.c** Created on: 2015. 5. 12.* Author: root*/#include <stdio.h>int main(void) {int num, int_num;char string_num[10];puts("Input num (> 10).");scanf("%d", &int_num);num = int_num;int i, j, tmp;i = 0;do {string_num[i++] = int_num %10 + '0';} while ((int_num = int_num / 10) > 0);string_num[i] = '\0';for (i = 0, j = strlen(string_num) - 1; i < j; i++, j--) {tmp = string_num[i];string_num[i] = string_num[j];string_num[j] = tmp;}printf("Input number is %d.\n", num);printf("Converted string is %s.\n", string_num);return 0;}cs * Programming in C 서적을 참고하여 작성하였습니다
'CSE > C Language' 카테고리의 다른 글
[C Language] 21. 함수(function)란? - C 언어 (0) 2015.06.13 [C Language] 20. continue, break - C 언어 (0) 2015.06.13 [C Language] 19. for 문 - C 언어 (0) 2015.06.13 [C Language] 17. while 문 - C 언어 (0) 2015.06.13 [C Language] 16. switch 문 - C 언어 (0) 2015.06.13 [C Language] 15. if ~ else - C 언어 (0) 2015.06.13