计算机二级C习题册.docx

上传人:b****6 文档编号:5029836 上传时间:2022-12-12 格式:DOCX 页数:112 大小:133.50KB
下载 相关 举报
计算机二级C习题册.docx_第1页
第1页 / 共112页
计算机二级C习题册.docx_第2页
第2页 / 共112页
计算机二级C习题册.docx_第3页
第3页 / 共112页
计算机二级C习题册.docx_第4页
第4页 / 共112页
计算机二级C习题册.docx_第5页
第5页 / 共112页
点击查看更多>>
下载资源
资源描述

计算机二级C习题册.docx

《计算机二级C习题册.docx》由会员分享,可在线阅读,更多相关《计算机二级C习题册.docx(112页珍藏版)》请在冰豆网上搜索。

计算机二级C习题册.docx

计算机二级C习题册

第一部分:

选择题(40分,2分/小题)

第一章程序设计概述第二章C语言概述

1、下面关于C语言的叙述中,正确的是()

A.每行只能写一条语句B.程序中必须包含有输入语句

C.main函数必须位于文件的开头D.每条语句最后必须有一个分号

2、下面关于C语言的叙述中,错误的是()

A.若一条语句较长,也可分写在下一行上B.构成C语言源程序的基本单位是表达式

C.C语言源程序中大、小写字母是有区别的D.一个C语言源程序可由一个或多个函数组成

3、下面叙述错误的是()

A.所有语句都必须以分号";"结束B.语句是构成C语言源程序的基本单位

C.C语言源程序必须包含一个main()函数D.注释部分在程序编译和运行时不起作用

4、C程序中main函数的位置()

A.必须位于程序文件的最前面B.必须在系统库函数后面

C.可以在自定义函数后面D.必须位于程序文件的最后面

5、C语言的函数体由()括起来

A.()B.{}C.[]D./**/

6、关于C语言的叙述中,不正确的是()

A.C程序可由一个或多个函数组成B.C程序必须包含一个main()函数

C.C程序的基本组成单位是函数D.注释说明只能位于一条语句的后面

7、一个程序的执行是从()

A.本程序的第一个函数开始,到最后一个函数结束

B.本程序的main函数开始,到main函数结束

C.本程序的main函数开始,到最后一个函数结束

D.本程序的第一个函数开始,到main函数结束

8、结构化程序设计的三种基本结构是()

A.函数结构、分支结构、判断结构B.函数结构、嵌套结构、平行结构

C.顺序结构、分支结构、循环结构D.分支结构、循环结构、嵌套结构

9、调试程序是指对程序进行()

A.编辑B.编译C.查错和排错D.连接

10、C语言中,复合语句的构成是将一系列语句置于()

A.begin与end之间B.一对圆括号“()”之间

C.一对花括号“{}”之间D.一对方括号“[]”之间

11、构成C语言源程序的基本单位是()

A.语句B.过程C.表达式D.函数

12、以下叙述正确的是()。

A.注释部分可单独占用一行,也可跟在语句的后面B.函数体定界符也可用一对方括号"[]"

C.C语言源程序每一行就是一条语句

D.由于C语言源程序都是从main()函数开始执行,所以main()函数必须位于程序文件最前面

13、()是结构化程序设计应遵循的原则。

A.选用的控制结构可有多个入口和一个出口

B.不可使用嵌套基本控制结构表示复杂程序逻辑

C.应使用顺序、选择、循环三种基本控制结构表示程序逻辑

D.为提高程序效率,应尽量使用goto语句

14、描述一个算法可以有不同的方式,常见的有()。

A.汇编语言、高级语言和低级语言B.自然语言、流程图和伪代码

C.机器语言、汇编语言和高级语言D.高级语言、自然语言和伪代码

15、C源程序的编译是指对源程序()

A.进行录入与编辑B.生成以二进制代码形式表示的目标程序

C.进行查错与解释D.进行连接与运行

第三章数据类型、运算符与表达式

1、在C语言中,正确的用户标识符是()

A.3fB._forC.structD._f.5

2、C语言的基本数据类型包括()

A.整型、实型、字符型B.整型、实型、字符型、逻辑型

C.整型、字符型、逻辑型D.整型、实型、逻辑型

3、以下()是正确的常量

A.E-5B.1E5.1C.‘a12’D.32766L

4、以下()是正确的变量名

A.a.beeB.–p11C.intD.p_11

5、以下()是正确的字符常量

A.“c”B.‘//”C.‘W’D.“\32a”

6、以下()是不正确的字符串常量

A.‘abc’B.“12’12”C.“0”D.““

7、C语言的整型数据在内存中的存储形式是()

A.原码B.反码C.补码D.ASCII码

8、以下()是正确的浮点数

