자격증/정보처리기사 실기 - 기출문제

[정보처리기사 실기] 2021년 2회 16 - 프로그래밍 [C]

Ayel 2025. 7. 17. 08:23

 

 


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(종료)