C语言笔试 二级考试试题及答案.docx

上传人:b****5 文档编号:3246468 上传时间:2022-11-21 格式:DOCX 页数:47 大小:35.17KB
下载 相关 举报
C语言笔试 二级考试试题及答案.docx_第1页
第1页 / 共47页
C语言笔试 二级考试试题及答案.docx_第2页
第2页 / 共47页
C语言笔试 二级考试试题及答案.docx_第3页
第3页 / 共47页
C语言笔试 二级考试试题及答案.docx_第4页
第4页 / 共47页
C语言笔试 二级考试试题及答案.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

C语言笔试 二级考试试题及答案.docx

《C语言笔试 二级考试试题及答案.docx》由会员分享,可在线阅读,更多相关《C语言笔试 二级考试试题及答案.docx(47页珍藏版)》请在冰豆网上搜索。

C语言笔试 二级考试试题及答案.docx

C语言笔试二级考试试题及答案

选择题(共45题),成绩(0分)

1、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:

(x+y)%2+(int)a/(int)b的值是____.

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

正确答案是:

D

2、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是________.

A)5.5B)5C)3D)4.0

正确答案是:

C

3、执行下面程序段后,输出结果是________.

inta;

intb=65536;

a=b;

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

A)65536B)0C)-1D)1

正确答案是:

A

4、阅读下面的程序

#include

voidmain()

{

inti,j;

scanf("%3d%2d",&i,&j);

printf("i=%d,j=%d\n",i,j);

}

如果从键盘上输入1234567<回车>,则程序的运行结果是________.

A)i=123,j=4567B)i=1234,j=567C)i=1,j=2

D)i=123,j=45

正确答案是:

D

5、阅读下面的程序

#include

voidmain()

{

inti,j;

i=010;(8进制前缀为数字0,16进制前缀为0X或0x)这里即i=8

j=9;

printf("%d,%d",i-j,i+j);

}

则程序的运行结果是________.

A)1,19B)-1,19C)1,17

D)-1,17

正确答案是:

D

6、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("%d",(x,y));

上面程序片段的输出结果是_______.

A)200B)100

C)100200D)输出格式符不够,输出不确定的值

正确答案是:

A

7、为表示关系x≥y≥z,应使用C语言表达式________.

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z)

正确答案是:

A

8、下面程序的输出的是_________.

#include

voidmain()

{intx=10,y=3;

printf("%d\n",y=x/y);

}

A)0B)1C)3D)不确定的值

正确答案是:

C

9、调试程序时,如果某个“计算2的平方”的程序在调试时没有提示出错,而且成功执行并计算出了结果,但是结果等于5,这种情况一般称之为________.

A.语法错误B.正常情况C.编译器出错D.逻辑设计错误

正确答案是:

D

10、表达式:

10!

=9的值是_____________.

A)trueB)非零值C)0D)1

正确答案是:

D

11、语句:

printf("%d",(a=2)&&(b=-2));的输出结果是_______.

A)无输出B)结果不确定C)-1D)1

正确答案是:

D

12、运行下面程序时,若从键盘输入数据为"123",

则输出结果是_______.

#include"stdio.h"

voidmain()

{intnum,i,j,k,place;

scanf("%d",&num);

if(num>99)

place=3;

elseif(num>9)

place=2;

else

place=1;

i=num/100;

j=(num-i*100)/10;

k=(num-i*100-j*10);

switch(place)

{case3:

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

break;

case2:

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

break;

case1:

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

}

}

A)123B)1,2,3

C)321D)3,2,1

正确答案是:

C

13、有以下程序

#include

voidmain()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

printf("%d,%d\n",a,b);

}

输出结果是________.

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

正确答案是:

A

14、若k是int型变量,且有下面的程序片段:

k=8;

if(k<=0)

if(k==0)printf("####");

elseprintf("&&&&");

elseprintf("****");

上面程序片段的输出结果是________.

A)####B)&&&&C)****D)

有语法错误,无输出结果

正确答案是:

C

15、若执行下面的程序从键盘上输入5,则输出结果是_________.

#include

voidmain()

{intx;

scanf("%d",&x);

if(x++>5)printf("%d\n",x);

elseprintf("%d\n",x--);

}

A)7B)6C)5D)4

正确答案是:

B

16、下列程序的执行结果是_________.

#include

voidmain()

{intx=0,y=1,z=0;

if(x=z=y)

x=3;

printf("%d,%d\n",x,z);

}

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

正确答案是:

D

17、运行下面程序时,若从键盘输入"5",则程序的输出结果是________.

#include

voidmain()

{inta;

scanf("%d",&a);

if(a++>5)printf("%d\n",a);

elseprintf("%d\n",a--);

}

A)7B)6C)5D)4

正确答案是:

B

18、设a为整型变量,不能正确表达数学关系10

A)10

C)a>10&&a<15D)!

(a<=10)&&!

(a>=15)

正确答案是:

A

19、以下叙述正确的是____________.

