当前位置:文档之家› 国家二级C语言机试(C语言基础知识)模拟试卷8

国家二级C语言机试(C语言基础知识)模拟试卷8

国家二级C语言机试(C语言基础知识)模拟试卷8(总分:60.00,做题时间:90分钟)一、选择题(总题数:30,分数:60.00)1.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。

关于转换以下说法错误的是(分数:2.00)A.一条C语句可能会被转换成多条机器指令B.一条C语句对应转换成一条机器指令√C.一条C语句可能会被转换成零条机器指令D.某种类型和格式的C语句被转换成机器指令的条数是固定的解析:解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。

这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。

2.以下选项中不属于C语言程序运算符的是(分数:2.00)A.sizeofB.()C.<> √D.&&解析:解析:sizeof为测试内存的运算符,()为算术运算符,&&为逻辑运算符。

而<>不是C语言的运算符,C语言中!=表示不等于。

3.若变量已正确定义并赋值,以下不能构成C语句的选项是(分数:2.00)A.A=a+b:B.B++;C.a=a+b √D.A?a:b;解析:解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。

4.以下叙述中正确的是(分数:2.00)A.程序必须包含所有三种基本结构才能成为一种算法B.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达C.只有简单算法才能在有限的操作步骤之后结束D.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令√解析:解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来捕述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。

由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。

5.下列选项中,不能用作标识符的是(分数:2.00)A._1234B._1_2C.int_2_D.2_int_ √解析:解析:C语言中标以符必须以字母或者下划线开始,选项D)中是以数字开始的不能作为标识符。

6.以下选项中作为C语言合法常量的是(分数:2.00)A.-80.√B.-080C.-8e1.0D.-80.0e解析:解析:本题考查C语言中的常量,C语言中字母e或E之前必须有数字,且e或E后面的指数必须为整数。

选项A)表示负数-80;选项B)中以数字0开始表示的是八进制数,八进制数数字范围是从0-7,不包括8;选项C)是一个指数浮点,字母e后面应该是整型指数;选项D)中宁母e后而没有整数,不满足C规范。

7.以下不能定义为用户标识符是(分数:2.00)A.MainB._0C._intD.sizeof √解析:解析:本题考查用户标识符,C语言中用户标识符只能由字母和数字组成,且必须以宁母开头,不能和C语言的关键字相同。

选项A)、B)和C)都符合要求,选项D)中的sizeof是C语言关键。

不能作为用户标识符。

8.以下选项中,不能作为合法常量的是(分数:2.00)A.1.234e04B.1.234e0.4 √C.1.234e+4D.1.234e0解析:解析:本题考查C语言中的常量,C语言中字母e或E之前必须有数字,且e或E后面的指数必颈为整数。

选项B)中字母e后而是浮点数,错误,其他选项都是正确的常量。

9.可在C程序中用作用户标识符的一组标识符是(分数:2.00)A.and _2007 √B.Date y-m-dC.Hi Dr.TomD.case Bigl解析:解析:本题考查用户标识符,C语言中,用户标识符只能由字母、下划线和数组组成,且必须以字母或者下划线开始。

选项A)正确:选项B)中使用了字符“-”:选项C)使用了字符“.”:选项D)中的case是C语言关键字,不能作为用户标识符。

10.以下C语言用户标识符中,不合法的是(分数:2.00)A._1B.AaBcC.a_bD.a--b √解析:解析:本题考查用户标识符,C语言中,用户标识符只能由字母、下划线和数组组成,且必须以字母或者下划线开始。

选项A)、B)和C)都是正确的,选项D)中的case是C语言关键字,不能作为用户标识符,是错误的。

11.以下选项中不能用作C程序合法常量的是(分数:2.00)A.1.234 √B.'\123'C.123D.\x7G解析:解析:本题考查C语言中的常量。

选项A)错误,多了逗号;选项B)是字符常量:选项C)是整型常量;选项D)是字符常量。

12.关于C语言中数的表示,以下叙述正确的是(分数:2.00)A.只要允许范围内整型数和实型数都能精确的表示B.只有整型数在允许范围内能精确无误的表示,实型数会有误差C.只有实型数在允许范围内能精确无误的表示,整型数会有误差√D.只有用八进制表示的数才不会有误差解析:解析:本题考查C语言基本数据类型,整型数是有范围的,只在允许的范围内才能精确无误的表示,实型数由于存储长度限制存在误差。

13.设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是(分数:2.00)A.x++;printf("%d\n",x);B.++x;printf("%d\n",x);C.n=x++;printf("%d\n",n);√D.n=++x;printf("%d\n",n);解析:解析:小题:考查自增运算符。

++在前表示先自增然后使用,++在后而表示先使用然后自增。

