본문 바로가기
프로그래밍 일반사무자동화산업기사 · 2019년04월27일 · 57/80

57.다음 C프로그램에서 최종적으로 출력되는 n, t의 값을 순서대로 나열하면?

사무자동화산업기사 57번 문제 이미지
1
10, 55
2
9, 45정답
3
10, 45
4
9, 55

해설

int n=0, t=0; ----- n이라는 정수 변수에 0을 넣고, t라는 정수 변수에 0을 넣고 do while문 시작 t+=n; ----- t = t+n이라는 의미 printf("n=%2d, t=%2d\n", n++, t); ----- n=%2d와 t=%2d는 n과 t를 2자리 10진수로 나타내라는 뜻, n++는 n이 1씩 증가함을 의미, t는 그대로 while(n<10); ----- n이 10이상이 되면 그대로 print하라는 뜻 n t 01단계 t+=n 계산 00 00 t(0)+n(0) = t(0) 01단계 printf 출력 00 00 01단계 n++ 계산 01 00 n<10이므로 다시 do로 ㄱㄱ 02단계 t+=n 계산 01 01 t(0) + n(1) = t(1) [앞쪽 t는 이전 단계 마지막 t, 뒤쪽 t는 이번 단계에 새로 지정하게될 t] 02단계 printf 출력 01 01 02단계 n++ 계산 02 01 n<10이므로 다시 do로 ㄱㄱ 03단계 t+=n 계산 02 03 t(1)+n(2)=t(3) 03단계 printf 출력 02 03 03단계 n++ 계산 03 03 n<10이므로 다시 do로 ㄱㄱ 04단계 t+=n 계산 03 06 t(3)+n(3)=t(6) 04단계 printf 출력 03 06 04단계 n++ 계산 04 06 n<10이므로 다시 do로 ㄱㄱ 05단계 t+=n 계산 04 10 t(6)+n(4)=t(10) 05단계 printf 출력 04 10 05단계 n++ 계산 05 10 n<10이므로 다시 do로 ㄱㄱ 06단계 t+=n 계산 05 15 t(10)+n(5)=t(15) 06단계 printf 출력 05 15 06단계 n++ 계산 06 15 n<10이므로 다시 do로 ㄱㄱ 07단계 t+=n 계산 06 21 t(15)+n(6)=t(21) 07단계 printf 출력 06 21 07단계 n++ 계산 07 21 n<10이므로 다시 do로 ㄱㄱ 08단계 t+=n 계산 07 28 t(21)+n(7)=t(28) 08단계 printf 출력 07 28 08단계 n++ 계산 08 28 n<10이므로 다시 do로 ㄱㄱ 09단계 t+=n 계산 08 36 t(28)+n(8)=t(36) 09단계 printf 출력 08 36 09단계 n++ 계산 09 36 n<10이므로 다시 do로 ㄱㄱ 10단계 t+=n 계산 09 45 t(36)+n(9)=t(45) 10단계 printf 출력 09 45 10단계 n++ 계산 10 45 n<10이 아니므로 방금 전에 prinft 출력한 09와 45를 밑으로 보냄 결과 : n=9 t=45

이 시험을 직접 풀어보세요

실전과 동일한 CBT 환경에서 시간 제한 연습

회원가입 없이 CBT 풀기