admin 管理员组文章数量: 887021
2023年12月16日发(作者:特效素材网免费大全)
国家二级C语言机试(C语言基础知识)模拟试卷17
(总分:50.00,做题时间:90分钟)
一、 选择题(总题数:25,分数:50.00)
操作系统中的文件系统是如何组织的?( )
(分数:2.00)
A.拓扑结构
B.网状结构
C.环形结构
D.树形结构 √
解析:解析:DOS操作系统中文件系统是树形结构组织的。
2.关于C程序的编译和运行,以下叙述中错误的是( )。
(分数:2.00)
A.C语言源代码程序通过编译、链接步骤之后才能形成一个可执行文件
B.用C语言编写的程序是以ASCⅡ代码形式存放在一个文本文件中
C.C语言中的所有语句都将被转换成二进制的机器指令 √
D.C语言源程序经编译后生成后缀为.obj的目标程序
解析:解析:C语言中的某些语句并不会被转换成二进制机器指令,如宏定义命令,在预编译之后替换到代码中,该命令本身也就不存在了,不会转换成二进制的机器指令。C语言编写的源程序就是以ASCⅡ的形式存放在文本文件中的。C源程序经过C编译程序编译之后生成一个后缀为.obj的二进制文件(称为目标文件),然后由称为“链接程序”的软件,因此.obj文件与C语言提供的各种库函数链接起来生成一个后缀为.EXE的可执行文件。
3.计算机程序设计的模块化一般是哪一项实现的?( )
(分数:2.00)
A.语句
B.程序行
C.函数 √
D.变量
解析:解析:用函数作为程序模块以实现C程序的模块化,程序有多个函数构成,每个函数可以实现一个具体的功能,多个函数便可以实现程序的模块化设计。
4.关于结构化程序设计的叙述中正确的是( )。
(分数:2.00)
A.由三种基本结构构成的程序只能解决小规模的问题
B.一个结构化程序必须同时由顺序、分支、循环三种结构组成
C.结构化程序使用goto语句会很便捷
D.在C语言中,程序的模块化是利用函数实现的 √
解析:解析:C语言是结构化程序设计语言,顺序结构、选择结构、循环结构是结构化程序设计的三种基本结构,研究证明任何程序都可以由这三种基本结构组成。但是程序可以包含一种或者几种结构,不是必须包含全部三种结构。自从提倡结构化设计以来,goto就成了有争议的语句。首先,由于goto语句可以灵活跳转,有时它的确会破坏结构化设计风格;其次,goto语句经常带来错误或隐患。它可能跳过了某些对象的构造、变量的初始化、重要的计算等语句。goto语句的使用会使程序容易发生错误并且也不易阅读,所以应避免使用。由三种基本结构构成的程序几乎能解决大部分问题。
5.合法的C语言常量是( )。
(分数:2.00)
A.-20. √
B.-020
C.-2el.0
D.-20.0e
解析:解析:C语言常量指数表达式中字母e或E之前必须有数字,且e或E后面的指数必须为整数。
6.非法的C语言常量是( )。
(分数:2.00)
A.6.123e04
B.6.234e0.4 √
C.6.234e+4
D.6.234e0
解析:解析:C语言常量指数表达式中字母e或E之前必须有数字,且e或E后面的指数必须为整数。选项B中字母e后面是浮点数,错误,其他选项都是正确的常量。
7.不合法的用户标识符是( )。
(分数:2.00)
A._a
C.x_b
D.a--b √
解析:解析:用户标识符只能由字母、下划线和数字组成,且必须以字母或者下划线开始。选项A、B和C都是正确的,选项D中的一字符不能作为用户标识符,是错误的。
8.关于数的表示的叙述中正确的是( )。
(分数:2.00)
A.只有用八进制表示的数才不会有误差
B.只有整型数在允许范围内能精确无误的表示,实型数会有误差 √
C.只有实型数在允许范围内能精确无误的表示,整型数会有误差
D.只要允许范围内整型数和实型数都能精确的表示
解析:解析:在C语言的数据类型中,整型数是有范围的,只在允许的范围内才能精确无误的表示,实型数由于存储长度限制存在一定的误差,但在通常使用时,误差不影响使用。
9.合法的C语言常量是( )。
(分数:2.00)
A.432E0.2
B.1.7e
C.03249
√
解析:解析:本题考查C语言中的常量表达式。选项A字母E后面必须是整型数,浮点数错误;选项B字母e后面没有整型数;选项C以0开始表示八进制数,八进制数没有9;选项D是一个正确的十六进制常数。
10.合法的C语言数据常量是( )。
(分数:2.00)
A.123L √
B.0328
C.2.5e1.2
D.o225
解析:解析:本题考查常量定义。数据常量可有十进制、八进制、十六进制、指数法等,八进制数字为0~7,第一个字符为0,而不是0。指数法表示时,指数部分须为整型,选项A中数字后加入L是说明此变量为长整型,是正确的常量表示形式。
11.合法的C语言标识符是( )。
(分数:2.00)
A._1_ √
B.2_8
ed
解析:解析:用户的标识符只能由字母或下划线开始,其他任何字符开始均会出错。一般强调文见其义的命名方法。但是C语言中的保留字不能用作用户的标识符。而选项C和D全部为保留字,选项B中以数字开头,这些都不正确。
12.关于C语言常量的叙述中错误的是( )。
(分数:2.00)
A.所谓常量,是指在程序运行过程中,其值不能被改变的量
B.经常被使用的变量可以定义成常量 √
C.常量可分为数值型常量和非数值型常量
D.常量分为整型常量、实型常量、字符常量和字符串常量
解析:解析:C语言中的常量指在程序运行过程中,其值不能被改变的量。常量分为整型常量(即整常数)、实型常量、字符型常量和字符串常量。常量也可以按数据类型分为数据常量和非数据常量。变量是指在程序运行过程中,其值能被改变的量。
13.合法的C语言数值常量是( )。
(分数:2.00)
A.21.0 Xa33 4.5e0 √
B.018.5e-3-0xf
C..134 4el.5 0abc
D.0x8A 10,000 3.e5
解析:解析:C语言常量数制中的八进制数其开头必须是数字“0”,其数字包括0~7,而在选项B中,018是错误的。浮点数据的指数形式表示常量中,C语言规定字母e或E之前必须要有数字,且e或E之后的指数必须为整,而选项C中4e1.5是错误的。在选项D中,整型数据10,000的表示形式是错误的。
14.关于C语言数制的叙述中正确的是( )。
(分数:2.00)
A.英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符
B.八进制数的开头要使用英文字母o,否则不能与十进制区分开
C.整型变量可以分为int型、short型、long型和unsigned型四种 √
D.在C程序中的八进制和十六进制,可以是浮点数
解析:解析:C语言的整型变量有:①基本型:以int表示。②短整型:以short int表示,或以short表示。③长整型:以long int表示,或以long表示。④无符号型:以unsigned int表示,选项C正确,实型常量仅有十进制表示形式,八进制以数字。开头,十六进制开头为Ox或者OX,不是二进制。
15.合法的C语言实数是( )。
(分数:2.00)
A.1.0e0.2
B.E12
C..3e0 √
D.2.12E
解析:解析:C语言用指数形式表示的实数,需要注意的是字母e或E之前必须要有数字,且字母e或E后面的指数必须为整数。
16.不是C语言字符常量的是( )。
(分数:2.00)
A.'C'
B.''C'' √
C.'\xCC'
D.'\072'
解析:解析:选项A正确,是大写字母C;选项B错误,使用双引号括起来的是字符串,不是字符;选项C正确,使用了转义字符“\”,xCC表示16进制的CC;选项D正确,使用了转义字符“\”,072表示八进制的72。
17.不合法的C语言字符常量是( )。
(分数:2.00)
A.'\028' √
B.'\35'
C.'\xdf'
D.'\101'
解析:解析:选项A错误,表达式拟使用八进制数,但八进制数字的范围是0~7,没有8,选项B、C和D正确。
18.不合法的C语言字符常量是( )。
(分数:2.00)
A.'x'
B.'\\'
C.'\018' √
D.'\xcc'
解析:解析:在C语言中,每个字符常量代表ASⅡ字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。转义字符常量也是必须括在一对单引号内,以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCⅡ字符。选项C中,'/018'是用八进制数来代表一个字符常量,但其中的数字只能是0~7,并不包括8。
19.若int x=12,y=8,z;在其后执行语句z=0.9+x/y;则z的值为( )。
(分数:2.00)
A.0.1
B.1 √
C.2
D.1.4
解析:解析:C语言的整型数会丢掉小数后的任何数,由于x,y,z都是整型数据,所以x除以y的值为整型数值1,1和0.9相加得到1.9,再转换为整型数1赋给整型变量z。
20.39.有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是( )。
(分数:2.00)
A.a%(int)(x一y) √
B.a=x<>y
C.(a*y)%b
D.y=x+y=x
解析:解析:选项B中<>运算符不存在,选项C中double类型不能进行余(%)操作,要求两个运算数必须是整数,选项D中x+y=x错误。
21.设int a=2,b=3,c=4;,则以下选项中值为0的表达式是( )。
(分数:2.00)
A.(!a==1)&(!b=0) √
B.a&b
C.(a<b)&!c‖1
D.a‖(b+b)||(c—a)
解析:解析:C语言中的逻辑运算主要要看运算符的优先级。选项A中,(!a==1)中!运算优先级比==高,因此!a为假,然后再和1比较是否相等,因此整个表达式的结果为假,(!a==1)和(!b==0)是与的关系,前面的表达式为假,整个表达式结果就是假,选项C中a<b为真,!c值为假,(a<b)&!c值为假,(a<b)&!c|||为真;选项B中a&b的值为2;选项D中a的值为真,表达式的结果为真。
22.设int k=0:以下选项的四个表达式中与其他三个表达式的值不相同的是( )。
(分数:2.00)
A.k++ √
B.k+1
C.++k
D.k+=1
解析:解析:选项B、C、D都是对k的值加1,选项A的语句k++表示先利用k的值进行运算,然后k值才加1。
23.以下程序的输出结果是( )。 #include main(){int a=0,b=0,c=0 c=(a+=++b,b+=4); printf(''%d,%d,%d\n'',a,b,c);}
(分数:2.00)
A.1,4,1
B.一1,5,4
C.1,5,5 √
D.一1,4,一1
解析:解析:对于语句(a+=++b,b+=4),首先计算“a=a+(++b)”,a,b初值为0,则计算以后a为1,b为1,然后计算b+=4,得到b的值为5,此时表达式b+=4的值为整个逗号表达式的值,因此c的值为5。
24.结果为“假”的表达式是( )。
(分数:2.00)
A.(3<4)==1
B.(3+3)>5
C.(3!=4)>2 √
D.3<=4
解析:解析:关系表达式和逻辑表达式的结果为非零或者0,其中0表示假,而非零表示真,3!=4的结果为真,即1,1>2的结果为假。
25.关于逻辑运算符的叙述中正确的是( )。
(分数:2.00)
A.由&&构成的逻辑表达式与由‖构成的逻辑表达式都有“短路”现象 √
B.逻辑“或”(即运算符‖)的运算级别比算术运算要高
C.逻辑“非”(即运算符!)的运算级别是最低的
D.C语言的关系表达式:0<x
解析:解析:逻辑表达式的运算比较复杂,有短路现象,也就是首先计算“逻辑与”或者“逻辑或”运算的第一个运算量的值,根据表达式的值决定是否进行第二个量的值的计算。“逻辑与”和“逻辑或”运算低于关系运算和算术运算。但是“逻辑非”运算却高于算术运算。
版权声明:本文标题:国家二级C语言机试(C语言基础知识)模拟试卷17 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702702134h427382.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论