A.e3B..62C.2e4.5D.123

9、下列不属于C语言关键字的是()

A.continueB.integerC.staticD.signed

10、C语言的字符型数据在内存中的存储形式是()

A.原码B.补码C.反码D.ASCII

11、在C语言中,变量所分配的内存空间大小是()

A.由变量的类型决定B.由用户自己决定C.任意的D.均为两个字节

12、关于C语言数据类型,叙述正确的是()

A.变量使用前应定义相应的数据类型B.不允许使用空类型

C.指针类型属于基本类型D.结构类型并不是构造类型

13、TurboC中,基本数据类型存储空间长度的排列顺序是()

A.char

C.char

14、若有定义:

inta=2;则正确的赋值表达式是()

A.a-=(a*3)B.double(-1)C.a*3D.a*4=3

15、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()

A.3,3,4B.4,4,3C.4,4,4D.3,4,3

16、语句a=(3/4)+3%2;运行后,a的值为()

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

17、以下四项中,符合C语言语法的语句是()

A.inta+b=c;B.inta=12:

b=12:

c=12;

C.inta=12,b=12,c=12;D.inta,b=12,floatc=21

18、若有定义:

intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()

A.3,3B.4,4C.4,3D.3,4

19、若变量已正确定义并赋值,符合C语言语法的表达式是()

A.a=8+b+c,a++B.a=3aC.int(12.3%4)D.a=a+1=c+b

20、若有定义:

inta,b;doublex;则以下不符合C语言语法的表达式是()

A.x%(-3)B.a+=-1C.a=b=2D.x=a+b

21、若有定义:

intx=2,y=3;floati;则以下符合C语言语法的表达式是()

A.x=x*3=2B.x=(y==1)C.i=float(x)D.i%(-3)

22、若有定义:

intx;则语句x=(2*3)+6%5;运行后,x的值是()

A.8B.7C.6D.5

23、下面关于C语言变量的叙述中,错误的是()

A.可以用const关键字定义变量B.在C程序中,SUM和sum是不同的变量

C.变量名必须由字母或下划线组成D.变量的类型确定了变量的取值范围

24、若有定义:

intx=5,y=6;则表达式x=(y==6)的值为()

A.5B.1C.6D.0

25、下面叙述正确的是()

A.2/3与2.0/3.0等价B.(int)2.0/3与2/3等价

C.++5与6等价D.‘A’与”A”等价

26、下面叙述中,错误的是()

A.C语言基本的算术运算符不包含模运算符”%”

B.算术运算符的优先级高于关系运算符

C.自加和自减运算符的结合方向是”自右向左”

D.C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行

27、下面叙述正确的是()

A.强制类型转换运算的优先级高于算术运算B.若a和b是整型变量,(a+b)++是合法的

C.‘A’*’B’是不合法的D.“A”+”B”是合法的

28、若有定义:

inti=1,j=5;则表达式(++j)*(i--)的值为()

A.1B.0C.6D.7

29、设整型变量a为5,使b不为2的表达式是()

A.b=(++a)/3B.b=6-(--a)C.b=a%2D.b=a/2

30、若有定义:

inta=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为()

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

31、若有定义:

inti,j;则表达式(i=2,j=5,i++,i+j++)的值是()

A.7B.8C.9D.10

32、若有定义:

inta,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()

A.7B.8C.9D.10

33、若有定义:

inti=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为()

A.8B.6C.7D.5

34、若已定义:

inti=3,k;则语句k=(i--)+(i--);运行后k的值为()

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

35、若已定义:

longinti;charc;doublex;则表达式i*c+(int)x结果的类型是()。

A.intB.charC.doubleD.longint

36、若已定义:

floatm;拟从键盘输入135.78这一数据给变量m,则应选用的语句是()

A.scanf(“%5.2f”,&m);B.scanf(“%3.2f”,&m);C.scanf(“%6.2f”,&m);D.scanf(“%6f”,&m);

37、已知doublea;使用scanf()函数输入一个数值给变量a,正确的函数调用是()

A.scanf(“%ld”,&a);B.scanf(“%lf”,&a);C.scanf(“%c”,&a);D.scanf(“%u”,&a);

338、已知chara;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()

A.scanf(“%d”,&a);B.scanf(“%lf”,&a);C.scanf(“%c”,&a);D.scanf(“%u”,&a);

39、putchar()函数的功能是向终端输出()

A.多个字符B.一个字符C.一个实型变量值D.一个整型变量表达式

40、以下程序段运行后的输出结果是()

intk=11;

printf(“k=%d,k=%o,k=%x\n”,k,k,k);

A.k=11,k=13,k=cB.k=11,k=12,k=13C.k=11,k=13,k=bD.k=11,k=13,k=a

