国二c语言笔试题库(专升本会出40分的题) 下载本文

Void main() {int a[26], j, n, count;

for(j=1;j<=25;j++) a[j]=j; j=1;count=0;n= 0 ; do

{if(a[j]!=0) {n++;

if(n%5= =0)

{ a[j]=0 ; if(count= =24) printf(“%d\\n”, j); count++; } } j++;

if(j>25) j=1; }

while( count<25 ); }

10.阅读下列程序: main()

{int i, j, row, column, m;

int array[3][3]={{100, 200, 300}, {28, 72, -30}, {-850, 2, 6}}; m=array[0][0]; for(i=0; i<3; i++) for(j=0; j<3; j++) if(array[i][j]

{m=array[i][j]; row=i; column=j;} printf(\}

上述程序的输出结果是 -850,2,0 。

11.以下程序的功能是:从键盘上输入若干个学生的成绩,计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。 main()

{float x[1000], sum=0.0, ave, a; int i, n=0;

printf(“Enter mark:\\n”); scanf(“%f”, &a); while(a>=0.0&&n<1000)

{sum+= a ; x[n]= a ; n++; scanf(“%f”, &a);} ave= sum/n ; printf(“Output:\\n”); printf(“ave=%f\\n”, ave); for(i=0;i

if( ave>a[i] ) printf(“%f\\n”, x[i]); }

第八章 函 数 一 单项选择题

1.以下程序的输出结果是( )。 int d=1; fun(int p)

{static int d=5; d+=p;

printf(\,d); return(d); }

main( )

{ int a=3; printf(\,fun(a+fun(d)));}

A) 6 9 9 B) 6 6 9 C) 6 15 15 D) 6 6 15 2.下列程序执行后的输出结果是( )。 void func1(int i); void func2(int i);

char st[ ]=\void func1(int i) {printf(\ if(i<3){i+=2;func2(i);} }

void func2(int i) {printf(\ if(i<3){i+=2;func1(i);} }

main()

{int i=0; func1(i); printf(\

A) hello B) hel C) hlo D) hlm

3.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。

A) 地址传递 B) 单向值传递

C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定 4.以下函数值的类型是( )。 fun( float x ) {float y; y=3*x-4; return y; }

A) int B) 不确定 C) void D) float 5.设有以下函数: f( int a) {int b=0;

static int c=3; b++; c++;

return(a+b+c); }

如果在下面的程序中调用该函数,则输出结果是( )。 main() {int a=2, i;

for(i=0;i<3;i++) printf(\}

A) 7 B) 7 C) 7 D) 7 8 9 10 7 9 11 13 7 6.以下程序的输出结果是( )。 int a, b; void fun()

{a=100; b=200;} main()

{int a=5, b=7; fun();

printf(\}

A) 100200 B) 57 C) 200100 D) 75 7.以下所列的各函数首部中,正确的是( )。 A) void play(var a:Integer, var b:Integer) B) void play(int a, b) C) void play(int a, int b)

D) Sub play(a as integer, b as integer) 8.以下程序的输出结果是( )。 fun(int x, int y, int z) {z=x*x+y*y; } main() {int a=31; fun(5, 2, a); printf(\}

A) 0 B) 29 C) 31 D) 无定值}

9.当调用函数时,实参是一个数组名,则实参向形参传递的是( A) 数组的长度 B) 数组的首地址

C) 数组每一个元素的地址 D) 数组每个元素中的值 10.以下程序的输出结果是( )。 long fun( int n) {long s;

if(n= =1 || n= =2) s=2; else s=n-fun(n-1); return s; }

)。 main()

{printf(\

A) 1 B) 2 C) 3 D) 4 11.有如下函数调用语句:

func(rec1, rec2+rec3, (rec4, rec5));

在该函数调用语句中,含有的实参个数是( )。

A) 3 B) 4 C) 5 D) 有语法错 12.有如下程序:

int func(int a,int b) {return(a+b);} main( )

{int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%d\\n”,r); }

该程序的输出的结果是( )。

A) 12 B) 13 C) 14 D) 15 13.以下程序的输出结果是( )。 long fib(int n)

{if(n>2) return(fib(n-1)+fib(n-2)); else return(2); }

main( )

{printf(“%ld\\n”,fib(3));}

A) 2 B) 4 C) 6 D) 8 14.在C语言中,变量的隐含存储类别是( )。

A) auto B) static C) extern 15.在下列的函数调用中,不正确的是( )。 A) max(a,b); B) max(3,a+b); C) max(3,5); D) int max(a,b); 16.以下程序的输出结果是( )。 func(int x, int y) {int z; z=x+y; return z; }

main( )

{int a=10, b=20, c=30, s; s=func((a--, b++, a+b), c--); printf(“%d\\n”, s); }

A) 30 B) 40 C) 60 D) 50 17.现有以下程序: #include

D) 无存储类别