3장 해설
1분 퀴즈
1. ③
해설_ ++ 연산자가 변수 앞에 있으면 문장 실행 전에, 뒤에 있으면 문장 실행 후에 ++ 연산 작업을 실행합니다. 그러므로 처음 printf() 문에서는 현재 변수 num의 값인 10을 출력하고 나서 num을 1 증가시키고, 다음 줄의 printf() 문에서는 변수 num의 값(11)을 1 증가시키고 나서 출력하므로 12를 출력합니다.
2. ①
해설_ for 문의 형식을 확인하는 문제입니다. i는 0부터 시작하며 1씩 증가하므로 i가 3보다 작은 조건을 만족하는 동안 반복하면 파이팅이 3번 출력됩니다.
3. ④
해설_ 다른 보기는 모두 ‘좋았어’가 5번 출력되지만 i == 4 조건이 들어가면 처음부터 거짓이므로 while 문 안 코드는 한 번도 실행되지 않습니다.
4. ①
해설_ do while 문은 조건에 상관없이 반드시 한 번은 실행합니다. i가 3이었는데 한 번 실행하면 i--를 수행해 2가 되고, 이에 따라 조건 i > 3는 거짓이 되므로 반복문을 바로 탈출합니다.
5. ④
해설_ 앞에서 배운 구구단 코드는 i와 작거나 같은지 비교하는 <= 연산자를 사용했지만, 여기서는 작은지 비교하는 < 연산자를 썼습니다. 5~7단을 계산하려면 i는 8보다 작을 동안, 3~5만 곱하기 위해 j는 6보다 작을 동안 반복문을 수행합니다.
셀프체크
#include <stdio.h>
int main(void) {
for (int i = 5; i > 0; i--) {
for (int j = i; j > 0; j--) {
printf("*");
}
printf("\n");
}
return 0;
}