41、若有定义:

intx=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为()

A.123412312B.12341234123412341231231231212

C.1234+1234+1234D.1234+123+12

42、已有如下定义和输入语句,

inta;charc1,c2;

scanf("%d%c%c",&a,&c1,&c2);

若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()

A.10ABB.10ABC.10ABD.10AB

43、以下程序段的运行结果是()

inta=0,b=0,c=0;

if(a&&++b)

c++;

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

A.0,0B.1,2C.2,2D.1,0

44、以下程序的运行结果是()

voidmain()

{

inta=65;

charc=’A’;

printf(“%x,%d”,a,c);

}

A.65,aB.41,aC.65,65D.41,65

45、下列叙述正确的是()

A.表达式"3"+"4"的结果是"34"

B.若已定义:

inta,b;,则表达式(a+b)++是进行a+b之和的自增1运算

C.强制类型转换运算的优先级高于算术运算D.表达式'3'+'4'的结果是'7'

46、要使用以下程序段给三个整变量x1,x2,x2分别赋值1,2,3,正确的数据输入格式是()intx1,x2,x3;scanf("%d,%d,%d",&x1,&x2,&x3);

A.123B.1,2,3C.123D.123

47、若有下列语句段:

charchr;inta;scanf("%c%d",&chr,&a);拟从键盘将'B'和6分别赋予变量chr和a,正确的数据输入是()。

A.B6B.B,6C.6BD.6,B

48、在C语言中,判定逻辑值为“真“的最正确的叙述是()

A.1B.非0的数C.大于0的数D.非0的整数

49、下列程序段的运行结果是()。

inta=66;charc='A';printf("%c+%c=%d\n",c,a,c+a);(注:

字母'A'的ASCII值为65)

A.65+B=131B.A+66=131C.65+66=131D.A+B=131

50、能正确表示数学关系式800>=y>=500的C语言表达式为()

A.(y<=800)&&(y>=500)B.(y<=800)AND(y>=500)

C.800>=y>=500D.(y<=800)&(y>=500)

51、若有定义:

intx=3,y=4;则表达式!

x||y的值为()

A.1B.0C.3D.4

52、若有定义:

inti=7,j=8;则表达式i>=j||i

A.1B.变量i的值C.0D.变量j的值

53、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。

则不能满足要求的表达式是()

A.a%2==1B.!

(a%2==0)C.!

(a%2)D.a%2

54、若有定义:

intx=3,y=4,z=5;则值为0的表达式是()

A.‘x’&&yB.x<=y

C.x||y+z&&y-zD.!

((x

z||1)

55、若已定义:

inta=1,b=2,c=2;则表达式(a+b)/1.0/c的值是()。

A.1.5B.1C.0.0D.1.0

56、C语言中,能正确表示条件10

A.1010||x<20C.x>10&&<20D.(x>10)&&(x<20)

57、以下运算符中优先级最低的是()

A.<>D.|

58、已知doublea=5.2;则正确的赋值表达式是()

A.a+=a-=(a=4)*(a=3)B.a=a*3=2

C.a%3D.a=double(-2)

59、已知chara='R';则正确的赋值表达式是()

A.a=(a++)%4B.a+2=3C.a+=256--D.a=’\078’

60、已知inta=’R’;则正确的表达式是()

A.a%10B.a=int(3e2)C.2*a=a++D.a=a+a=a+3

61、设有语句floatx=3.0,y=3.0;使x值为6.0的表达式是()

A.x*=y-4B.x*=yC.x=y+4D.x+=y

62、若有定义:

floatx=3.5,intz=8;则表达式x+z%3/4的值为()

A.3。

75B.3.5C.3D.4

63、若已定义:

intx,y;则下列不能正确表示数学关系式|x-y|>5的表达式是()

A.(x-y)>5||(x-y)<-5B.abs(x-y)>5C.(x-y)<-5&&(x-y)>5D.(x-y)*(x-y)>25

64、若有定义:

inta=2,b=3;floatx=3.5,y=2.5;

则表达式(float)(a+b)/2+(int)x%(int)y的值是()

A.3.5B.3.0C.2.5D.2.0

65、若有定义:

intb=7;floata=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是()

A.2.5B.3.5C.4.5D.5.5

66、以下程序的运行结果是()

#defineM(a,b)a*b

main()

{

intx=3,y=2,s1,s2;

s1=M(x+y,x-y);

s2=M(x-y,x+y);

printf("%d,%d\n",s1,s2);

}

A.-1,7B.5,5C.7,-1D.5,-5

67、以下叙述中,正确的是()

A.“#definePRICE=30”定义了与30等价的符号常量PRICE

B.预编译处理命令行都必须以“#”开头

C.程序中使用带参的宏时,参数类型要与宏定义时一致

D.宏名只能包含大写字母和数字字符

68、以下叙述中,正确的是()

A.宏展开不占用运行空间,只占用编译时间

B.预编译处理命令行必须以分号结束

C.一个源程序只能有一个预编译处理命令行

D.使用带参数的宏定义时,应该说明每个参数的数据类型

69、以下的叙述中不正确的是()

A.宏展开不占用运行时间,只占用编译时间B.宏名无类型

C.宏名必须用大写字母表示D.预处理命令行都必须以#号开始

70、以下程序运行后,屏幕输出为()

#defineMIN(a,b)((a)<(b)?

(a):

(b))

