방통대 C 프로그래밍 2012학년도 1학기 기말시험 기출문제 해설 및 설명

2022. 5. 29. 18:29·방통대 컴퓨터과학과/3학년1학기
반응형

 

 

순전히 공부 목적으로 작성된 게시글이며 이익을 위한 게시글이 아닙니다.
그러므로 혹여나 저작권과 관련된 문제가 있다면 댓글로 남겨주세요!
바로 삭제하겠습니다. 감사합니다.

 

2012학년도 1학기 기말시험 기출문제 [C 프로그래밍]

36. 다음 중 원시 프로그램이 번역되어 실행될 때의 확장자로서 올바른 것은?

① example.exe ② example.obj
③ example.doc ④ example.c
  • 코딩 단계의 소스 파일(원시 파일)의 확장자는 .c이다.
  • 컴파일 후 소스 파일이 목적 파일로 변환되며 확장자는 .obj이다.
  • 목적 파일들을 라이브러리 파일과 연결하는 과정이 끝나면 .exe 확장자를 가진 실행파일이 만들어진다.

 

37. 다음 중 출력양식 변환기호의 설명으로 잘못된 것은?

① %d는 출력 값을 지수형식으로 나타낸다.
② %f는 출력 값을 부동 소수점 형식으로 나타낸다.
③ %o는 출력 값을 8진수로 나타낸다.
④ %x는 출력 값을 16진수로 나타낸다.
  • %d는 부호 있는 10진 정수형식이다.

 

38. 다음 프로그램 중 잘못된 문장은? (코드 기출문제 참고)

① ㉠ ② ㉡
③ ㉢ ④ ㉣
  • 선행처리기 끝부분에는 세미콜론(;)이 붙으면 안된다.

 

39. 다음 프로그램을 조건 연산자를 사용하여 바꾼다면 가장 올바른 것은? (코드 기출문제 참고)

① x=(a>10; a*100 : a*200);
② x=(a>10; a*200 : a*100);
③ x=(a>10 ? a*100 : a*200);
④ x=(a>10 ? a*200 : a*100);
  • 조건 연산자의 형식이 '조건 ? true일 때 : false 일때'이다.

 

40. 다음과 같은 프로그램의 실행결과로서 올바른 것은?

① result= -36 ② result= -38
③ result= -10 ④ result= 0
  • C언어에서 연산은 사칙연산과 순서가 같다. 그러므로 -a와 b를 먼저 곱하면 -200이 되고, 여기에 / 5를하면 -40이 된다.  그리고 c % 7은 2가 되고 마지막으로 -40 +2를 계산하면 -38이된다.

 

41. 다음 프로그램의 결과로 올바른 것은? (코드 기출문제 참고)

① A+3 k+2 ② B M
③ A K ④ D M
  • 'A'의 아스키 코드값은 잘 모르겠지만 A의 아스키코드 값 + 3을하면 A 다다다음의 알파벳인  'D' 나온다.
  • 'K'의 아스키 코드 값은 잘 모르겠지만 K의 아스키코드 값 + 2를하면 K 다다음의 알파벳인 'M'이 나온다.

 

42. 위에서 ㉠의 결과로 올바른 것은? (코드 기출문제 참고)

① var1=67 var2=C ② var1=C var2=65
③ var1=C var2=C ④ var1=65 var2=A
  • 출력 형식이 var1=%d var2=%c이므로 var1은 아스키코드 값이 출력되고, var2는 char형으로 출력된다.

 

43. 위에서 ㉡의 결과로 올바른 것은?

① 65 ② 69
③ D ④ E
  • putchar() 메서드는 char 타입을 출력하는 메서드이므로 'C'+2가 'E'로 출력된다.

 

44. 다음 프로그램이 수행되었을 때 sum의 값은? (코드 기출문제 참고)

