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

c=a;

if(a>b) c=1; else

if(a==b) c=0; else c=-1; return(c); }

A) -1 B) 0 C) 1 D) 2 34.以下程序的输出结果为( )。 f(int b[ ], int n) {int i, r; r=1;

for(i=0; i<=n; i++) r=r*b[i]; return(r); }

main()

{int x, a[ ]={2,3,4,5,6,7,8,9}; x=f(a, 3);

printf(“%d\\n”, x); }

A) 720 B) 120 C) 24 35.下列程序执行后的输出结果是( )。 f(int a) {int b=0; static c=3; a=c++, b++; return(a); }

main( )

{int a=2, i, k; for(i=0;i<2;i++) k=f(a++);

printf(“%d\\n”, k); }

A) 3 B) 0 C) 5 36.下列程序执行后输出的结果是( )。 int d=1; fun(int p) {int d=5; d+=p++;

printf(“%d”, d); }

main( ) {int a=3;

D) 6D) 4 fun(a); d+=a++;

printf(“%d\\n”, d); }

A) 84 B) 96 C) 94 D) 85 37.以下程序的输出结果是( )。 fun(int k)

{if(k>0) fun(k-1); printf(“%d”, k); }

main( ) {int w=5; fun(w); }

A) 54321 B) 012345 C) 12345 D) 543210 38.以下说法中正确的是( )。

A) C语言程序总是从第一个定义的函数开始执行

B) 在C语言程序中,被调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分 39.以下程序的输出结果是( )。 int abc(int u, int v); main()

{int a=24, b=16, c; c=abc (a, b);

printf(“%d\\n”, c); }

int abc(int u, int v) {int w; while(v)

{w= u%v; u=v; v=w;} return u; }

A) 6 B) 7 C) 8 D) 9 二 填空题

1.下列程序的输出结果是 5 6 。 int t(int x, int y, int cp, int dp) {cp=x*x+y*y; dp=x*x-y*y; }

main( )

{int a=4, b=3, c=5, d=6; t(a, b, c, d);

printf(\ %d\\n\;

}

2.以下程序的运行结果是 8,17 。 #include main()

{int k=4, m=1, p;

p=func(k, m); printf(\ p=func(k, m); printf(\}

func(int a, int b) {static int m=0, i=2; i+=m+1; m=i+a+b; return m; }

3.以下程序输出的最后一个值是 120 。 int ff(int n) {static int f=l; f=f*n; return f; }

main() {int i;

for(i=1;i<=5;i++) printf(\}

4.以下函数的功能是:求x的y次方,请填空。 double fun(double x, int y) {int i; double z;

for(i=1, z=x; i

5.若变量n中的值为24,则prnt函数共输出 5 行,最后一行有 4 个数。

void prnt(int n, int aa[ ]) {int i;

for(i=1; i<=n; i++) {printf(\ if(!(i%5)) printf(\ }

printf(\}

6.以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。 #define N 3

#define M 4

void LineMax(int x[N][M]) {int i, j, p;

for(i=0; i

for(j=1; j

if(x[i][p]

printf(\ x[i][p] ); } }

main()

{int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1}; LineMax(x) }

7.函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+ ? +1/(n*n) 请在下面的函数中填空,完成求π的功能。 #include “math.h” double pi(long n) {double s=0.0; long i;

for(i=1;i<=n; i++) s=s+ 1.0/i*i ; return(sqrt(6*s)); }

8.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部 void fun( double b[10][22]) 。要求形参名为b。 main()

{double s[10][22]; int n; ?

fun(s); ? }

9.输入12时,程序输出结果为 12 is not prime number. ;若输入17,输出结果为 17 is prime number. 。 main()

{int number;

scanf(“%d”, &number);

if(prime(number)) printf(“\\n%d is prime number.”, number); else printf(“\\n%d is not prime number.”, number); }

int prime(int number) {int flag=1, n;