[방통대]C프로그래밍 2004,5,6 기말기출문제와 해설
본 자료는 9페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
해당 자료는 9페이지 까지만 미리보기를 제공합니다.
9페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. C프로그래밍 2004기말기출문제와 해설

2. C프로그래밍 2005 기말기출문제와 해설

3. C프로그래밍 2006 기말기출문제와 해설

본문내용

h→ strcat(), strlen()
③ math.h→ rand(), gsort()
④ ctype.h→ isalpha(), isdigit()
정답) ③
표준함수 rand(), gsort() 는 헤더 파일 stdlib.h 에 해당한다.
51. 다음과 같은 배열이 선언되어 있을 때 *(cp+3)의 값은? (3점)
char *cp, s[ ]="computer";
cp=s;
① c ② o
③ m ④ p
정답) ④
*cp 형식으로 선언하였으므로 cp는 포인터 변수
cp=s; → s의 0번지가 cp와 매핑되고, s의 0번지는 “c"이므로
*(cp+3) → s의 3번지의 값을 의미하므로 “p"가 된다.
참고로,,
문제에서 *(cp) 이었다면 정답은 “c"
문제에서 *(cp+1) 이었다면 정답은 “o"
문제에서 *(cp+2) 이었다면 정답은 “m"
문제에서 *(cp+4) 이었다면 정답은 “u"
문제에서 *(cp+5) 이었다면 정답은 “t"
문제에서 *(cp+6) 이었다면 정답은 “e"
문제에서 *(cp+7) 이었다면 정답은 “r"
52. 다음 프로그램에서 ㉠, ㉡, ㉢, ㉣의 출력되는 결과가 순서대로 올바르게 나열된 것은? (3점)
#include
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
정답) ①
㉠의 printf(" %d", i); → 지역변수 i = 4;
㉡의 printf(" %d", j); → 지역변수가 없으므로 전역변수 j = 2;
㉢의 printf("%d", i); → 지역변수 i = 3;
㉣의 printf(" %d", i); → 전역변수 I = 1;
53. 다음 프로그램의 결과로서 올바른 것은? (4점)
#include
void main()
{
char str[ ][15]={"Load", "Save", "Tool", "Unit"};
int i;
for(i=0; i<3; i++)
printf("%s", str[i]);
}
① L o a
② L S T
③ Load Save Tool
④ Loa Sav Too Uni
정답) ③
for(i=0; i<3; i++) → 0~2 이므로 "Load", "Save", "Tool" 출력
54. 다음과 같은 배열을 선언할 때, 배열의 크기는? (3점)
char name[ ]="HONG GIL DONG" ;
① 11 ② 12
③ 13 ④ 14
정답) ④
영문자 4+3+4 = 11, 공백 2, 마지막의 null은 1이므로 11+2+1 = 14
55. 다음과 같이 포인터 배열이 사용되었을 때 출력되는 결과로 올바른 것은? (4점)
#include
main()
{
int a[ ]={10, 20, 30, 40};
int b[ ]={50, 60, 70, 80};
int *PA[2];
PA[0]=a;
PA[1]=b;
printf("%d", *(PA[0]+1));
printf("%d", *PA[1]+1);
}
① 11 20 ② 20 51
③ 11 61 ④ 20 60
정답) ②
int *PA[2]; → 변수 앞에 *가 있으므로 포인터 변수이고, [2]의 형식이므로 배열이다.
PA[0]=a; → 포인터 변수 PA[0]의 값은 10
PA[1]=b; → 포인터 변수 PA[1]의 값은 50
printf("%d", *(PA[0]+1)); → PA[0]의 다음주소의 값을 의미하므로 20
printf("%d", *PA[1]+1); → PA[1]의 값인 50에다 1을 더하므로 51
56. 다음 프로그램의 결과로서 올바른 것은? (4점)
#include
main()
{
int *p, a[ ]={10, 20, 30, 40, 50};
p=&a[0];
p=p+2;
printf("%d %d %d", *p, *(p+2), *p+2);
}
① 30 50 32 ② 10 30 50
③ 10 20 22 ④ 30 32 50
정답) ①
int *p → 변수 앞에 *가 있으므로 포인터 변수이다.
p=&a[0]; → 포인터 변수 p의 값은 10
p=p+2; → 포인터가 2칸 이동했으므로 현재 포인터 변수 p의 값은 30
*p → p의 값은 30
*(p+2) → p의 주소에서 2칸이동 했을 경우의 값은 50
*p+2 → p의 주소의 값 30에서 2를 더하면 32
57. 다음과 같은 구조체에서 잘못된 부분은? (4점)
struct score { ----------㉠
char no[4]; ---------㉡
char name[8]; -------㉢
int math;
int eng;
} struct score x, y; -----㉣
① ㉠ ② ㉡
③ ㉢ ④ ㉣
정답) ④
} struct score x, y; -----㉣를 → };
struct score x, y; -----㉣
고쳐야 바른 문법이다.
58. pa가 구조체 포인터일 때 pa->name이란 식과 동일한 식은? (3점)
① pa.name ② *pa->name
③ *pa.name ④ (*pa).name
정답) ④
pa->name는 (*pa).name 와 동일하다.
이유는 묻지 마세요,, 암기 사항입니다..^^
59. 다음 중 랜덤 파일의 입출력함수로 사용되는 함수만으로 이루어진 것은? (3점)
① fopen(), fclose() ② fread(), fwrite()
③ fgetch(), fputch() ④ getc(), putc()
정답) ②
랜덤 파일의 입출력 함수 → fread(), fwrite()
순차 파일의 입출력 함수 → getc(), putc()
60. 다음 중 파일 처리에서 파일의 끝을 판별할 때 사용되는 함수는? (2점)
① fread() ② fseek()
③ feof() ④ ftell()
정답) ③
feof()의 eof(end of file)는 파일의 끝을 판별할 때 사용한다.
  • 가격3,800
  • 페이지수27페이지
  • 등록일2010.02.09
  • 저작시기2007.7
  • 파일형식한글(hwp)
  • 자료번호#582059
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니