GM Library/☆ 기말시험 Data 방송대 방통대 C프로그래밍 기말시험 기출문제 2019년도 1학기 1학년 / 올에이클래스 모의고사 by HAN, URI / ΛΙΙΛ™ 2024. 7. 1. 0-썸네일-C프로그래밍-기말-19-1-1 2019 학년도 1 학기 1 학년 25 문항 C프로그래밍 시험종류 :기말시험 출제위원 :방송대 김형근 출제범위 :교재전체(특히 4, 5, 6장) (해당 멀티미디어강의 포함) 자료출처 :한국방송통신대학교 웹앱제작 :올에이클래스 김현수 01다음 중 원시 프로그램이 번역되어 실행될 때의 파일 확장자로서 올바른 것은? (2점) example.exe example.obj example.doc example.c 해설) 02다음 중 상수에 대한 설명으로 올바르지 않는 것은? (2점) 8진 상수를 표현할 때는 숫자 앞에 0(영)을 붙인다. 16진 상수를 표현할 때는 숫자 앞에 0x를 붙인다. 문자형 상수는 내부적으로 정수 값이 사용된다. 실수형 상수는 지수형식으로 표시할 수 없다. 해설) ※(3∼4) 다음과 같은 프로그램이 있을 때 물음에 답하시오. (여기서 'A'의 ASCII값은 65이다.) #include <stdio.h> void main() { char var='A'; printf("var1=%d var2=%c", var, var); ---- ㉠ putchar(var+2) ; ---- ㉡ } 03위에서 ㉠의 결과로 올바른 것은? (3점) var1=65 var2=A var1=a var2=65 var1=a var2=A var1=65 var2=65 해설) 04위에서 ㉡의 결과로 올바른 것은? (3점) 65 67 A C 해설) 05다음 프로그램의 ㉠, ㉡, ㉢에서 각각 10진수, 8진수, 16진수를 출력하려고 한다. 출력양식변환기호가 순서대로 올바르게 나열된 것은? (3점) #include <stdio.h> void main() { int a = 8086 print(" ㉠ \n", a); print(" ㉡ \n", a); print(" ㉢ \n", a); } %d, %f, %e %d, %o, %x %c, %e, %d %e, %f, %g 해설) 06다음과 같은 프로그램의 실행결과로서 올바른 것은? (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); } a=5 b=15 a=5 b=20 a=10 b=15 a=10 b=20 해설) 07다음과 같은 프로그램의 실행결과로서 올바른 것은? (2점) #include <stdio.h> void main() { int a=10, b=3 ; a*=(b-1); b=(a>15)? (a+1):(a-1); printf("a=%d b=%d", a, b); } a=20 b=21 a=2 b=9 a=20 b=9 a=29 b=11 해설) 08다음 프로그램의 출력결과로 올바른 것은? (3점) #include <stdio.h> void main() { int i, j; i=j=4; if(i==3) if(i==4) printf("\n%d", i=i+j); else printf("\n%d", i=i-j); printf("\n%d", i); } 0 3 4 7 해설) 09다음과 같은 프로그램의 실행결과로서 올바른 것은? (3점) #include <stdio.h> void main() { int i=1, j=2; { int i=3; { int i=4; } printf("i=%d", i); } printf("i=%d", i); } i=3 i=1 i=4 i=1 i=4 i=3 i=4 i=4 해설) 10다음 프로그램의 출력결과로 올바른 것은? (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 50 해설) 11다음과 같은 프로그램의 결과로 올바른 것은? (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][3]); } 7 8 10 12 해설) ※(12∼14) 다음과 같은 프로그램이 있을 때 물음에 답하시오. #include <stdio.h> ---- ㉠ void display_line(void); ---- ㉡ void main() { display_line(); ---- ㉢ printf("\n This is an Example program!\n"); display_line(); } /* print asterisk line */ ---- ㉣ void display_line(void) { ---- ㉤ int counter; ---- ㉥ for(counter=0; counter<20; counter++) printf("*"); } 12위에서 설명문은 어느 부분인가? (2점) ㉡ ㉢ ㉣ ㉤ 해설) 13위에서 사용자 정의 함수의 원형선언이 이루어지는 부분은 어디인가? (2점) ㉠ ㉡ ㉤ ㉥ 해설) 14위에서 사용자 정의 함수의 호출이 일어나는 부분은? (2점) ㉠ ㉡ ㉢ ㉣ 해설) 15다음과 같은 배열을 선언할 때 배열의 크기는 어떻게 되는가? (2점) char name[ ]="HONG GIL DONG"; 11 12 13 14 해설) 16다음의 포인터에 대한 설명으로 올바르지 않은 것은? (2점) 메모리를 정적으로 할당받을 수 있다. 포인터는 변수의 주소값을 데이터로 받는다. 자료의 개수가 가변적인 경우 배열보다 효율적이다. 포인터는 배열의 요소를 다룰 수 있다. 해설) 17다음 프로그램의 실행결과로서 올바른 것은? (3점) #include <stdio.h> void main() { char *names[4]={"Korea", "National", "Open", "University"}; printf("%s", names[2]); } Ko KoreaNational Open KN 해설) ※(18∼19) 다음과 같은 프로그램이 있을 때 물음에 답하시오. #include <stdio.h> void main() { static int a[ ]={10, 20, 30, 40, 50}; int *pt, b, c; pt=a; b=*pt + *(pt+2); pt=pt+2; c=*pt + *(pt+2); printf("b=%d\n", b); ---- ㉠ printf("c=%d\n", c); ---- ㉡ } 18위에서 ㉠의 결과로서 올바른 것은? (3점) b=10 b=30 b=40 b=50 해설) 19위에서 ㉡의 결과로서 올바른 것은? (3점) c=30 c=40 c=50 c=80 해설) 20다음과 같은 배열이 선언되어 있을 때 *(cp+2)의 값은? (3점) char *cp, s[ ]="computer"; cp=s; c o m p 해설) 21다음과 같은 구조체가 선언되어 있을 때 초기화 방법으로 알맞은 것은? (4점) struct person { char name[8]; int age; char gender; }; struct person x; person.x="홍길동"; x.gender='M'; person x.name="홍길동"; struct x='M'; 해설) 22다음과 같은 프로그램의 결과로 올바른 것은? (3점) #include <stdio.h> struct student { char name[10]; int kor; int math; }; void main() { struct student hs[4] = {{"KIM HG",90,95}, {"LEE SY",85,90}, {"PARK GS",70,85}, {"CHOI HJ",95,75}}; struct student *p; p=hs; p+=2; printf("%s %d %d\n", p->name, p->kor, p->math); } KIM HG 90 95 LEE SY 85 90 PARK GS 70 85 CHOI HJ 95 75 해설) ※(23∼24) 다음과 같은 프로그램이 있을 때 물음에 답하시오. #include <stdio.h> #include <stdlib.h> void main() { FILE ( ㉠ ); int c; if((fp= ㉡ ("oldname.dat", "rb")) == NULL) { exit(1); } while((c=fgetc(fp)) != EOF) fprintf(stdout, "%c", c); fclose(fp); } 23위에서 빈칸 ㉠에 들어갈 내용으로 올바른 것은? (4점) *fp fopen stdin EOF 해설) 24위에서 빈칸 ㉡에 들어갈 내용으로 올바른 것은? (4점) fclose fopen fscanf stdio 해설) 25다음 기억공간 할당함수들에 대한 설명으로 잘못된 것은? (2점) malloc()함수는 가장 대표적인 기억공간 할당 표준함수이다. memset()함수는 기억 공간을 동적으로 할당 또는 해제하기 위해 사용한다. calloc()함수는 할당받은 기억 공간을 0으로 초기화한다. realloc()함수는 새로운 영역에 기억공간을 재할당을 하게 되면 기존의 기억공간에 있던 자료를 복사해 온다. 해설) 문제답안 1414231312432341334323122 공유하기 게시글 관리 올에이클래스 저작자표시 비영리 변경금지 관련글 방송대 방통대 다국적기업론 기말시험 기출문제 2014년도 1학기 2학년 / 올에이클래스 모의고사 방송대 방통대 다국적기업론 기말시험 기출문제 2013년도 2학기 2학년 / 올에이클래스 모의고사 방송대 방통대 C프로그래밍 기말시험 기출문제 2018년도 1학기 1학년 / 올에이클래스 모의고사 방송대 방통대 C프로그래밍 기말시험 기출문제 2017년도 1학기 1학년 / 올에이클래스 모의고사 댓글 티스토리툴바 올에이클래스구독하기