全国计算机等级考试二级C语言题库及答案超强Word格式.docx

上传人:b****6 文档编号:19184872 上传时间:2023-01-04 格式:DOCX 页数:69 大小:74.53KB
下载 相关 举报
全国计算机等级考试二级C语言题库及答案超强Word格式.docx_第1页
第1页 / 共69页
全国计算机等级考试二级C语言题库及答案超强Word格式.docx_第2页
第2页 / 共69页
全国计算机等级考试二级C语言题库及答案超强Word格式.docx_第3页
第3页 / 共69页
全国计算机等级考试二级C语言题库及答案超强Word格式.docx_第4页
第4页 / 共69页
全国计算机等级考试二级C语言题库及答案超强Word格式.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级C语言题库及答案超强Word格式.docx

《全国计算机等级考试二级C语言题库及答案超强Word格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言题库及答案超强Word格式.docx(69页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级C语言题库及答案超强Word格式.docx

B)i=a%11;

C)a=a++,i++D)i=!

a;

16.有以下程序:

#include<

stdio.h>

main()

{ ints,t,A=10;

doubleB=6;

  s=sizeof(A);

t=sizeof(B);

  printf("

%d,%d\n"

,s,t);

}

在VC6.0平台上编译运行,程序运行后的输出结果是( D )。

A)10,6B)4,4C)2,4D)4,8

17.有以下程序:

{ chara,b,c,d;

  scanf("

%c%c"

,&

a,&

b);

  c=getchar();

d=getchar();

  printf("

%c%c%c%c\n"

,a,b,c,d);

当执行程序时,按下列方式输入数据(从第1列开始,<

CR>

代表回车,注意:

回车也是一个字符)

12<

34<

则输出结果是( D )。

A)12

34

B)12

C)1234

D)12

3

18.下关于逻辑运算符两侧运算对象的叙述中正确的是( A )。

A)可以是任意合法的表达式B)只能是整数0或非0整数

C)可以是结构体类型的数据D)只能是整数0或1

19.有以下程序:

{ inta=0,b=0,c=0,d=0;

  if(a=1)b=1;

c=2;

  elsed=3;

%d,%d,%d,%d\n"

程序输出( C )。

A)1,1,2,0B)0,0,0,3C)编译有错D)0,1,2,0

20.有以下程序:

{ intx=1,y=0,a=0,b=0;

  switch(x)

  { case1:

    switch(y)

    { case0:

a++;

break;

     case1:

b++;

      }

    case2:

    case3:

  }

a=%d,b=%d\n"

,a,b);

程序的运行结果是( B )。

A)a=2,b=2B)a=2,b=1C)a=1,b=1D)a=1,b=0

21.以下程序段中的变量已正确定义:

    for(i=0;

i<

4;

i++,i++)

      for(k=1;

k<

3;

k++);

printf("

*"

);

程序段的输出结果是( C )。

A)**B)****C)*D)********

22.有以下程序段:

inti,n;

for(i=0;

8;

i++)

{  n=rand()%5;

  switch(n)

  { case1:

case3:

%d\n"

,n);

case2:

case4:

continue;

case0:

exit(0);

,n);

以下关于程序段执行情况的叙述,正确的是( D )。

A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作

C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行

23.有以下程序:

intf(intx);

{intn=1,m;

 m=f(f(f(n)));

%d\n"

,m);

intf(intx)

{returnx*2;

}

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

A)8B)2C)4D)1

24.以下叙述中错误的是( A )。

A)可以给指针变量赋一个整数作为地址值

B)函数可以返回地址值

C)改变函数形参的值,不会改变对应实参的值

D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL

25.设已有定义:

floatx;

,则以下对指针变量p进行定义且赋初值的语句中正确的是( B )。

A)int*p=(float)x;

B)float*p=&

x;

C)floatp=&

D)float*p=1024;

26.以下数组定义中错误的是( D )。

