오랜만에 글을 작성합니다. 지난달에 시험기간도 겹치도 프로젝트 하는거도 너무 바빠서...
지난번에 이어 Loop 반복문중 하나인 while문과 do-while문에 대해 오늘은 공부를 해보도록 하겠습니다.
(같이 공부하는 겁니다. 사실 저도 잘 모름)
while문은 for문과 비스므리 합니다(저자의 발언 발췌)
figure.1을 보면 for문과 유사하면서 for문보다 단순합니다.
while문의 기본 구조는 figure.2와 같습니다.
for문처럼 조건식에는 반복문이 언제 끝날지에 대한 조건이 들어갑니다. figure.1에서는 i가 100보다 작거나 같을때까지 반복문을 돌린다라는게 조건이죠.
위 경우 i의 값을 계속 검사하여 100 이하인지 확인하고, sum에다가 i를 더하고 i의 값을 증가 시키고,. 이 과정을 반복합니다.
for문과 while문의 특징은 시작부터 조건식을 검사한다는 것입니다(이래야 쓸데없이 반복을 안해서 오버플로우를 막을 수 있기때문) (컴퓨터 개빡칠듯...)
그래서 만약 조건식이 i < 1이라면 while문은 돌아가지 않습니다.(이미 i가 1값을 가지고 있으니 그런듯)
따라서 figure.1의 결과는 figure.3과 같습니다.
while문은 간단합니다. 앞서서 for문을 공부했기 때문에 구조가 비슷한 while문은 금방 알 수 있었습니다(나만 모르는거 아니죠? 제발)
두번째로 do-while문에 대해서 배워보겠습니다.
do-while문은 while문과 거의 비슷하다고 합니다. 1가지의 차이점은 앞서 말씀드린 for,while문은 조건식을 최우선적으로 검사를 하여서, 조건이 참이여야만 명령이 실행이 됩니다.
그런데 do-while문은 먼저 명령을 실행 한 뒤에 조건식을 검사하는 구조입니다. 그래서 무조건 조건식이 참이 아니더라도 최소 1번은 실행되게 됩니다.
figure.4를 보면 i값이 1이기 때문에 일반적인 for,while문은 실행이 안되고 sum의 값이 0으로 출력이 되어야 하지만, do-while문은 do문이 먼저 실행이 되고 while문이 실행이 되기 때문에 do에서 sum += i;를 통해서 sum에 i값이 대입이 되어서 sum값이 1로 출력이 되는 것입니다. 간단하죠?(흠... 보시는 분들이라도 이해가 되셨길...)
자 이제 저자이신 이재범님께서 내주신 문제들을 공유하며 오늘 마무리 하겠습니다. 열심히 풀어보시기 바랍니다.
답은 책에도 없어서 다음번에는 제가 이 문제 답들과 풀이를 가져오도록 하겠습니다(내가? 입이 방정이네)
'C language(c언어)' 카테고리의 다른 글
형 변환(타입 캐스팅) -1 (0) | 2024.02.01 |
---|---|
Switch문 (2) | 2024.01.29 |
Loop 반복문 (break) (continue) (0) | 2023.09.11 |
Number and Digit (수와 숫자) 십진법,이진법,16진법 (1) | 2023.09.01 |
C language(c언어) comment(주석 처리) (0) | 2023.08.31 |