본문 바로가기
GM Library/☆ 기말시험 Data

방송대 방통대 C프로그래밍 기말시험 기출문제 2018년도 1학기 1학년 / 올에이클래스 모의고사

by HAN, URI / ΛΙΙΛ™ 2024. 7. 1.
0-썸네일-C프로그래밍-기말-18-1-1
0-썸네일-C프로그래밍-기말-18-1-1
2018 학년도  1 학기  1 학년  25 문항
C프로그래밍
시험종류   :기말시험
출제위원   :방송대 김형근
출제범위   :교재전체(특히 4, 5, 6장) (해당 멀티미디어강의 포함)
자료출처   :한국방송통신대학교
웹앱제작   :올에이클래스 김현수
01C 프로그램 작성 시 반드시 작성해야 하는 함수는? (2점)
해설)
02다음 중 출력양식 변환기호의 설명으로 잘못된 것은? (2점)
해설)
03다음과 같은 프로그램의 실행결과로서 올바른 것은? (3점)
#include <stdio.h>
#define SUM(x,y) x+y
void main() {
  int a;
  a=10*SUM(3, 4);
  printf("a=%d", a);
}
해설)
04다음 프로그램을 조건 연산자를 사용하여 바꾼다면 가장 올바른 것은? (2점)
if(a>10)
  x=a*100;
else
  x=a*200;
해설)
05다음 프로그램의 실행결과로 올바른 것은? (2점)
#include <stdio.h>
void main() {
  int a=4, b, c;
  b=a>2;
  printf("b=%d", b);
  c=a<2;
  printf("c=%d", c); 
}
해설)
06다음 프로그램이 실행됐을 때 x는 몇 번 출력되는가? (3점)
#include <stdio.h>
void main() {
  int i=0, j=0;
  for(i=0; i<5; i++)
    for(j=5; j>2; j--)
      putchar('x');
}
해설)
07다음 프로그램의 출력결과로 올바른 것은? (3점)
#include <stdio.h>
main() {
  int a=10;
  if(a>=0)
    if(a==0)  
      printf("첫 번째 if");
    else
      printf("두 번째 if");
  else
    printf("세 번째 if");
}
해설)
(8~9) 다음과 같은 프로그램이 있을 때 물음에 답하시오.
#include <stdio.h>
void main() {
  char s[50];
  ( ㉠ )
  ( ㉡ )
}
08위에서 문자열 자료를 입력받기 위해 ㉠의 위치에 사용될 수 있는 표준 입력함수로서 올바르게 나타낸 것은? (3점)
해설)
09위에서 입력된 문자열 자료를 출력하기 위해 ㉡의 위치에 사용될 수 있는 표준 출력함수로서 올바르게 나타낸 것은? (3점)
해설)
10다음과 같은 프로그램의 실행결과로서 올바른 것은? (3점)
#include <stdio.h>
void main() {
  int a=10;
  static int b=20;
  {
    int a=5;
    b=a+10;
  }
  printf("a=%d   b=%d\n", a, b);
}
해설)
11다음 중 함수에 대한 설명으로 잘못된 것은? (2점)
해설)
12다음의 배열에 대한 설명 중 올바르지 않은 것은? (2점)
해설)
(13~14) 다음과 같은 프로그램이 있을 때 물음에 답하시오.
#include <stdio.h>
void fcn1();
int x;
void main() {
  printf("x= %d\n ", x);  ---- ㉠
  fcn1();
  printf("x= %d\n ", x);  ---- ㉡
}
void fcn1() {
  x++;
}
13위에서 ㉠에 대한 결과로서 올바른 것은? (2점)
해설)
14위에서 ㉡에 대한 결과로서 올바른 것은? (2점)
해설)
15다음과 같은 프로그램의 결과로 올바른 것은? (4점)
#include <stdio.h>
void main(){
  int a[4]={10, 20,  };
  printf("%d %d %d %d\n", a[0], a[1], a[2], a[3]);
}
해설)
16다음과 같은 프로그램의 결과로 올바른 것은? (4점)
#include <stdio.h>
void main() {
  int array[3][4]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
  printf("%d", array[1][2]);
}
해설)
17다음 프로그램의 실행결과로서 올바른 것은? (3점)
#include <stdio.h>
void main() {
  int a=10, b=20, c=30;
  int *array[3]={&a, &b, &c};
  printf("%d", *array[1]);
}
해설)
(18~19) 다음과 같은 프로그램이 있을 때 물음에 답하시오.
#include <stdio.h>
void main() {
  int *p, *q;
  int a[ ]={10,20,30,40,50,60,70,80,90,100};
  p=&a[2];
  q=p+4;
    printf("%d %d\n", *p, *q);  ----  ㉠
    printf("*(p+3)=%d\n", *(p+3));  ----  ㉡
    printf("p-q= %d\n", p-q);  ----  ㉢
}
18위에서 ㉠의 결과로서 올바른 것은? (3점)
해설)
19위에서 ㉡의 결과로서 올바른 것은? (3점)
해설)
(20~21) 다음과 같이 변수 선언과 초기화가 되어있을 때 물음에 답하시오.
float var1, var2;
var1=3.14;
20위에서 실수형 포인터 변수 fptr을 선언한다면 올바른 표현은? (3점)
해설)
21위에서 포인터 변수 fptr에 주소를 할당하는 방법으로 올바른 것은? (3점)
해설)
22다음 중 “int형 멤버와 double형 멤버를 갖는 구조체 명이 data 인 구조체를 정의하고, 구조체 변수명이 var 인 구조체를 선언”한 것으로 올바른 것은? (3점)
ⓐ  struct var{
      int x;
      double y;
    };
    struct var data;
ⓑ  struct data{
      int x;
      double y;
    };
    struct data var;
ⓒ  struct var{
      int x;
      double y;
    }struct var data;
ⓓ  struct data{
      int x;
      double y;
    };
    struct var;
해설)
(23~24) 다음과 같은 프로그램이 있을 때 물음에 답하시오.
#include <stdio.h>
#include <stdlib.h>
void main() {
  FILE ( ㉠ );
  int c;
  if((fp=fopen("oldname.dat", "rb")) == NULL){
    exit(1);
  }
  while((c=fgetc(fp)) != EOF)
    fprintf(stdout, "%c", c);
  ( ㉡ );
}
23위에서 빈칸 ㉠에 들어갈 내용으로 올바른 것은? (4점)
해설)
24위에서 빈칸 ㉡에 들어갈 내용으로 올바른 것은? (4점)
해설)
25다음 중 동적할당에 대한 설명으로 잘못된 것은? (2점)
해설)
문제답안
412311213313124324322241C

댓글