main()

{

intx=2,y=3,z;

z=2*MIN(x,y);

printf("%d",z);

}

A.2B.3C.4D.6

71、下列#include命令中,正确的是()

A.#inclue[string.h]B.#include{string.h}

C.#include(string.h)D.#include

72、下面程序的输出结果是()

#include

#defineONE1

#defineTWOONE+1

#defineTHREETWO+1

voidmain()

{

printf("%d\n",THREE-ONE);

}

A.产生错误B.1C.2D.3

73、下列叙述错误的是()。

A.预处理命令行都必须以#号开始

B.#definePER1.5的作用是用标识符PER代表1.5

C.C语言源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率

D.宏定义可出现在源程序中任意合适的位置,且必须在行末加分号

74、以下程序的运行结果是()

#defineADD(x)x+x

main()

{

intm=1,n=2,k;

k=ADD(m+n)*3;

printf("%d",k);

}

A.9B.10C.12D.18

75、下面程序的运行结果是()

#defineM10

#defineS(x)x*x

#defineF(x)(x*x)

main()

{

intn1,n2;

n1=1000/S(M);

n2=1000/F(M);

printf("%d,%d\n",n1,n2);

}

A.10,10B.1000,10C.10,1000D.1000,1000

76.在对无符号数的位运算中,操作数左移一位相当于()。

A.操作数除以2B.操作数乘以2C.操作数除以4D.操作数乘以4

77.若有定义:

inta=20,b=28,c;则执行语句c=(a^b)<<2;后c的值为()。

A.2B.5C.32D.92

78.若有定义:

inta=5,b=7,c;则执行语句c=a&b;后c的值为()。

A.12B.2C.6D.5

79.下面程序段的运行结果是()。

inta=5,b=6;

printf("%d",a|b);

A.5B.6C.7D.8

80、以下程序段运行后,c的二进制值是()。

inta=2,b=3,c=10;c>>=a|b;

A.00000001B.00000010C.00101000D.01010000

第四章程序控制结构

1、下列程序段的运行结果是()。

inta=6,b=5;

if(a>b++)printf("True:

%d\n",++a);

elseprintf("False:

%d\n",b++);

A.True:

7B.False:

6C.False:

5D.True:

6

2、若已定义inta,b,c,k;下列程序段与语句k=(a>b?

(a>c?

1:

0):

0);功能等价的是()。

A.if((a>b)&&(a>c))k=1;elsek=0;

B.if((a>b)||(a>c))k=1;elsek=0;

C.if(a>b)k=0;elseif(a>c)k=1;elsek=0;

D.if(a>c)k=1;elseif(a>b)k=0;elsek=0;

3、下列程序段的运行结果是()。

intx;if(x=3)printf("%d\n",x++);

elseif(x>3)printf("%d\n",x+2);

elseprintf("%d\n",x+3);

A.4B.5C.6D.3

4、下列()不能当作一条语句。

A.if(k>0)m=1;elsen=2;B.m=1,n=2,k=3;C.if(k>0);D.if(k==0)m=1;n=2;

5、以下程序段运行时,若从键盘输入10,则输出结果是()

inta;

scanf(“%d”,&a);

if(a++>10)

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

else

printf(“%d\n”,++a);

A.2B.11C.3D.12

6、以下程序的运行结果是()

voidmain()

{

intx,y=1,z;

z=-1;

if(z==0)

z=-z;

else

x=y>0?

3:

5;

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

}

A.-1B.3C.1D.5

7、对于整型变量x,下属if语句()与赋值语句:

x=x%2==0?

1:

0;不等价。

A.if(x%2!

=0)x=0;elsex=1;B.if(x%2)x=1;elsex=0;

C.if(x%2==0)x=1;elsex=0;D.if(x%2==1)x=0;elsex=1;

8、以下程序段运行的结果是()

inta,b,c,x;

a=b=c=0;x=15;

if(!

a)x--;

elseif(b);

if(c)x=3;

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

当前位置:首页 > 高等教育 > 军事

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

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