2017年计算机二级C语言考前练习试题及答案4

时间:2017-03-31 15:22:00   来源:无忧考网     [字体: ]

  (1)计算机能直接执行的程序是( )。

  A.源程序

  B.目标程序

  C.汇编程序

  D.可执行程序

  (2)以下叙述中正确的是( )。

  A.c语言规定必须用main作为主函数名,程序将从此开始执行

  B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

  C.c语言程序将从源程序中第一个函数开始执行、

  D.main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等

  (3)以下选项中可用做c程序合法实数的是( )。、、

  A.3.0e0.2

  B..1e0

  C.E9

  D.9.12E

  (4)下列定义变量的语句中错误的是( )。

  A.int jnt;

  B.double int_;

  C.char For;

  D.float US$;

  (5)表达式:(im)((double)9/2)一9%2的值是( )。

  A.0

  B.3

  C.4

  D.5

  (6)设变量均已正确定义,若要通过

  scaIIf(”%d%c%d%c”,&al,&el,&a2,&c2);

  语句为变量al和a2赋数值l0和20,为变量cl和c2赋字符x和Y。以下所示的输入形式中正确的是( )。(注:口代表空格字符)

  2016年计算机二级C语言考前20天必做题(5)

  (7)以下选项中不能作为c语言合法常量的是( )。.

  A.0.1e+6

  B.’cd’.

  C.”、a”

  D.’\011

  (8)if语句的基本形式是:if(表达式)语句,以下关于“表=迭式”值的叙述中正确的是( )。

  A.必须是逻辑值

  B.必须是整数值

  C.必须是正数

  D.可以是任意合法的数值

  (9)有如下嵌套的if语句:

  2016年计算机二级C语言考前20天必做题(5)

  以下选项中与上述if语句等价的语句是( )。

  A.k=(a

  B.B.:((b>C.?b:

  C.;B.k=(a

  D.k=(a

  (10)有以下程序:

  2016年计算机二级C语言考前20天必做题(5)

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

  A.1

  B.2

  C.4

  D.死循环

  (11)以下关于结构化程序设计的叙述中正确的是( )。

  A.结构化程序使用goto语句会很便捷

  B.在c语言中,程序的模块化是利用函数实现的

  C.一个结构化程序必须同时由顺序、分支、循环三种结构组成

  D.由三种基本结构构成的程序只能解决小规模的问题

  (12)对于一个正常运行的C程序,以下叙述中正确的是( )。

  A.程序的执行总是从main函数开始,在程序的最后一个函数中结束

  B.程序的执行总是从程序的第一个函数开始,在main函数结束.

  C.程序的执行总是从main函数开始、

  D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

  (13)以下选项中能表示合法常量的是( )。

  A.1,200

  B.1.5E2.0

  C.”\”

  D.”\007”

  (14)以下定义语句中正确的是( )。

  A.int a=b=0;

  B.char A=65+1,b=’b’;

  C.float a=1,*b=*a,*C=&b;

  D.double a=0.0;b=1.1;

  (15)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )。

  A.X+1=y

  B.++X.Y=X一一

  C.X=X+10=X+Y

  D.double(X)/10

  若变量已正确定义为int型,要通过语句:scanf(”%d,%d,%d”,&a,&b,&C.;给a赋值l、给b赋值2、给C赋值3,以下输入形式中错误的是( )。(注:口代表一个空格符)

  2016年计算机二级C语言考前20天必做题(5)

  (17)以下不能输出字符A的语句是( )。(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)

  2016年计算机二级C语言考前20天必做题(5)

  若a是数值类型,则逻辑表达式(a==1)I l(a!=1)的值是( )。.

  A.1

  B.0

  C.2

  D.不知道a的值,不能确定

  (19)设有定义:

  int a=1,b=2,C=3;

  以下语句中执行效果与其他三个不同的是( )。

  if(a>B.C=a,a=b,b=C;

  B.if(a>B.{C=a,a=b,b=C;}

  C.if(a>B.C=a;a=b;b=c;

  D.if(a>B.{C=a;a=b;b=c;}

  (20)有以下程序:

  2016年计算机二级C语言考前20天必做题(5)

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

  A.y=OS)y=一1

  B.0

  C.y=1

  D.while构成无限循环

 

 

  (1)D【解析】计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择D选项。

  (2)A【解析】C语言中的主函数只能是main()函数,不能任意指定,所以B选项错误。C语言从主函数main()开始,到主函数main()结束,所以C选项错误。主函数必须写成小写的main,不能混淆大小写,所以D选项错误。

  (3)B【解析】A选项中e后面的指数必须为整数,所以错误。C语言规定,E之前必须要有数字,所以c选项错误。E后面必须要有数字,且必须为整数,所以D选项错误。

  (4)D【解析】C语言规定,变量命名必须符合标识符的命名规则。D选项中包含了非法字符“$”,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。大写字符与小写字符被认为是两个不同的字符,所以For不是关键字for。

  (5)B【解析】先将整型数据9强制转换成doub1e型,然后除以2得到的结果与doub1e型保持一致,即为4.5,然后将4.5强制转换成整型数据4,然后计算9%2的值为1,最后计算4一1的值为3,所以选择B选项。

  (6)C【解析】输入数据的格式必须与scanf()的格式控制串完全匹配,如果A、B、c选项中在数字10后面均输入了空格,则会将空格赋给变量c1,而不是把x赋给c1,所以选择C选项。

  (7)B【解析】要想表示字符串常量应该用双引号表示,即“cd”,单引号用于表示字符常量,所以B选项中的表示方法错误。

  (8)D【解析】if语句中的表达式可以是任意合法的数值,如常量、变量表达式。所以D选项正确。

  (9)B【解析】题目中嵌套语句的含义是当a

  (10)A【解析】一一k先自减再使用,所以第一次判断条件即为whi1e(4),条件为真,执行打印k的值k=4—3,结果为1;第二次判断条件即为whi1e(0),条件为假,结束循环,打印回车换行符。所以选择A选项。

  (11)B【解析1滥用90t0语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。—个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。

  (12)C【解析】任何一个c程序都是从主函数main开始,至主函数main结束,所以选择c选项。

  (13)D【解析1A选项中整型常量应表示为1200,不能包含“。”。B选项中E后面的指数必须为整数。C选项中转义字符以“、”开始,若要表示字符“、”,应写为“、、”。

  (14)B【解析】A选项语句中b变量还没有定义不能直接用于给a变量赋值。c选项语句中·b、-c表示的是一个实句中a=0.0后面应该为逗号,不能是分号。

  (15)B【解析】A选项中不能将变量Y赋给表达式,c选项中错误与A选项一样,D选项中强制类型转换表达式应写成(doub1e)x/10。

  (16)D【解析】scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符;以保证匹配。所以逗号必须输入。

  (17)B【解析】B选项输出的格式为%d,即为整型格式,所以输出字符A的ASCI1码值65,而不是字符A。由于大写字母比与其对应的小写字母的ASCI1码值小32,所以A正确。字符A的ASCI1码值就是65,所以以%C格式输出可以输出字符A,所以c正确。由于字符A的ASCI1码值比字符B的小1,所以D正确。

  (18)A【解析】逻辑或”I|”要求只要两边的运算对象有一个非零,结果就为真。虽然不知道a的值,但是若a为1,则左边运算对象为1;若a的值不是1,则右边运算对象的值为1,所以总能保证一边非零,所以结果为真,即1。

  (19)C【解析】由于a小于b,所以所有选项中的条件都为假,C选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,所以什么也没有做,所以选择C选项。

  (20)B【解析】执行Y一一直到值为0,由于Y一一是先用再减,所以退出循环时,y的值为一1。