A)do-while语句构成的循环不能用其它语句构成的循环来代替

B)do-while语句构成的循环只能用break语句退出

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环

D)用do-while语句构成的循环,在while后的表达式为零时结束循环

正确答案是:

D

20、若i,j已定义为int类型,则以下程序段中循环体的总的执行次数是_______.

for(i=5;i;i--)

for(j=0;j<4;j++){...}

A)20B)25C)24D)30

正确答案是:

A

21、有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是_________.

A)无限次B)有语法错,不能执行C)一次也不执行D)执行一次

正确答案是:

A     ×

22、下面程序段中,循环体的执行次数是_________.

inta=10,b=0;

do{b+=2;a-=2+b;}while(a>=0);

A)4B)5C)3D)2

正确答案是:

C     ×

23、设有如下程序段:

inti=0,sum=1;

do

{sum+=i++;}

while(i<6);

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

上述程序段的输出结果是__________.

A)11B)16C)22D)15

正确答案是:

B     ×

24、有如下程序

#include

voidmain()

{inti,sum=0;

for(i=1;i<=3;sum++)sum+=i;

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

}

该程序的执行结果是___________.

A)6B)3C)死循环D)0

正确答案是:

C     ×

25、执行下面程序段后,k的值是_________.

inti,j,k;

for(i=0,j=10;i

k=i+j;

A)9B)11C)8D)10

正确答案是:

D     ×

26、下面程序段的运行结果是________.

for(x=10;x>3;x--)

{if(x%3)x--;

--x;--x;

printf("%d",x);

}

A)63B)74C)62D)73

正确答案是:

B     ×

27、下面程序段的运行结果是___________.

for(i=1;i<=5;)

printf("%d",i);

i++;

A)12345B)1234C)15D)

无限循环

正确答案是:

D     ×

28、以下程序的输出结果是________.

#include

voidmain()

{chara[10]={'1','2','3','\0','5','6','7','8','9',0};

printf("%s\n",a);

}

A)123B)1230C)123056789D)

1230567890

正确答案是:

A     ×

29、下面程序把数组元素中的最大值放入a的最后一个元素中,则在if语句

中的条件表达式应该是________.

#include

voidmain()

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

a[10]=a[0];

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

if(________)a[10]=a[i];

printf("%d\n",a[10]);

}

A)a[10]>a[0]B)a[10]>a[i]C)a[10]

D)a[10]

正确答案是:

D     ×

30、下面程序的输出结果是________.

#include

voidmain()

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

printf("%d,%d\n",a[4]+3,a[4+3]);

}

A)6,6B)8,8C)6,8D)8,6

正确答案是:

C     ×

31、若有以下说明:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;

则数值为4的表达式是________.

A)a[g-c]B)a[4]C)a['d'-'c']D)

a['d'-c]

正确答案是:

D     ×

32、以下定义语句中,错误的是________.

A)inta[]={1,2};B)char

a[]={"test"};

C)chars[10]={"test"};D)intn=5,a[n];

正确答案是:

D     ×

33、以下定义语句中,错误的是________.

A)inta[]={1,2};B)chara={"test"};

C)chars[10]={"test"};D)inta[]={'a','b','c'};

正确答案是:

B     ×

34、若有说明char

c[7]={'s','t','r','i','n','g'};则对元素的非法引用是________.

A)c[0]B)c[9-6]C)c[4*2]D)

c[2*3]

正确答案是:

C     ×

35、若希望下面的程序运行后输出25,程序空白处的正确选择是________.

#include

voidmain()

{inti,j=50,a[]={7,4,10,5,8};

for(____________)

j+=a[i];

printf("%d\n",j-40);

}

A)i=4;i>2;--iB)i=1;i<3;++iC)i=4;i>2;i--

D)i=2;i<4;++i

正确答案是:

D     ×

36、给出以下定义:

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为________.

A)数组x和数组y等价

B)数组x和数组y的长度相同

C)数组x的长度大于数组y的长度

D)数组x的长度小于数组y的长度

正确答案是:

C     ×

37、有如下程序

intfunc(inta,intb)

{return(a+b);}

voidmain()

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d\n",r);}

该程序的输出结果是__________.

A)12B)13C)14D)15

正确答案是:

D     ×

38、以下程序的输出结果是__________.

#include

fun(intx,inty,intz)

{z=x*x+y*y;}

voidmain()

{inta=31;

fun(5,2,a);

printf("%d",a);}

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

正确答案是:

C     ×

39、以下函数调用语句中含有实参个数为________.

func((exp1,exp2),(exp3,exp4,exp5));

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

5个

正确答案是:

B     ×

40、下列程序执行后输出的结果是________.

#include

intf(inta)

{intb=0;

staticc=3;

a=c++,b++;

return(a);}

voidmain()

{inta=2,i,k;

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

k=f(a++);

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

A)3B)0C)5D)4

正确答案是:

C     ×

41、对于C语言的函数,下列叙述中正确的是________.

