16 다음 C 언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
#include <stdio.h>
main() {
int res = mp(2, 10);
printf("%d", res);
}
int mp(int base, int exp) {
int res = 1;
for(int i=0; i<exp; i++)
res *= base;
return res;
}
답
더보기
1024
해설
코드 | 실행순서 및 해석 | ||
1 | #include <stdio.h> | ||
2 | main() { | ||
3 |
int res = mp(2, 10); | 1 | mp라는 함수를 호출해서 정수형 변수 res에 넣는다 |
7 | res = 1024 | ||
4 | printf("%d", res); | 8 | 출력 |
5 | } | ||
6 | int mp(int base, int exp) { | 2 | 2, 10을 인수로 하여 mp 함수 호출 |
7 | int res = 1; | 3 | res에 초기값 1을 넣고 시작 |
8 | for(int i=0; i<exp; i++ | 4 | i가 exp보다 작을 때까지 반복 실행 |
9 | res *= base; | 5 | res에 base를 곱한 값을 넣는다 |
10 | return res; | 6 | 2^10=1024 반환 |
11 | } |
res | base | exp | i |
1 | 2 | 10 | 0 |
1*2=2^1 | 2 | 10 | 1 |
2*2=2^2 | 2 | 10 | 2 |
4*2=2^3 | 2 | 10 | 3 |
... | 2 | 10 | ... |
2^9 | 2 | 10 | 9 |
2^10 | 2 | 10 | 10(종료) |
'자격증 > 정보처리기사 실기 - 기출문제' 카테고리의 다른 글
[정보처리기사 실기] 2021년 2회 18 - 프로그래밍 [C] 포인터 (0) | 2025.07.17 |
---|---|
[정보처리기사 실기] 2021년 2회 17 - 프로그래밍 [JAVA] (0) | 2025.07.17 |
[정보처리기사 실기] 2021년 2회 15 - 데이터 모델링 (0) | 2025.07.17 |
[정보처리기사 실기] 2021년 2회 14 - 데이터베이스 병행제어 (0) | 2025.07.17 |
[정보처리기사 실기] 2021년 2회 13 - 디자인 패턴 (0) | 2025.07.17 |