A)intx[2][3]={1,2,3,4,5,6};

B)intx[][3]={0};

C)intx[][3]={{1,2,3},{4,5,6}};

D)intx[2][3]={{1,2},{3,4},{5,6}};

27.有以下程序:

voidfun(inta[],intn)

{ inti,t;

  for(i=0;

n/2;

i++){t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;

{ intk[10]={1,2,3,4,5,6,7,8,9,10},i;

  fun(k,5);

  for(i=2;

i++)printf("

%d"

,k[i]);

\n"

);

程序的运行结果是( A )。

A)321678B)876543C)1098765D)345678

28.有以下程序:

#defineN4

voidfun(inta[][N],intb[])

{ inti;

 for(i=0;

N;

i++)b[i]=a[i][i]-a[i][N-1-i];

{ intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;

 fun(x,y);

%d,"

,y[i]);

A)-3,-1,1,3,B)-12,-3,0,0,C)0,1,2,3,D)-3,-3,-3,-3,

29.设有定义:

chars[81];

inti=0;

,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( C )。

A)gets(s);

B)while((s[i++]=getchar())!

='

\n'

s[i]='

\0'

C)scanf("

%s"

,s);

D)do{scanf("

%c"

s[i]);

}while(s[i++]!

s[i]='

30.设有定义:

charp[]={'

1'

,'

2'

3'

},*q=p;

,以下不能计算出一个char型数据所占字节数的表达式是( A )。

A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[0])

31.有以下程序:

string.h>

{ charstr[][20]={"

One*World"

,"

One*Dream!

"

},*p=str[1];

 printf("

,strlen(p));

%s\n"

,p);

A)10,One*Dream!

B)9,One*Dream!

C)9,One*WorldD)10,One*World

32.有以下程序:

{ chars[]="

012xy\08s34f4w2"

  inti,n=0;

  for(i=0;

s[i]!

=0;

    if(s[i]>

='

0'

&

&

s[i]<

9'

)n++;

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

 

A)0B)3C)7D)8

33.有以下程序:

fun(intx,inty)

{staticintm=0,i=2;

 i+=m+1;

m=i+x+y;

returnm;

{intj=1,m=1,k;

 k=fun(j,m);

,k);

执行后的输出结果是( A )。

A)5,11B)5,5C)11,11D)11,5

34.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( C )。

A)auto和staticB)extern和registerC)auto和registerD)static和register

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

A)structord{intx;

inty;

intz;

}structorda;

B)structord{intx;

};

structorda;

C)structord{intx;

}a;

D)struct{intx;

36.有以下程序:

#include<

typedefstruct{intb,p;

}A;

voidf(Ac)/*注意:

c是结构变量名*/

{intj;

 c.b+=1;

c.p+=2;

{inti;

 Aa={1,2};

 f(a);

 printf("

,a.b,a.p);

A)2,4B)1,2C)1,4D)2,3

37.以下叙述中正确的是( A )。

A)在C语言中,预处理命令行都以"

#"

开头B)预处理命令行必须位于C源程序的起始位置C)#include<

必须放在C程序的开头D)C语言的预处理不能实现宏定义和条件编译的功能

38.有以下程序:

stdlib.h>

intfun(intn)

{ int*p;

  p=(int*)malloc(sizeof(int));

  *p=n;

return*p;

{ inta;

  a=fun(10);

,a+fun(10));

程序的运行结果是( C )。

A)0B)10C)20D)出错

39.有以下程序:

{ unsignedchara=8,c;

  c=a>

>

,c);

A)16B)1C)32D)0

40.读取二进制文件的函数调用形式为:

fread(buffer,size,count,fp);

,其中buffer代表的是( D )。

A)一个内存块的字节数B)一个整型变量,代表待读取的数据的字节数

C)一个文件指针,指向待读取的文件D)一个内存块的首地址,代表读入数据存放的地址

11.下列叙述中错误的是( B )。