① 4 ② 5
③ 15 ④ 16
  • 이중 for문 문제인데 바깥쪽 for문은 a가 1부터 시작해서 5까지가 조건이므로 총 4번을 반복한다. 안쪽 for문도 b가 5에서부터 시작하고 1까지가 조건이므로 총 4번을 반복해 4X4 = 16이 된다.

 

45. 위에서 문자열 자료를 입력받기 위해 ㉠의 위치에 사용될 수 있는 표준 입력함수로서 올바르게 나타낸 것은?

① gets(s); ② puts(s);
③ scanf("%c", s); ④ s=putchar();
  • ② 문자열 출력 함수이다.
  • ③ 입력 양식이 %c라 문자열을 받지 못한다.
  • ④ putchar()는 문자형 자료 출력 메서드이다.

 

46. 위에서 입력된 문자열 자료를 출력하기 위해 ㉡의 위치에 사용될 수 있는 표준 출력함수로서 올바르게 나타낸 것은?

① s=puts(); ② printf("%c", s);
③ puts(s); ④ gets(s);
  • ① puts()가 문자열 자료 출력 메서드는 맞지만 사용 형식이 틀렸다.
  • ② 출력 양식이 %c라 문자열을 받지 못한다.
  • ④ gets()는 문자열 자료 입력 메서드이다.

 

47. 다음과 같은 프로그램의 결과로 올바른 것은? (코드 기출문제 참고)

