全国计算机二级C语言考试题库和答案

来源: 全国计算机    语言    答案   

全国计算机二级C语言考试题库和答案1

1.有以下程序

#include

main()

(int n=2,k=0;

while(k++&&n++>2);

printf("%d%d\n",k,n);

)

程序运行后的输出结果是()。

A.O2

B.13

C.57

D.12

2.有以下定义语句,编译时会出现编译错误的是()。

A.char a=’a’;

B.char a=’\n’

C.char a=’aa’;

D.char a=’\x2d’;

3.有以下程序

#include

main()

{char cl,c2;

cl=’A’+’8’-’4’

c2=’A’+’8’-’5’;

printf("%C,%d\n",cl,c2);

)

已知字母A的ASCIl码为65,程序运行后的输出结果是()。

A.E,69

B.D,69

C.E,D

D.输出无定值

4.有以下程序

#include

void fun(int p)

{int d=2;

p=d++;printf("%d".p);}

main()

{int a=1;

fun(a):printf("%d\n",a);)

程序运行后的输出结果是()。

A.32

B.12

C.21

D.22

5.以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致

不能实现预定功能。

#define MIN-2147483647

int findmax(int x[],int n)

{int i,max;

for(i=0;i {max=MIN;

if(maxreturn max;

)

造成错误的原因是()。

A.定义语句“int i,max;”中max未赋初值

B.赋值语句“max=MIN;”中,不应给max赋MIN值

C.语句“if(maxD.赋值语句“max—MIN;”放错了位置

6.有以下程序:

#include

main()

{int m=1,n=2,*p=&m,*q=&n,*r;

r=P;P=q;q=r;

printf("%d,%d,%d,%d\n",m,n,*P,*q);

}

程序运行后的输出结果是()。

A.1,2,1,2

B.1,2,2,1

C.2,1,2,1

D.2,1,1,2

7.若有定义语句:"int a[4][10],*P,*q[4];"且0≤i<4,则错误的赋值是()。

A.D=a

B.q[i]=a[i]

C.p=a[l]

D.P=&a[2][1]

8.有以下程序:

#include

#include

main()

{char str[][20][{"One*World","One*Dream!"},*p=str[1];

prinft("%d,",strlen(p));printf("%s\n",p);

)

程序运行后的输出结果是()。

A.9,0ne*World

B.9,0ne*Dream!

C.10,One*Dream!

D.10,Ome*World

9.有以下程序

#include

main()

{int a[]={2,3,5,4),i;

for(i=0;i<4;i++)

switch(i%2)

{case 0:switch(a[i]%2)

{case 0:a[i]++;break;

case l:a[i]--;

}break;

case l:a[i]=0;

)

for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");

程序运行后的输出结果是()。

A.3344

B.2050

C.3040

D.0304

10.有以下程序

#include

#incl ude

main()

{char a[10]=”abcd”;

printf("%d,%d\n",strlen(a),sizeof(a));

)

程序运行后的输出结果是()。

A.7,4

B.4,10

C.8,8

D.10,10

11.下面是有关C语言字符数组的描述,其中错误的是()。

A.不可以用赋值语句给字符数组名赋字符串

B.可以用输入语句把字符串整体输入给字符数组

C.字符数组中的内容不一定是字符串

D.字符数组只能存放字符串

12.下列函数的功能是()。

fun(char*a,char*b).

{while((*b=*a)!=’\0’){a++;b++;})

A.将a所指字符串赋给b所指空间

B.使指针b指向a所指字符串

C.将a所指字符串和b所指字符串进行比较

D.检查a和b所指字符串中是否有’\O’

13.设有以下函数:

void fun(int n,char*s){…}

则下面对函数指针的定义和赋值均正确的是()。

A.void(*pf)();pf=fun;

B.void*pf();pf=fun

C.void*pf();*pf=fun;

D.void(*pf)(int,char);pf=&fun;

14.有以下程序:

#includedstdio.h>

int f(int n);

main()

{int a=3,s;

s=f(a);s=s+f(a);printf("%dkn",s);

)

int f(int n)

{static int a=1;

n+=a++;

return n;

)

程序运行后的输出结果是()。

A.7

B.8

C.9

D.10

15.有以下程序:

#includedstdi0.h>

#define f(x)X*x*x

main()

{int a=3,S,t;

s=f(a+1);t=f((a+1));

printf("%d,%d\n",S,t);

)

程序运行后的输出结果是( )。

A.10,64

B.10。10

C.64,10

D.64,64

16.下面结构体的定义语句中,错误的是()。

A.struct ord{int x;int Y;int Z;};struet ord a;

B.struct ord{int x;int y;int Z;}struct ord a;

C.struct ord{int X;int Y;int Z;}a;

D.struct{int X;int y;int Z;}a;

17.设有定义:“char*c;”,以下选项中能够使字符型指针c正确指向一个字符串的()。

A.char str[]="strin9";c=str;

B.scanf(%s,c):

C.c=getchar();

D.*c="strin9";

18.有以下程序:

#include

#include

struct A

(int a;char b[10];double C;);

struct A f(struct A t):

main()

{struct A a={1001,"ZhangDa",l098.0};

a=f(a);printf("%d,%S,%6.1f\n",a.a,a.b,a.c);

)

struct A f(struct A t)

{t.a= 1002;strcpy(t.b,"ChangRon9");t.c=1202.0;return t;)

程序运行后的输出结果是()。

A.1001,ZhangDa,1098.0

B.1002,ZhangDa,1202.0

C.1001,ChangRong,1098.0

D.1002,ChangRong,1202.0

19.若有以下程序段:

int r=8;

print("%d\n",r>>1):

输出结果是( )。

A.16

B.8

C.4

D.2

下面小编为大家整理了一些有关于全国计算机二级C语言考试题库和答案的模版范文,欢迎各位阅读和下载。

全国计算机二级C语言考试题库和答案1

1.有以下程序

#include

main()

(int n=2,k=0;

while(k++&&n++>2);

printf("%d%d\n",k,n);

)

程序运行后的输出结果是()。

A.O2

B.13

C.57

D.12

2.有以下定义语句,编译时会出现编译错误的是()。

A.char a=’a’;

B.char a=’\n’

C.char a=’aa’;

D.char a=’\x2d’;

3.有以下程序

#include

main()

{char cl,c2;

cl=’A’+’8’-’4’

c2=’A’+’8’-’5’;

printf("%C,%d\n",cl,c2);

)

已知字母A的ASCIl码为65,程序运行后的输出结果是()。

A.E,69

B.D,69

C.E,D

D.输出无定值

4.有以下程序

#include

void fun(int p)

{int d=2;

p=d++;printf("%d".p);}

main()

{int a=1;

fun(a):printf("%d\n",a);)

答案解析