A)C程序可以由多个程序文件组成B)一个C语言程序只能实现一种算法

C)C程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在

12.以下选项中,能用作数据常量的是( A )。

A)115LB)0118C)1.5e1.5D)o115

13.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( D )。

A)大写字母B)下划线C)数字字符D)连接符

14.设变量已正确定义并赋值,以下正确的表达式是( A )。

A)x=y+z+5,++yB)int(15.8%5)C)x=y*5=x+zD)x=25%5.0

15.设有定义:

intx=2;

,以下表达式中,值不为6的是( A )。

A)2*x,x+=2B)x++,2*xC)x*=(1+x)D)x*=x+1

{ intx,y,z;

 x=y=1;

 z=x++,y++,++y;

%d,%d,%d\n"

,x,y,z);

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

A)2,3,3B)2,3,2C)2,3,1D)2,2,1

{ charc1,c2;

  c1='

A'

+'

8'

-'

4'

  c2='

5'

  printf("

%c,%d\n"

,c1,c2);

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

A)E,68B)D,69C)E,DD)输出无定值

18.若有定义intx,y;

并已正确给变量赋值,则以下选项中与表达式(x-y)?

(x++):

(y++)中的条件表达式(x-y)等价的是( A )。

A)(x-y<

0||x-y>

0)B)(x-y<

0)C)(x-y>

0)D)(x-y==0)

{ intx=1,y=0;

  if(!

x)y++;

  elseif(x==0)

      if(x)y+=2;

      elsey+=3;

,y);

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

A)3B)2C)1D)0

20.若有定义:

floatx=1.5;

inta=1,b=3,c=2;

则正确的switch语句是( A )。

A)switch(a+b)

{case1:

*\n"

 case2+1:

**\n"

B)switch((int)x);

 case2:

C)switch(x)

{case1.0:

 case2.0:

D)switch(a+b)

 casec:

21.有以下程序:

{ inty=9;

  for(;

y>

0;

y--)

    if(y%3==0)printf("

,--y);

A)852B)963C)741D)875421

22.有以下程序:

{  inti,j,m=1;

  for(i=1;

i<

i++)

  { for(j=3;

j>

j--)

    {if(i*j>

3)break;

     m*=i*j;

    }

m=%d\n"

A)m=4B)m=2C)m=6D)m=5

intfun(intx,inty)

{ if(x!

=y)return((x+y)/2);

 elsereturn(x);

{ inta=4,b=5,c=6;

 printf("

,fun(2*a,fun(b,c)));

(A)

A)6B)3C)8D)12

24.有以下程序:

intadd(inta,intb){return(a+b);

{intk,(*f)(),a=5,b=10;

 f=add;

 …

则以下函数调用语句错误的是( D )。

A)k=f(a,b);

B)k=add(a,b);

C)k=(*f)(a,b);

D)k=*f(a,b);

25.有以下程序:

{intn,*p=NULL;

 *p=&

n;

Inputn:

scanf("

p);

outputn:

该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( A )

A)intn,*p=NULL;

B)*p=&

C)scanf("

p)D)printf("

26.下列定义数组的语句中,正确的是( A )。

A)#defineN10intx[N];

B)intN=10;

intx[N];

C)intx[0..10];

D)intx[];

{ inta[]={2,3,5,4},i;

    switch(i%2)

    {case0:

switch(a[i]%2)

      { case0:

a[i]++;

break;

        case1:

a[i]--;

       }break;

     case1:

a[i]=0;

    }

i++)printf("

%d"

,a[i]);

A)0304B)2050C)3344D)3040

{ intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

i++)

    for(j=i;

j<

=i;

j++)t+=b[i][b[j][i]];

,t);

A)3B)4C)1D)9

29.以下语句中存在语法错误的是( A )。

A)charss[6][20];

ss[1]="

right?

B)charss()[20]={"

C)char*ss[6];

D)char*ss()={"

rig

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1