여러분 안녕하세요. 세이버입니다.
이번 강에서는 for 함수와 while 함수에 이은 새로운 반복문인 do while 함수를 소개해드리겠습니다.
반복문이 무엇인지와 for 함수, while 함수에 대한 설명은 이전 강의를 참고해주세요.
세이버의 C언어 강의 13강_반목문이란 무엇인가 Part 1 (for 함수) : https://poci.tistory.com/20
세이버의 C언어 강의 14강_반목문이란 무엇인가 Part 2 (while 함수) : https://poci.tistory.com/21
1. do while 함수
do while 함수는 앞서 배운 두 함수(for, while)보다는 사용빈도가 적습니다.
그래도 모르시는 것보다는 아시는 것이 조금 더 좋을 거 같아 소개해드리겠습니다.
함수의 이름에서부터 do while 함수는 while 함수와 비슷합니다.
do while 함수의 구조는 다음과 같습니다.
do while 함수의 구조
do
{
반복할 코드
} while(조건);
앞서배운 두 함수와는 달리 do(조건)이 아니라 {}뒤에 while에 조건이 붙는 걸 볼 수 있습니다.
또한 while(조건) 뒤에 세미콜론(;)이 붙는 것 잊지 마세요..
그럼 while 함수와 do while 함수의 차이점은 무엇이냐??
바로 초기 실행의 여부입니다.
while 함수를 처음 시작하면 조건을 먼저 확인 후 코드를 반복합니다. (조건 확인 -> 코드 반복)
do while 함수는 코드를 한번 실행 후에 조건을 확인하여 참이면 코드를 반복하는 차이가 있습니다. (코드 한번 실행 -> 조건확인 -> 코드 반복)
이렇게 코드를 한번 실행하냐 마냐의 차이점이 있습니다.
그럼 이러한 차이점을 어떻게 이용할 수 있냐고요??
위 코드는 while 함수를 이용해 만든 코드입니다.
5줄의 정수형 변수 num을 선언하여 -1을 저장했기에 7줄 while 함수의 조건을 만족하지 못합니다.
그러므로 while 함수가 실행되지 못해 결과가 아무것도 출력되지 않습니다.
그리고 이 코드는 do while 함수로 작성한 코드로, while 함수로 만든 코드와 같은 내용입니다.
do while 함수는 조건 확인 전에 내용이 한번 실행되므로 while 함수로 작성한 것과 달리 출력값이 존재합니다.
이러한 차이점으로 인해 do while 함수는 주로 프로그램 메뉴 기능을 구현할 때 사용됩니다.
프로그램 메뉴 기능이란 메뉴를 보여줌으로써 사용자가 선택하게 하여 선택한 값에 맞추어 프로그램을 동작시키는 것을 말합니다.
예시
1. 출력
2. 입력
3. 프로그램 종료
물론 while 함수로도 구현이 가능하기에 대부분의 사람들이 while 함수를 주로 사용합니다.
2. Tip (break와 continue)
12강 3절에서 break를 소개해드렸습니다.
12강을 안 보신 분들은 한번 보고 break에 대한 내용을 보고 오심을 추천드립니다.
세이버의 C언어 강의 12강_조건문(switch 함수) : https://poci.tistory.com/16
12강에서는 break는 case들을 구분하는 용도로 사용하기도 하고, 반복문을 종료시키는 역할을 한다고 했습니다.
이렇게 while 함수로 무한루프를 만들어도 break가 있으면 반복문을 종료하여 무한루프를 빠져나올 수 있습니다.
대부분의 서적에서 break와 같이 소개되는 것이 continue입니다.
continue는 '계속하다'라는 뜻이지만, 프로그래밍 언어에서는 코드를 건너뛰는 역할을 합니다.
반복문 중에서 continue는 continue뒤에 있는 것들을 무시하고 반복하게 하는 역할을 합니다.
7줄의 for 함수가 반복되는 동안 9줄의 조건(num이 5일 경우)이 참이 되면 continue가 실행되게 됩니다.
continue가 실행되면 12줄의 printf 함수가 실행되지 않고 반복이 되므로 출력값에 5가 출력되지 않는 것입니다.
이러한 continue를 이용하여 짝수만 출력, 홀수만 출력하게 할 수 있습니다.
짝수의 조건을 만족하면 continue를 실행되도록 하면 되니까요.
이건 여러분들이 직접 작성해보시길 바랍니다.
이번 강은 여기서 마치겠습니다.
다음 강에서는 조금 쉬어가는 의미로 쉬운 개념인 자료형에 대해서 소개해드리도록 하겠습니다.
오늘도 수고하셨습니다.
정리
- do while함수 : 한번 코드를 실행한 후 조건이 참이면 계속 반복을 하게 하는 함수
- break : 반복문을 종료하는 문장
- continue : 뒤에 있는 코드를 생략시킨 후 반복하게 하는 문장
강의가 유익하셨거나 마음에 드셨으면 구독과 좋아요, 댓글 부탁드립니다.
궁금하신 점이나 질문은 댓글이나 메일을 남겨주세요.
'C언어' 카테고리의 다른 글
세이버의 C언어 강의 17강_ 자료형이란 무엇인가 Part2_정수형 (0) | 2019.04.15 |
---|---|
세이버의 C언어 강의 16강_ 자료형이란 무엇인가 (0) | 2019.04.12 |
세이버의 C언어 강의 14강_반목문이란 무엇인가 Part 2 (while 함수) (0) | 2019.03.12 |
세이버의 C언어 강의 13강_반목문이란 무엇인가 Part 1 (for 함수) (0) | 2019.03.05 |
세이버의 C언어 강의 12강_조건문(switch 함수) (0) | 2019.02.26 |