정보처리기사 실기 시험 기출 문제 - 구조체와 반복문의 활용
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!
문제
다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: struct_loop_example.c
#include <stdio.h>
struct A {
int n;
int g;
};
main() {
struct A st[2];
for (int i = 0; i < 2; i++) {
st[i].n = i;
st[i].g = i + 1;
}
printf("%d", st[0].n + st[1].g);
}
입력 예시
이 프로그램은 사용자로부터 입력을 받지 않습니다.
출력 예시
2
해설
이 프로그램은 struct A
라는 구조체를 사용하여 각 인덱스에 해당하는 구조체의 두 속성 n
과 g
를 초기화합니다. n
속성은 각 구조체의 인덱스 값으로, g
속성은 인덱스 값에 1을 더한 값으로 설정됩니다. 프로그램은 for
반복문을 통해 두 개의 구조체 요소를 초기화한 다음, 첫 번째 요소의 n
값과 두 번째 요소의 g
값의 합을 계산하여 출력합니다.
struct A
구조체는 두 개의 정수형 멤버n
과g
를 가집니다.st
배열은struct A
타입의 두 요소를 포함합니다.- 반복문은 각 요소의
n
과g
를 초기화합니다. 여기서st[i].n = i
는 각 요소의n
을 현재 인덱스로 설정하고,st[i].g = i + 1
은g
를 인덱스보다 하나 높은 값으로 설정합니다. - 최종 출력은
st[0].n + st[1].g
의 결과를 계산하고 출력합니다.st[0].n
은 0이고,st[1].g
는 2이므로 결과는 2입니다.
이 프로그램은 구조체 배열을 초기화하고 특정 요소들의 값을 활용하여 계산을 수행하는 방법을 보여 줍니다.