A)函数的定义不能嵌套,但函数调用可以嵌套

B)函数的定义可以嵌套,但函数调用不能嵌套

C)函数的定义和调用都不能嵌套

D)函数的定义和调用都可以嵌套

正确答案是:

A     ×

42、函数f的功能是:

测定字符串的长度,空白处应填入________.

#include

intf(chars[])

{inti=0;

while(s[i]!

='\0')i++;

return(________);}

voidmain()

{printf("%d\n",f("goodbye!

"));}

A)i-1B)i

C)i+1D)s

正确答案是:

B     ×

43、在以下叙述中,不正确的选项是________.

A)C语言程序总是从main()函数开始执行

B)在C语言程序中,被调用的函数必须在main()函数中定义

C)C程序是函数的集合,在这个函数集中包括标准函数和用户自定义函数

D)在C语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套

正确答案是:

B     ×

44、对以下程序,正确的说法是________.

sub(charx,chary)

{intz;z=x%y;returnz;}

voidmain()

{intg=5,h=3,k;

k=sub(g,h);

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

A)实参与其对应的形参类型不一致,程序不能运行

B)被调函数缺少数据类型说明,程序不能运行

C)主函数中缺少对被调函数的说明语句,程序不能运行

D)程序中没有错误,可以正常运行

正确答案是:

D     ×

45、请读程序:

#include

f(intb[],intn)

{inti,r=1;

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

returnr;}

voidmain()

{intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf("%d\n",x);}

上面程序的输出结果是________.

A)720B)120C)24D)6

正确答案是:

B     ×

 

选择题(共41题),成绩(0分)

1、以下叙述正确的是____________.

A)do-while语句构成的循环不能用其它语句构成的循环来代替

B)do-while语句构成的循环只能用break语句退出

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环

D)用do-while语句构成的循环,在while后的表达式为零时结束循环

正确答案是:

D     ×

2、对于for(表达式1;;表达式3)可理解为__________.

A)for(表达式1;0;表达式3)

B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)

D)for(表达式1;表达式3;表达式3)

正确答案是:

B     ×

3、以下叙述正确的是_________.

A)continue语句的作用是结束整个循环的执行

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用相同

D)从多层循环嵌套中退出时,只能使用goto语句

正确答案是:

B     ×

4、对下面程序段,描述正确的是________.

for(t=1;t<=100;t++)

{scanf("%d",&x);

if(x<0)continue;

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

}

A)当x<0时,整个循环结束

B)当x>=0时,什么也不输出

C)printf函数永远也不执行

D)最多允许输出100个非负整数

正确答案是:

D     ×

5、以下程序的输出结果是_________.

#include

voidmain()

{intcount,i=0;

for(count=1;count<=4;count++)

{i+=2;printf("%d",i);}

}

A)20B)246C)2468D)2222

正确答案是:

C     ×

6、以下程序的功能是:

从键盘上输入若干个学生的成绩,统计并输出

最高成绩和最低成绩,当输入负数时结束输入。

请填空。

#include

voidmain()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while(________)

{if(x>amax)amax=x;

if(______)amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

A)x<=0B)x>0C)x>0

D)x>=0

x>aminx<=aminx>amin

x

正确答案是:

D     ×

7、下面程序的输出结果是__________.

#include

voidmain()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d%d",x--,y);

}

A)10192B)9876C)10990

D)101091

正确答案是:

D     ×

8、有如下程序

#include

voidmain()

{intx=23;

do

{printf("%d",x--);

}while(!

x);

}

该程序的执行结果是

A)321B)23C)不输出任何内容D)

陷入死循环

正确答案是:

B     ×

9、以下程序运行后的输出结果是________.

#include

voidmain()

{inti=10,j=0;

do

{j=j+1;i--;

}while(i>2);

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

}

A)50B)52C)51D)8

正确答案是:

D     ×

10、设有数组定义:

chararray[]="China";则数组array所占的存储空间为________.

A)4个字节B)5个字节

C)6个字节D)7个字节

正确答案是:

C     ×

11、设有数组定义:

chararray[10]="China";则数组array所占的存储空间为________.

A)4个字节B)5个字节C)6个字节D)10个字节

正确答案是:

D     ×

12、以下程序的输出结果是________.

#include

voidmain()

{inti,x[9]={9,8,7,6,5,4,3,2,1};

for(i=0;i<4;i+=2)printf("%d",x[i]);

}

A)52B)51

C)53D)97

正确答案是:

D     ×

13、下面程序的输出是________.

#include

voidmain()

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

printf("%d\n",a[a[1]*a[2]]);

}

A)3B)4C)7D)2

正确答案是:

C     ×

14、以下定义语句中,错误的是________.

A)inta[]={1,2};B)char

a[]={"test"};

C)chars[10]={"test"};D)intn=5,a[n];

正确答案是:

D     ×

15、当接受用户输入的含有空格的字符串时,应使用________函数.

A)gets()B)get

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

当前位置:首页 > 小学教育 > 英语

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

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