1. 함수에 대한 설명 중 잘못된 것을 모두 고르시오(4점) ( )
① 함수를 정의하기 전에 반드시 함수 원형 정의가 있어야 한다.
② 함수의 매개 변수는 전혀 없을 수도 있다.
③ 함수는 값을 반환하지 않을 수도 있다.
④ 함수 안에 문장이 하나도 없을 수도 있다.
2. 다음의 함수 원형 정의 중에서 잘못된 것을 모두 고르시오(4점) ( )
① int func(int x, y); ② void func(x, y);
③ char func(double); ④ void func(void, void);
3. 다음 라이브러리 함수 반환값의 범위는?(4점) ( )
(a) rand() % 10
(b) rand() % 5 + 2
4. 다음의 함수 정의에서 잘못된 것을 지적하라(6점).
(a)
int func(int x, y)___________________________
{___________________________
return ++x;___________________________
}___________________________
(b)
void func(int x)___________________________
{___________________________
return ++x;___________________________
}___________________________
(c)
int func(int x; int y)___________________________
{___________________________
return ++x;___________________________
}___________________________
5. 지역 변수에 대한 설명 중 잘못된 것을 모두 고르시오(4점). ( )
① 지역 변수의 초기값을 지정하지 않으면 자동적으로 0이 된다.
② 지역 변수의 이름과 전역 변수의 이름은 같을 수도 있다.
③ 지역 변수와 매개 변수의 이름은 서로 달라야 한다.
④ 지역 변수는 블록 외부에서도 접근이 가능하다.
⑤ 지역 변수는 정의된 블록이 끝나면 자동적으로 소멸된다.
6. 다음 프로그램에서 각 변수를 지역 변수와 전역 변수, 정적 변수 등으로 분류하시오. 또 각 변수의 범위와 초기값을 추측하여 보시오(4점).
#include <stdio.h>
int a;
double b;
int main(void)
{
int c;
for(c=0;c<10;c++)
{
int d;
static int e;
printf("a=%d, b=%f, c=%d, d=%d\n", a, b, c, d, e);
}
}
변수의 분류 | 범위 | 초기값 | |
변수 a | |||
변수 b | |||
변수 c | |||
변수 d | |||
변수 e |
7. 잠시 인간 컴퓨터가 되어 보자. 다음 프로그램의 결과를 예측하여 보라.(6점)
int x = 100;
void test(void)
{
int x = 200;
printf("x = %d\n", ++x);
{
int x = 300;
printf("x = %d\n", ++x);
x++;
}
printf("x = %d\n", ++x);
}
8. 배열 char a[5][6]은 총 몇 개의 원소를 가지는가?(4점) ( )
① 20 ② 24 ③ 30 ④ 42
9. 다음 중 잘못 선언된 배열을 모두 선택하시오.(4점) ( )
① int a[200+1];
② #define MAX 100
int a[MAX];
③ int v = 100;
int a[v];
④ int a[100.25];
10. int a[100] = { 10 }; 으로 선언된 배열에서 a[99]의 초기값은 무엇인가?(4점) ( )
11. 다음 중 잘못 초기화된 배열을 모두 선택하시오.(4점) ( )
① int a[] = { 1, 2, 3, 4, 5};
② int a[100] = { 1, 2, 3, 4, 5};
③ int a[100] = { x, y, z };// x, y, z는 변수
④ int a[100] = { 0, 0 };
12. 배열에 대한 설명 중 잘못된 것을 모두 고르시오(4점). ( )
① a[x+1]와 같이 변수를 인덱스로 하여 배열을 참조할 수는 없다.
② 배열의 인덱스는 1부터 시작한다.
③ 배열을 함수의 매개 변수로 전달하는 경우에 원본이 전달된다.
④ 배열 원소를 함수의 매개 변수로 전달하는 경우에는 복사본이 전달된다.
⑤ 배열은 크기가 커서 지역 변수로 만들 수 없다.
13. 다음 프로그램의 오류를 전부 수정하시오(6점).
#define MAX_SIZE 3_____________________________
int main(void)_____________________________
{_____________________________
int a[MAX_SIZE] = { 0, 1, 2, 3 };_____________________________
int b[3.0];_____________________________
for(i=0;i<=MAX_SIZE; i++)_____________________________
b[i]=a[i];_____________________________
return 0;_____________________________
}_____________________________
15. 로또 복권 당첨 번호를 생성하고 사용자의 복권 번호를 받아서 당첨 여부를 판별하는 프로그램을 작성하여 보자. (20점).
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:rect style="WIDTH: 448.65pt; HEIGHT: 40.04pt; v-text-anchor: top" id=_x94665984 strokeweight="0.33pt" strokecolor="#0000ff" fillcolor="#ffffff"><v:stroke></v:stroke><v:fill type="gradientradial" focusposition="0.00,0.50" color2="#ccffcc"></v:fill><v:textbox>
구입한 복권 번호를 입력하세요: 35 25 11 2 3 7
당첨 번호: 35 25 11 2 3 7
축하합니다.
<v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape style="WIDTH: 21.55pt; HEIGHT: 9.75pt; v-text-anchor: top" id=_x93566064 type="#_x0000_t75"><v:imagedata src="file:///C:\Users\a\AppData\Local\Temp\DRW00001358349d.gif" o:title="DRW00001358349d"></v:imagedata><?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" /><w:wrap type="topAndBottom"></w:wrap></v:shape>16. 크기의 2차원 배열을 만들고 0에서 100 사이의 난수를 생성하여 배열 원소를 초기화시킨다. 대각선 원소들의 합을 구하여 출력하라. (20점)
13번까지만 ㅠㅠ
선제시
살려줏매