① 3 ② 6
③ 7 ④ 8
  • int array[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};와 int array[3][4]={{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}와 같은 의미이다.

 

48. 다음의 배열에 대한 설명 중 올바르지 않는 것은?

① 모든 배열은 자료형과 기억 클래스를 갖는다.
② 배열명을 증가시키거나 감소시킬 수 있다.
③ 배열의 각 원소를 변수처럼 사용한다.
④ 배열명은 배열 공간의 시작주소를 가리킨다.
  • 배열명을 증가시키거나 감소시킬 수 없다.

 

49. 위에서 사용자 정의함수의 헤더(header)는 어디인가? (코드 기출문제 참고)

① ㉠ ② ㉣
③ ㉤ ④ ㉥
  • 위의 코드에서 사용자 정의함수는 void display_line(void){ 하나이므로 ㉤이다.

 

50. 위에서 함수를 호출하는 부분은 어디인가? (코드 기출문제 참고)

① ㉡ ② ㉢
③ ㉣ ④ ㉥

 

51. 위에서 실수형 포인터 변수 fptr을 선언한다면 올바른 표현은? (코드 기출문제 참고)

① float fptr; ② float *fptr;
③ pftr *float; ④ fptr float;
  • 포인터 변수를 선언하는 형식은 '자료형 *변수명'이다.

 

52. 위에서 포인터 변수 fptr에 주소를 할당하는 방법으로 올바른 것은? (코드 기출문제 참고)

① fptr=var1; ② fptr=&var1;
③ fptr=&3.14; ④ fptr=3.14;
  • 포인터 변수에 *가 없으면 변수의 주소를 대입해야하므로 &연산자가 필요하다. 3.14 값의 경우 값은 주소가 없으므로 대입하지 못한다.

 

53. 위에서 ㉠의 결과로서 올바른 것은? (코드 기출문제 참고)

① 10 50 ② 30 60
③ 30 33 ④ 30 70
  • 포인터 변수 p에는 &a[2] 주소를 가리키고 있어서 *p의 값은 30이 된다. 포인터 변수 q는 p+4이므로 a[2]의 4번째 뒤의 배열인 a[6]의 주소를 가리켜 *q는 70이 된다.

 

54. 위에서 ㉡의 결과로서 올바른 것은? (코드 기출문제 참고)

① *(p+3)=30 ② *(p+3)=33
③ *(p+3)=60 ④ *(p+3)=70
  • p+3 부분이 괄호로 쌓여있으므로 p의 주소에서 +3을 한다. 즉 a[2]의 값에서 3번째 뒤에 있는 주소(a[5])를 가리키게 되고 그 주소를 포인터 연산자를 통해 출력하면 60이된다.

 

55. 위에서 ㉢의 결과로서 올바른 것은?  (코드 기출문제 참고)

① p-q=0 ② p-q=-4
③ p-q=40 ④ p-q=-40
  • 포인터 연산자가 없는 포인터 변수끼리의 마이너스 연산은 두 포인터 사이의 거리를 나타낸다. p에는 a[2], q에는 a[6]의 주소가 저장되어 있으므로 2-6 = -4이다.

 

56. 위에서 ㉠의 결과로서 올바른 것은?   (코드 기출문제 참고)

① KIM HG 90 95 ② LEE SY 85 90
③ PARK GS 70 85 ④ CHOI HJ 95 75
  • 포인터 변수 p에 hs 배열이 저장되었다. 배열의 이름을 저장하는 경우엔 배열의 첫 시작 주소를 가리킨다. 그리고 p에 +=2를해주었으므로 2번지 뒤에 있는 PARK GD 70 85가 출력된다.

 

57. 위에서 ㉡의 결과로서 올바른 것은?   (코드 기출문제 참고)

① KIM HG 90 95 ② LEE SY 85 90
③ PARK GS 70 85 ④ CHOI HJ 95 75
  • p++로 주소 값을 1 증가시켰기 때문에 CHOI HJ 95 75가 출력된다.

 

58. 위에서 빈칸 ㉠에 들어갈 내용으로 올바른 것은? (코드 기출문제 참고)

① fcanf; ② fopen
③ fprintf; ④ malloc;
  • fp=㉠("oldname.dat", "rb") 형식은 file을 open하기 위한 fopen() 메서드형식이다.

 

59. 위에서 빈칸 ㉡에 들어갈 내용으로 올바른 것은? (코드 기출문제 참고)

① stdout ② stdin
③ stderr ④ stdio
  • 교재에 설명 없음.. 찾으신 분들 알려주세요...

 

60. 다음 중 기억 공간 할당 함수들에 대한 설명으로 잘못된 것은?

① malloc()함수는 가장 대표적인 기억 공간 할당 표준함수이다.
② calloc()함수는 할당받은 기억 공간을 0으로 초기화한다.
③ memset()함수는 기억 공간을 동적으로 할당 또는 해제하기 위해 사용된다.
④ realloc()함수는 새로운 영역에 기억 공간을 재할당을 하게 되면 기존의 기억 공간에 있던 자료를 복사해 온다.
  • memset() : 기억공간의 자료를 지정한 문자로 채우는 함수로, 할당된 기억공간의 초기화나 내용 삭제를 위해 주로 사용한다.

 


틀린 부분이 있거나 오타가 있으면 댓글로 알려주세요. 감사합니다.

  • 출처 : 방송통신대학교 C프로그래밍 기출문제
반응형
저작자표시 비영리 변경금지 (새창열림)
'방통대 컴퓨터과학과/3학년1학기' 카테고리의 다른 글
  • 방통대 컴퓨터의 이해 2016학년도 1학기 기말시험 기출문제 해설 및 설명
  • 방통대 Java 프로그래밍 2012학년도 1학기 기말시험 기출문제 해설 및 설명
  • 방통대 컴퓨터의 이해 2015학년도 1학기 기말시험 기출문제 해설 및 설명
  • 방통대 데이터베이스시스템 2012학년도 1학기 기말시험 기출문제 해설 및 설명
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    전자정부프레임워크
    인프런
    넥사크로
    Spring
    react
    Java
    oracle
    egov
    SQL
    백준
    기출문제
    IT
    JPA
    QueryDSL
    프로그래머스
    프론트엔드
    토비의스프링부트
    스프링부트
    springboot
    운영체제
    에러해결
    코딩테스트
    알고리즘
    자바스크립트
    방통대
    MSA
    SpringBoot를 이용한 RESTful Web Service 개발
    토이프로젝트
    개발자
    RESTful
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
방통대 C 프로그래밍 2012학년도 1학기 기말시험 기출문제 해설 및 설명
상단으로

티스토리툴바