재구성 출제 고지: 이 문제집은 국가평생교육진흥원 독학학위제 2단계 C프로그래밍 출제기준(자료형·연산자·입출력, 조건/반복 영역)의 평가 범위와 문항 유형을 분석해 새로 구성한 재구성 문항입니다. 실제 기출 문항을 그대로 옮긴 것이 아닙니다. 회차별 정확한 문항 수·시험 시간은 시행처 공고를 확인해야 하며, 여기서는 20문항을 표준 분량으로 구성했습니다.
출제 범위와 문항 배분
| 영역 | 문항 수 | 문항 번호 | 관련 편 |
|---|---|---|---|
| 프로그램 구조·컴파일 흐름 | 3 | 1–3 | 06 |
| 기본 자료형·형 변환·sizeof | 4 | 4–6, 16 | 07 |
| 연산자와 표현식 평가 | 6 | 7–8, 14–15, 17–18 | 08 |
| 조건문·반복문 제어 구조 | 7 | 9–13, 19–20 | 09 |
각 문제의 코드를 먼저 손으로 한 줄씩 따라가며 변수 값을 표로 적어본 뒤 정답을 확인하세요. 특히 증감 연산자·논리 연산자의 단락 평가(short-circuit evaluation)·switch문의 break 누락은 독학사 시험에서 반복 출제되는 대표 함정입니다.
프로그램 구조·컴파일 흐름 (1–3)
문제 1
문제 14지선다
C프로그램에서 운영체제가 프로그램 실행을 시작할 때 가장 먼저 호출하는 함수로 옳은 것은?
문제 2
문제 24지선다
main 함수가 return 0을 실행하고 종료했을 때의 의미로 가장 적절한 것은?
문제 3
문제 34지선다
선행처리기(preprocessor)가 #include 지시문을 처리하는 방식으로 가장 적절한 것은?
기본 자료형·형 변환·sizeof (4–6, 16)
문제 4
이 문제집의 계산 문제는 특별한 언급이 없는 한 int는 4바이트, char는 1바이트, double은 8바이트인 환경을 기준으로 한다.
#include <stdio.h>
int main(void) {
printf("%d\n", (int)(sizeof(int) + sizeof(char)));
return 0;
}문제 44지선다
위 코드를 int 4바이트, char 1바이트 환경에서 실행했을 때 출력되는 값은?
문제 5
#include <stdio.h>
int main(void) {
int a = 7, b = 2;
double result = a / b;
printf("%.1f\n", result);
return 0;
}문제 54지선다
위 코드를 실행했을 때 출력되는 값은?
문제 6
#include <stdio.h>
int main(void) {
int score = 1000000;
short small_score = score;
printf("%d\n", small_score);
return 0;
}문제 64지선다
short가 16비트인 환경에서 위 코드를 컴파일·실행했을 때 나타나는 현상으로 가장 적절한 것은?
연산자와 표현식 평가 (7–8, 14–15, 17–18)
문제 7
#include <stdio.h>
int main(void) {
int result = 5 + 3 * 2;
printf("%d\n", result);
return 0;
}문제 74지선다
위 코드를 실행했을 때 출력되는 값은?
문제 8
#include <stdio.h>
int main(void) {
int x = 5;
int y = x++ + ++x;
printf("%d %d\n", x, y);
return 0;
}문제 84지선다
위 코드를 실행했을 때 출력되는 x와 y의 값으로 옳은 것은?
문제 14
#include <stdio.h>
int main(void) {
int a = 0;
int b = 5;
if (a != 0 && (b = 10) > 0) {
printf("A");
}
printf("%d\n", b);
return 0;
}문제 94지선다
위 코드를 실행했을 때 출력되는 결과로 가장 적절한 것은?
문제 15
#include <stdio.h>
int main(void) {
int a = 7;
int result = (a % 2 == 0) ? 100 : 200;
printf("%d\n", result);
return 0;
}문제 104지선다
위 코드를 실행했을 때 출력되는 값은?
문제 17
#include <stdio.h>
int main(void) {
char c = 'A';
c = c + 1;
printf("%c\n", c);
return 0;
}문제 114지선다
위 코드를 실행했을 때 출력되는 문자는?
문제 18
#include <stdio.h>
int main(void) {
unsigned char u = 255;
u = u + 1;
printf("%d\n", u);
return 0;
}문제 124지선다
unsigned char가 8비트인 환경에서 위 코드를 실행했을 때 출력되는 값은?
조건문·반복문 제어 구조 (9–13, 19–20)
문제 9
#include <stdio.h>
int main(void) {
int x = 5;
if (x > 0)
if (x > 10)
printf("A");
else
printf("B");
return 0;
}문제 134지선다
위 코드를 실행했을 때 출력되는 결과는?
문제 10
#include <stdio.h>
int main(void) {
int n = 2;
switch (n) {
case 1:
printf("one ");
case 2:
printf("two ");
case 3:
printf("three ");
break;
default:
printf("other");
}
return 0;
}문제 144지선다
위 코드를 실행했을 때 출력되는 결과는?
문제 11
#include <stdio.h>
int main(void) {
int i = 5;
while (i < 5) {
printf("A");
i++;
}
printf("end");
return 0;
}문제 154지선다
위 코드를 실행했을 때 출력되는 결과는?
문제 12
#include <stdio.h>
int main(void) {
int sum = 0;
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 2; j++) {
sum += i * j;
}
}
printf("%d\n", sum);
return 0;
}문제 164지선다
위 코드를 실행했을 때 출력되는 sum의 값은?
문제 13
#include <stdio.h>
int main(void) {
int sum = 0;
for (int i = 1; i <= 5; i++) {
if (i == 3) continue;
if (i == 5) break;
sum += i;
}
printf("%d\n", sum);
return 0;
}문제 174지선다
위 코드를 실행했을 때 출력되는 sum의 값은?
문제 19
#include <stdio.h>
int main(void) {
int x = -5;
if (x) {
printf("nonzero");
} else {
printf("zero");
}
return 0;
}문제 184지선다
위 코드를 실행했을 때 출력되는 결과는?
문제 20
문제 194지선다
정수형 변수를 printf에서 실수 형식 지정자(%f 계열)로 출력하도록 잘못 지정했을 때 나타나는 현상으로 가장 적절한 것은?
참고 자료
Last updated on