기술 임용 고사 C언어 - 모의고사 2회
출제 범위 : 예비 교사를 위한 기술 임용 C언어 1-7장
문제 1 (2024년 기출 변형)
아래 CODE
는 직원의 근무 평점과 근속 연수에 따라 특별 보너스 지급 여부를 결정하는 프로그램이다.
<조건>
을 만족할 경우에만 "특별 보너스 대상입니다."가 출력된다.
RESULT
실행화면을 참조하여 ㉠, ㉡, ㉢에 들어갈 코드를 순서대로 작성하시오.
- 근무 평점이 90점 이상이고, 근속 연수가 10년 이상이어야 보너스를 지급한다.
- 또는, 근무 평점이 95점 이상이면 근속 연수와 관계없이 보너스를 지급한다.
💻 CODE
#include <stdio.h> int main(void){ int score, years; printf("근무 평점을 입력하시오: "); scanf("%d", &score); printf("근속 연수를 입력하시오: "); scanf("%d", ㉠); if(㉡) printf("특별 보너스 대상입니다.\n"); ㉢ printf("특별 보너스 대상이 아닙니다.\n"); return 0; }
📋 RESULT
- Chapter 04. 변수
- p. 70:
scanf
함수
- p. 70:
- Chapter 05. 연산자
- p. 86: 비교 연산자
- p. 88: 논리 연산자
- Chapter 06. 조건문
- p. 110:
if-else
문
- p. 110:
문제 2 (2022년 기출 변형)
아래는 '과잉수(Abundant number)'에 대한 정의와 이를 판별하는 C언어 프로그램 CODE
이다.
'과잉수'란 "자기 자신을 제외한 모든 약수의 합이 자기 자신보다 큰 수"를 의미한다.
예를 들어 12의 자신을 제외한 약수는 1, 2, 3, 4, 6이고 이 약수들의 합은 1+2+3+4+6=16이다.
약수들의 합(16)이 원래의 수(12)보다 크므로 12는 과잉수이다.
<작성방법>
에 따라 순서대로 서술하시오.
💻 CODE
#include <stdio.h> int main(void) { int i, num, sum = 0; printf("양의 정수를 입력하시오: "); scanf("%d", &num); for (i = 1; i < num; i++) { if (㉠) { ㉡; } } if (㉢) printf("%d는 과잉수입니다.\n", num); else printf("%d는 과잉수가 아닙니다.\n", num); return 0; }
- ㉠에 들어갈 조건식을 작성하시오.
- ㉡에 들어갈 코드를 작성하시오.
- ㉢에 들어갈 조건식을 작성하시오.
- Chapter 05. 연산자
- p. 77: 나머지 연산자
%
- p. 80: 복합 대입 연산자
+=
- p. 77: 나머지 연산자
- Chapter 06. 조건문
- p. 108:
if
문
- p. 108:
- Chapter 07. 반복문
- p. 126:
for
문
- p. 126:
문제 3 (2019년 기출 변형)
아래 CODE
는 표준입력장치로부터 양의 정수 1개를 입력받아,
그 수의 계승(Factorial) 값을 구하는 프로그램이다.
RESULT
실행화면을 참조하여 ㉠, ㉡, ㉢에 들어갈 코드를 순서대로 작성하시오.
(단, 계승 값은 int 자료형의 범위를 넘지 않는다고 가정한다.)
💻 CODE
#include <stdio.h> int main(void) { int i, n; int fact = ㉠; printf("계승을 계산할 양의 정수를 입력하시오: "); scanf("%d", &n); for (i = 1; ㉡; i++) { ㉢; } printf("%d의 계승(Factorial) 값은 %d입니다.\n", n, fact); return 0; }
📋 RESULT
- Chapter 04. 변수
- p. 62: 변수 초기화
- p. 70:
scanf
함수
- Chapter 05. 연산자
- p. 80: 복합 대입 연산자
*=
- p. 80: 복합 대입 연산자
- Chapter 07. 반복문
- p. 126:
for
문 - p. 129: for문을 이용한 합계 계산 응용
- p. 126:
문제 4 (2020년 기출 변형)
아래 CODE
는 1부터 사용자가 입력한 양의 정수까지의 숫자 중,
3과 5의 공배수들의 합을 구하는 프로그램이다.
RESULT
실행화면을 참조하여 ㉠, ㉡, ㉢에 들어갈 코드를 순서대로 작성하시오.
💻 CODE
#include <stdio.h> int main(void) { int i = 1, j = 0, sum = 0; printf("범위를 지정할 양의 정수를 입력하시오: "); scanf("%d", ㉠); while (i <= j) { if (㉡) { sum += i; } ㉢; } printf("1부터 %d까지 3과 5의 공배수의 합은 %d입니다.\n", j, sum); return 0; }
📋 RESULT
- Chapter 05. 연산자
- p. 77: 나머지 연산자
%
- p. 88: 논리 연산자
&&
- p. 77: 나머지 연산자
- Chapter 06. 조건문
- p. 108:
if
문
- p. 108:
- Chapter 07. 반복문
- p. 132:
while
문
- p. 132:
문제 5 (2021년 기출 변형)
아래 CODE
는 1부터 100 사이의 임의의 숫자를 맞추는 게임 프로그램이다.
사용자가 숫자를 계속 입력하다가 77을 입력하면 게임이 종료된다.
RESULT
실행화면과 <조건>
을 참조하여 ㉠, ㉡, ㉢에 들어갈 코드를 순서대로 작성하시오.
- 사용자가 숫자를 입력할 때마다 정답인지 아닌지 판별한다.
- 숫자 77을 입력하면 "정답입니다!"를 출력하고 프로그램을 종료한다.
💻 CODE
#include <stdio.h> int main(void) { int guess = 0; int answer = 77; while (㉠) { printf("숫자를 입력하세요 (1~100): "); scanf("%d", &guess); if (guess == answer) { printf("정답입니다!\n"); ㉡; } else { ㉢; } } printf("게임을 종료합니다.\n"); return 0; }
📋 RESULT
- Chapter 06. 조건문
- p. 110:
if-else
문 - p. 120:
break
문의 역할
- p. 110:
- Chapter 07. 반복문
- p. 132:
while
문 - p. 142: 반복 흐름 제어
- p. 132:
댓글 없음:
댓글 쓰기