728x90
반응형
2021년 2회 정보처리기사 실기 기출문제
문제
다음 C프로그램의 실행결과를 쓰시오.
#include <stdio.h>
int fp(int base, int exp) {
int result = 1;
for(int i = 0; i < exp; i++) {
result = result * base;
}
return result;
}
int main() {
int result;
result = fp(2, 10);
printf("%d", result);
return 0;
}
정답
1024
반응형
📌 main 함수
int result;
result = fp(2, 10);
printf("%d", result);
- result는 fp 함수의 반환값을 저장합니다.
- fp(2, 10)을 호출하며, 인수 base = 2와 exp = 10을 전달합니다.
📌 fp 함수
int fp(int base, int exp) {
int result = 1;
for(int i = 0; i < exp; i++) {
result = result * base;
}
return result;
}
- result는 1로 초기화됩니다.
- for 반복문은 i = 0부터 i = exp - 1까지 반복되며, 각 반복마다 result에 base 값을 곱합니다. 즉, result = result * base;로 계속해서 계산됩니다. 마지막으로 result는 1024가 되고, 이를 반환합니다.
- 첫 번째 반복 (i = 0): result = 1 * 2 = 2
- 두 번째 반복 (i = 1): result = 2 * 2 = 4
- 세 번째 반복 (i = 2): result = 4 * 2 = 8
- 네 번째 반복 (i = 3): result = 8 * 2 = 16
- 다섯 번째 반복 (i = 4): result = 16 * 2 = 32
- 여섯 번째 반복 (i = 5): result = 32 * 2 = 64
- 일곱 번째 반복 (i = 6): result = 64 * 2 = 128
- 여덟 번째 반복 (i = 7): result = 128 * 2 = 256
- 아홉 번째 반복 (i = 8): result = 256 * 2 = 512
- 열 번째 반복 (i = 9): result = 512 * 2 = 1024
728x90
📌 main 함수 출력
printf("%d", result);
- fp(2, 10)의 반환값인 1024가 result에 저장되며, printf를 통해 화면에 1024가 출력됩니다.
🔎 지역변수
fp 함수에서 result는 지역변수로 선언됩니다. 이는 fp 함수가 실행될 때만 존재하며, 함수가 끝나면 메모리에서 제거됩니다. 지역변수는 함수 외부에서 접근할 수 없고, 해당 함수 내에서만 사용됩니다. fp 함수의 result 변수는 계산이 완료되면 값을 반환합니다.
main 함수에서 선언된 result는 지역변수로, main 함수가 실행되는 동안만 존재합니다. result = fp(2, 10)을 통해 fp 함수의 반환값을 저장하고, printf를 통해 이를 출력합니다. main 함수가 끝나면 result는 메모리에서 사라집니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형
'코딩일기 > 자격증' 카테고리의 다른 글
[정보처리기사] SQL | 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL) 총정리 (0) | 2025.01.23 |
---|---|
[정보처리기사] AAA(Triple-A) : Authentication, Authorization, Accounting 개념 정리 | 정보처리기사 실기 기출문제 (0) | 2025.01.22 |
[정보처리기사] [ Python ] for ... in 반복문과 range() 함수 | 시프트 연산 | 정보처리기사 실기 기출문제 (0) | 2025.01.21 |
[정보처리기사] [ C ] 포인터와 배열 | 정보처리기사 실기 기출문제 (0) | 2025.01.21 |
[정보처리기사] [Java] 상속과 오버라이딩, super 키워드 | 정보처리기사 실기 기출문제 (0) | 2025.01.20 |