모두CBT

다음 C 프로그램의 결과 값은?main(void) {int i;int … | 20년-3회차-정보처리기사-필기 기출문제 상세 페이지

120년-3회차-정보처리기사-필기

다음 C 프로그램의 결과 값은?

main(void) {
int i;
int sum = 0;
for(i =1; i<=10; i=i+2)
sum = sum + i;
printf("%d", sum);
}
1
15
2
19
 
3
25
4
27
 
해설

1부터 10까지 2씩 건너뛰며 더하는, 즉 10 이하 홀수의 합을 구하는 코드이므로 출력값은 25다.

제어변수 i는 1에서 시작해 2씩 증가하므로 1, 3, 5, 7, 9 다섯 번만 본문을 실행하고, i가 11이 되는 순간 조건 i<=10 이 거짓이 되어 반복이 끝난다.

sum = 1 + 3 + 5 + 7 + 9 = 25
반복문에 중괄호가 없어 본문은 sum = sum + i 한 문장뿐이고, 출력은 반복이 모두 끝난 뒤 한 번만 실행된다.

1부터 10까지 모두 더하면 55, 짝수만 더하면 30이 되므로, 증가폭이 2라는 점을 놓치면 값이 크게 어긋난다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.