国家二级C语言机试(C语言程序设计)模拟试卷8 (题后含答案及解析)
题型有:1. 选择题
选择题
1. 我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
A.一条C语句可能会被转换成多条机器指令
B.一条C语句对应转换成一条机器指令
C.一条C语句可能会被转换成零条机器指令
D.某种类型和格式的C语句被转换成机器指令的条数是固定的
正确答案:B
解析:由C语言编写的程序,通过编译,链接转换成可以让机器识别的01二进制指令。这些二
进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。 知识模块:C语言程序设计
2. 以下选项中不属于C语言程序运算符的是
A.sizeof
B.(  )
C.
D.&&
正确答案:C
解析:sizeof为测试内存的运算符,(  )为算术运算符,&&为逻辑运算符。而<>不是C语言的运算符,C语言中!=表示不等于。 知识模块:C语言程序设计
3. 若变量己正确定义并赋值,以下不能构成C语句的选项是
A.A=a+b;
B.B++;
C.a=a+b
D.A?a:b;
正确答案:C
解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。 知识模块:C语言程序设计
4. 以下叙述中正确的是
A.程序必须包含所有三种基本结构才能成为一种算法
B.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达
C.只有简单算法才能在有限的操作步骤之后结束
D.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令
正确答案:D
解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来描述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。 知识模块:C语言程序设计
5. 下列选项中,不能用作标识符的是
A._1234_
B._1_2
C.int_2_
D.2_int_
正确答案:D
解析:C语言中标识符必须以字母或者下划线开始,选项D中是以数字开始的不能作为标识符。 知识模块:C语言程序设计
6. 以下选项中作为C语言合法常量的是
A.-80.
B.-080
C.-8e1.0
D.-80.0e
正确答案:A
解析:本题考查C语言中的常量,C语言中字母e或E之前必须有数字,且e或E后面的指数必须为整数。选项A表示负数-80;选项B中以数字0开始表示的是八进制数,八进制数数字范
围是从0.7,不包括8;选项C是一个指数浮点,字母e后面应该是整型指数;选项D中字母e后面没有整数,不满足C规范。 知识模块:C语言程序设计
7. 以下不能定义为用户标识符是
A.Main
B._0
C._int
D.sizeof
正确答案:D
解析:本题考查用户标识符,C语言中用户标识符只能由字母和数字组成,且必须以字母开头,不能和C语言的关键字相同。选项A、B和C都符合要求,选项D中的sizeof是C语言关键字,不能作为用户标识符。 知识模块:C语言程序设计
8. 以下选项中,不能作为合法常量的是
A.1.234e04
B.1.234e0.4
C.1.234e+4
D.1.23E+00
正确答案:B
解析:本题考查C语言中的常量,C语言中字母e或E之前必须有数字,且e或E后面的指数必须为整数。选项B中字母e后面是浮点数,错误,其他选项都是正确的常量。 知识模块:C语言程序设计
9. 可在C程序中用作用户标识符的一组标识符是
A.and_2007
B.Datey-m-d
C.HiDr.Tom
D.caseBigl
正确答案:A
解析:本题考查用户标识符,C语言中,用户标识符只能由字母、下划线和数组组成,且必须以字母或者下划线开始。选项A正确;选项B中使用了字符“-”;选项C使用了字符“.”;选项D中的case是C语言关键字,不能作为用户标识符。 知识模块:C语言程序设计
10. 以下C语言用户标识符中,不合法的是
A._1
B.AaBc
C.a_b
D.a--b
正确答案:D
解析:本题考查用户标识符,C语言中,用户标识符只能由字母、下划线和数组组成,且必须以字母或者下划线开始。选项A、B和C都是正确的,选项D中的case是C语言关键字,不能作为用户标识符。 知识模块:C语言程序设计
11. 以下选项中不能用作C程序合法常量的是
A.1,234
B.\123
C.123
D.\x7G
正确答案:A
解析:本题考查C语言中的常量。选项A错误,多了逗号;选项B是字符常量;选项C是整型常量;选项D是字符常量。 知识模块:C语言程序设计
12. 关于C语言中数的表示,以下叙述正确的是
A.只要允许范围内整型数和实型数都能精确的表示
B.只有整型数在允许范围内能精确无误的表示,实型数会有误差
C.只有实型数在允许范围内能精确无误的表示,整型数会有误差
D.只有用八进制表示的数才不会有误差
正确答案:C
解析:本题考查C语言基本数据类型,整型数是有范围的,只在允许的范围内才能精确无误的表示,实型数由于存储长度限制存在误差。 知识模块:C语言程序设计
13. 设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是
A.x*;printf(%d\n,x);
B.*x;printf(%d\n,x);
C.n=x*;print(%d\n,n);
D.n=*x;print(%d\n,n);
正确答案:C
解析:本题考查自增运算符。++在前表示先自增然后使用,++在后面表示先使用然后自增。选项A中首先执行x++,执行完后x自增1,然后printf输出的是x自增后的值;选项B首先执行++x,x的值增加1,接着输出x的值;选项C中++在x的后面,因此n的值是x自增前的值,printf输出的是x自增前的值;选项D中++在x的前面,因此x首先自增,然后再赋值给n,n的值是x自增后的值,输出的也是x自增后的值。 知识模块:C语言程序设计
14. 以下选项中表示一个合法的常量是(说明:符号口表示空格)
A.123E0.2
B.2.7e
C.0999
D.0Xab
正确答案:D
解析:本题考查C语言中的常量。选项A字母E后面必须是整型数,浮点数错误;选项B字母e后面没有整型数;选项C以0开始表示8进制数,8进制数没有9;选项D是一个正确的16进制常数。 知识模块:C语言程序设计 整型常量合法要求
15. 以下选项中不合法的标识符是
A.FOR
B.&a
C.print
D._00
正确答案:B
解析:合法的标识符要满足组成字符为a~z以及A~Z,数字字符0到9和下划线,其中数字不开头,不能是关键字。选项B中,&不属于组成字符,是错误的。 知识模块:C语言程序设计
16. 以下选项中,能用作数据常量的是
A.115L
B.0118
C.1.5e1.5
D.o115
正确答案:A
解析:本题考查常量定义。数据常量可有10进制、8进制、16进制、指数法等,8进制数字为0-7,第一个字符为0,而不是o。指数法表示时,指数部分须为整型,选项A中数字后加入L是说明此变量为长整型,是正确的常量表示形式。 知识模块:C语言程序设计
17. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
A.连接符
B.大写字母
C.数字字符
D.下划线
正确答案:A
解析:在C语言中,合法标识符的命令规则是:标识符可以由字母、数字或下划线组成,并且第一个字符必须为字母或下划线。在C语言的标识符中,大写字母和小写字母被认为是两个不同的字符。选项A是连字符,不在C语言规定的命名变量标识符的范围内。 知识模块:C语言程序设计
18. 以下选项中,能用作用户标识符的是
A._0,
B.8_8
C.void
D.unsigned
正确答案:A
解析:在C语言中,用户的标识符只能由字母或下划线开始。一般强调文见其义的命名方法。但是C语言中的保留字不能用作用户的标识符。而选项C和D全部为保留字,选项B中以数字开头,这些都不正确。 知识模块:C语言程序设计