选项A)中首先执行x++,执行完后x白增1,然后printf输出的是x自增后的值;选项B)首先执行++x,x的值增加1,接着输出x的值;选项c)中++在x的后面,因此n的值是x自增前的值,printf输出的是x自增前的值;选项D)中++在x的前而,因此x首先自增,然后再赋值给n,n的值是x自增后的值,输出的也是x自增后的值。

14.以下选项中表示一个合法的常量是(说明:符号口表示空格)(分数:2.00)A.123E0.2B.2.D.0Xab √解析:解析:本题考查C语言中的常量。

选项A)字母E后面必须是整型数,浮点数错误;选项B)字母e后而没有整型数;选项C)以0开始表示8进制数,8进制数没有9;选项D)是一个正确的16进制常数。

15.以下选项中不合法的标识符是(分数:2.00)A.FORB.&a √C.printD._00解析:解析:合法的标识符要满足组成字符为a~z以及A~Z,数字字符0到9和下划线,其中数字不开头,不能是关键字。

选项B)中,&不属于组成字符,是错误的。

16.以下选项中,能用作数据常量的是(分数:2.00)A.115L √B.0118C.1.5e1.5D.o115解析:解析:本题考查常量定义。

数据常量可有10进制、8进制、16进制、指数法等,8进制数字为0—7,第一个字符为0,而不是o。

指数法表示时,指数部分须为整型,选项A)中数字后加入L是说明此变量为长整型,是正确的常量表示形式。

17.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(分数:2.00)A.连接符√B.大写字母C.数字字符D.下划线解析:解析:在C语言中,合法标识符的命令规则是:标识符可以由字母、数字或下划线组成,并且第一个字符必须为字母或卜划线。

在C语言的标识符中,大写字母和小写字母被认为是两个不同的字符。

选项A)是连字符,不在c语言规定的命名变量标识符的范围内。

18.以下选项中,能用作用户标识符的是(分数:2.00)A._0_ √B.8_8C.voidD.unsigned解析:解析:在C语言中,用户的标识符只能由字母或下划线开始。

一般强调文见其义的命名方法。

但是c语言中的保留字不能用作用户的标识符。

而选项C)和D)全部为保留字,选项B)中以数字开头,这些都不正确。

19.下列定义变量的语句中错误的是(分数:2.00)A.float US$;√B.double int_;C.char For;D.int_int;解析:解析:C语言规定,变量的标识符只能由字母、数字或下划线3种字符组成,且首字符必须为字母或下划线。

在C语言中大写字母和小写字母被认为是两个不同的字符。

选项B)定义的变量标识符int和选项D)定义的变量标识符int与C浯占的关键字int是不同的,是正确的变量标识。

选项C)定义的变量标识符For与C语言中的关键字for是两个不同的标识符,而存选项A)包含有特殊字符$,因而其不符合C语言的变量命名规定。

20.以下选项中关于C语言常量的叙述错误的是(分数:2.00)A.常量分为整型常量、实型常量、字符常量和字符串常量B.经常被使用的变量可以定义成常量√C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量解析:解析:常量指在程序运行过程中,其值不能被改变的量。

常量分为整型常晕(即整常数)、实型常量、字符型常量和字符串常量。

常量也可以拔数据类型分为为数据常量和非数据常量。

变量是指在程序运行过程中,其值能被改变的量。

21.以下选项中,不合法的C语言用户标识符是(分数:2.00)A.AaBcB.a-b √C.a_bD._1解析:解析:在C语言中的用户标识符只能由字母,数字和下划母组成,并且第一个字符必须是字母或下划线,在选项A)中出现了非法的字符--。

22.以下关于C语言数据类型使用的叙述中错误的是(分数:2.00)A.若要保存带有多位小数的数据,可使用双精度类型B.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型√D.整数类型表示的自然数是准确无误差的解析:解析:存C语言中没有定义逻辑类型,而是用0代表假,用非零代表真。

23.以下选项中不能用作C程序合法常量的是(分数:2.00)A.'\123'B.1,234 √C.123D.\x7D解析:解析:选项B)中的1,234在两侧加双引号才是C程序的合法字符串常量。

24.阅读以下程序#include<stdio.h>main(){int case;float printf;printf("请输入2个数:");scanf("%d%f",&case,&printF);printf("%d%f\n",case,printF);}该程序在编译时产生错误,其出错原因是(分数:2.00)A.定义语句出错,printF不能用作用户自定义标识符B.定义语句出错,case是关键字,不能用作用户自定义标识符√C.定义语句无错,scanf不能作为输入函数使用D.定义语句无错,printf不能输出case的值解析:解析:case是C语言中的一个关键字,不能用作用户标识符来使用,所以这段程序代码在编译时就会出错。

相关主题