GM Library/☆ 기말시험 Data 방송대 방통대 C프로그래밍 기말시험 기출문제 2015년도 1학기 1학년 / 올에이클래스 모의고사 by HAN, URI / ΛΙΙΛ™ 2024. 7. 1. 0-썸네일-C프로그래밍-기말-15-1-1 2015 학년도 1 학기 1 학년 25 문항 C프로그래밍 시험종류 :기말시험 출제위원 :방송대 김형근 출제범위 :교재 전체 (해당 멀티미디어강의 포함) 자료출처 :한국방송통신대학교 웹앱제작 :올에이클래스 김현수 01다음 중 C프로그램 언어의 예약어(reserved word)가 아닌 것은? (2점) for switch standard define 해설) 02다음 중 변수선언 형식으로 올바른 것은? (여기서 a는 변수명) (2점) a int; short a int; double a; int char a; 해설) ※(3~4) 다음과 같은 프로그램이 있을 때 물음에 답하시오. #include <stdio.h> void main(){ char s[50]; ( ㉠ ) ( ㉡ ) } 03위에서 문자열 자료를 입력받기 위해 ㉠의 위치에서 사용될 수 있는 표준 입력함수는? (2점) scanf("%s", &s); s=getchar(); puts(s); gets(s); 해설) 04위에서 입력된 문자열 자료를 출력하기 위해 ㉡의 위치에 사용된 출력함수로서 올바른 것은? (2점) printf("%c", s); printf("%s", &s); puts(s); gets(s); 해설) 05다음 프로그램의 실행결과로 올바른 것은? (3점) #include <stdio.h> void main() { int a=10, b; b=(a>15)? (a+10) : (a-10); printf("b=%d", b); } b=0 b=9 b=15 b=20 해설) 06다음 프로그램의 출력결과로 올바른 것은? (3점) #include <stdio.h> void main(){ int a, b, sum=0; for (a=0; a<10; a++) for(b=5; b>1; b--) sum+=1 printf("%d", sum); } 36 40 45 45 해설) 07다음 중 문자열 상수에 대한 설명으로 올바르지 않은 것은? (2점) 문자열의 치환 시 단일 인용부호(' ')로 묶는다. 문자열은 복수 개의 영문자 및 숫자로 이루어진 상수이다. 문자열의 입력 시 문자열 끝에 NULL 문자('\0')가 붙는다. 문자열의 길이는 NULL문자를 제외한 문자열의 문자 개수이다. 해설) 08다음 프로그램에서 ㉠, ㉡, ㉢, ㉣의 출력되는 결과가 순서대로 올바르게 나열된 것은? (3점) #include <stdio.h> void main(){ int i = 1, j = 2; { int i =3; { int i = 4; printf(" %d", i); ---- ㉠ printf(" %d", j); ---- ㉡ } printf("%d", i); ---- ㉢ } printf(" %d", i); ---- ㉣ } 4, 2, 3, 1 1, 2, 3, 1 4, 2, 3, 4 3, 2, 2, 1 해설) ※(9~10) 다음과 같은 프로그램이 있을 때 물음에 답하시오. #include <stdio.h> void fcn1(); int x; void main() { printf("x= %d\n ", x); ---- ㉠ fcn1(); printf("x= %d\n ", x); ---- ㉡ } void fcn1() { x++; } 09위에서 ㉠에 대한 결과로서 올바른 것은? (2점) x=0 x=1 알 수 없다 에러발생 해설) 10위에서 ㉡에 대한 결과로서 올바른 것은? (2점) x=0 x=1 x=2 에러발생 해설) 11다음과 같은 프로그램의 실행결과로서 올바른 것은? (3점) #include <stdio.h> void main() { int n=15; switch(n%5) { case 0: printf("나머지는 0"); break; case 1: printf("나머지는 1"); break; case 2: printf("나머지는 2"); break; default: printf("나머지는 3이나 4"); break; } } 나머지는 0 나머지는 1 나머지는 2 나머지는 3이나 4 해설) 12다음 중 배열과 포인터에 대한 설명으로 올바르지 않은 것은? (4점) 배열과 포인터는 서로 호환적이다. 배열이름은 포인터로서 포인터 상수이다. 배열과 포인터는 모두 기억 공간을 동적으로 활용한다. 포인터는 배열에 비해 기억 공간의 활용이 보다 효율적이다. 해설) 13다음 프로그램이 실행됐을 때 x는 몇 번 출력되는가? (3점) #include <stdio.h> void main(){ int i=0, j=0, k=0; for(i=0; i<4; i++) for(j=4; j>1; j--) for(k=0; k<3; k++) putchar('x'); } 30 36 72 80 해설) ※(14~16) 다음과 같이 변수 선언과 초기화가 되어있을 때 물음에 답하시오. float number1, number2; number1=7.3; 14위에서 실수형 포인터 변수 fptr을 선언한다면 올바른 표현은? (3점) float fptr ; fptr float; fptr *float ; float *fptr ; 해설) 15위에서 선언된 포인터 변수 fptr에 변수 number1의 주소를 할당하는 방법으로 올바른 것은? (3점) fptr=number1 ; fptr=&number1; fptr=*number1 ; fptr=7.3; 해설) 16위에서 변수 number2에 포인터 변수 fptr이 가리키는 값을 할당하는 방법으로 올바른 것은? (3점) *number2=fptr; number2=fptr; *number2=*fptr; number2=*fptr; 해설) 17다음과 같은 프로그램의 결과로 올바른 것은? (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[2][1]); } 5 6 9 10 해설) ※(18~20) 다음과 같은 프로그램이 있을 때 물음에 답하시오. #include <stdio.h> void main(){ int n=10; int *p1=&n; int *p2=p1; printf("%d\n", (*p1)++); ---- ㉠ printf("%d\n", (*p2)++); ---- ㉡ printf("%d\n", n); ---- ㉢ } 18위에서 ㉠의 결과로 올바른 것은? (3점) 10 11 12 알 수 없다 해설) 19위에서 ㉡의 결과로 올바른 것은? (3점) 10 11 12 알 수 없다 해설) 20위에서 ㉢의 결과로 올바른 것은? (3점) 10 11 12 알 수 없다 해설) 21다음 프로그램의 실행결과로서 올바른 것은? (3점) #include <stdio.h> void main(){ int a=10, b=20, c=30; int *array[3]={&a, &b, &c}; printf("%d", *array[1]); } 10 20 30 에러 발생 해설) 22다음 중 “int형 멤버와 double형 멤버를 갖는 구조체 명이 data 인 구조체를 정의하고, 구조체 변수명이 var 인 구조체를 선언”한 것으로 올바른 것은? (4점) ⓐ 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 *fp; int c; if((fp=fopen("oldname.dat", "rb")) == NULL){ ( ㉠ ) } while((c=fgetc(fp)) != EOF) fprintf( ㉡ , "%c", c); fclose(fp); } 23위에서 빈칸 ㉠에 들어갈 내용으로 적당한 것은? (2점) switch(1); continue(1); break(1); exit(1); 해설) 24위에서 빈칸 ㉡에 들어갈 내용으로 적당한 것은? (2점) stdout stdin stderr stdio 해설) 25다음의 기억 공간 할당 함수들에 대한 설명으로 틀린 것은? (4점) malloc()함수는 가장 대표적인 기억공간 할당 표준함수이다. calloc()함수는 할당받은 기억 공간을 0으로 초기화한다. memset()함수는 기억 공간을 동적으로 할당 또는 해제하기 위해 사용한다. realloc()함수는 새로운 영역에 기억공간을 재 할당을 하게 되면 기존의 기억공간에 있던 자료를 복사해 온다. 해설) 문제답안 33CD12C112132424412322413 공유하기 게시글 관리 올에이클래스 저작자표시 비영리 변경금지 관련글 방송대 방통대 C프로그래밍 기말시험 기출문제 2017년도 1학기 1학년 / 올에이클래스 모의고사 방송대 방통대 C프로그래밍 기말시험 기출문제 2016년도 1학기 1학년 / 올에이클래스 모의고사 방송대 방통대 C프로그래밍 기말시험 기출문제 2014년도 1학기 1학년 / 올에이클래스 모의고사 방송대 방통대 C프로그래밍 기말시험 기출문제 2013년도 1학기 1학년 / 올에이클래스 모의고사 댓글 티스토리툴바 올에이클래스구독하기