国家二级C语言机试(选择题)模拟试卷385
选择题
1.下列关于二叉树的叙述中,正确的是(B)
A. 叶子结点总是比度为2的结点少一个
B. 叶子结点总是比度为2的结点多一个
C. 叶子结点数是度为2的结点数的两倍
D. 度为2的结点数是度为1的结点数的两倍
解析:由二叉树的性质可以知道在二叉树中叶子结点总是比度为2的结点多一个。
2.若变量已正确定义并赋值,则以下符合C语言语法的表达式是( )。(B)
A. a=a+7;
B. a=7+b+c,a++
C. int(12.3%4)
D. a=a+7=c+b
解析:选项A)是一个C语句,不是表达式;选项B)是利用一个逗号表达式给a赋值;选项C)中的“%”求余运算符,要求两个运算对象都必须是整型;选项D)中,不能用表达式给表达式赋值,但是变量可以给自身赋值,例如:a=a+1。
3.以下选项中合法的实型常量是(A)
A. -914
B. 3.13e-2.1
C. 0
D. 2.0*10
解析:实型常量又称实数或浮点数,一股用小数形式或指数形式来表示。实型常量分为以下两种形式:
①小数形式:小数形式是由数字和小数点组成的一种实数表示形式。例如0.345、123、0.0等是合法的实数。这种表示形式必须要有小数点。
②指数形式:在C语言中,用“e”或“E”后跟一个整数来表示以10为底的幂数。注意:字母“e”或“E”之前必须要有数字,后面的指数必须为整数。选项B)中,e后必须为整数,选项C)没有小数点,而选项D)则出现非法字符*。
4.以下程序运行后的输出结果是( )。
#include<stdio.h>
main()
{ int i=0,j=0,k=0,x=35;
if(i)
x–;
else if(j);
if(k)
x=3;
else x=4;
prinff(\\(A)
A. 4
B. 34
C. 3
D. 35
解析:本题是两个并列的if语句。当int i=0;j=0,k=0,x=35时,i的逻辑值为0,故第一个if语句的条件为假,执行else操作。又因j=0,故第二条if语句if(j)的条件仍为假,不执行任何操作。接着顺序执行至if(k)语句,由于k=0,此if语句的条件仍为假,执行其后的else语句,x=4,故最后x的值为4。
5.以下叙述中正确的是(C)
A. 字符常量在内存中占2个字节
B. 转义字符要用双引号括起来,以便与普通的字符常量区分开
C. 字符常量需要用单引号括起来
D. 字符常量是不能进行关系运算的
解析:在程序中用单引号把一个字符括起来作为字符常量。转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCII字符,这些字符常量也必须括在一对单引号内,和整型常量一样,字符常量也可以进行关系运算的。
6.开发大型软件时,产生困难的根本原因是( )。(A)
A. 大型系统的复杂性
B. 人员知识不足
C. 客观世界千变万化
D. 时间紧、任务重
解析:随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的“软件危机”。
7.假定int类型变量占用2个字节,其有定义:int x[4]={0,2,4};,则数组x在内存中所占的字节数是( )。(C)
A. 3
B. 6
C. 8
D. 20
解析:数组变量存储空间是在定义变量时分配的,不以是否赋值决定,语句intx[4]={0,2,4};定义了具有4个元素的整形数组x,每个元素占用2个字节,共计8个字节。
8.某图书集团数据库中有关系模式R(书店编号,书籍编号,库存数量,部门编号,部门负责人),其中要求
(1)每个书店的每种书籍只在该书店的一个部门销售;
(2)每个书店的每个部门只有一个负责人;
(3)每个书店的每种书籍只有一个库存数量。则关系模式R最高是( )。(B)
A. 1NF
B. 2NF
C. 3NF
D. BCNF
解析:由题可知关系模式R有三个函数依赖:
(书店编号,书籍编号)→部门编号
(书店编号,部门编号)→负责人
(书店编号,书籍编号)→库存数量
由此可知,(书店编号,书籍编号)可以唯一标识关系模式R中的每个元组,因此属于关系模式的主键。在此关系模式中,每个属性都是不可再分的,R属于1NF,且“书店编号”和“书籍编号”单独之一都不能决定其他非主属性,所以R属于2NF;但(书店编号,书籍编号)可以决定“部门编号”,“部门编号”又可决定“部门负责人”,存在传递依赖,所以不属于3NF,更不是BCNF。
9.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(B)
A. 提高耦合性降低内聚性有利于提高模块的独立性
B. 降低耦合性提高内聚性有利于提高模块的独立性
C. 耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D. 内聚性是指模块间互相连接的紧密程度
解析:耦合性是反映模块间互相连接的紧密程度,内聚性是指一个模块内部各个元素间彼此接合的紧密程序。提高模块的内聚性,降低模块的耦合性是有利于模块的独立性。
10.数据流图中带有箭头的线段表示的是(D)
A. 控制流
B. 事件驱动
C. 模块调用
D. 数据流
解析:数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。
11.下面对对象概念描述正确的是(A)
A. 对象间的通信靠消息传递
B. 对象是名字和方法的封装体
C. 任何对象必须有继承性
D. 3寸象的多态性是指一个对象有多个操作
解析:对象是面向对象方法中最基本的概念,操作描述了对象执行的功能,通过消息传递,还可以为其他对象使用。操怍过程是被封装在对象中,用户看不到,称之为对象的封装性。对象的多态性是指同一个操作可以是小同对象的行为。不是所有的对象都必须有继承性。
12.以下选项中,值为1的表达式是( )。(B)
A. 1-’0’
B. 1-’\0’
C. ’1’-0
D. ’\0’-’0’
解析:’\0’,空值,其ASCII码值为0,所以B选项的值为1。字符’0’的ASCII码值为48,所以A、C、D选项的值均不为1。
13.以下正确的字符串常量是( )。(D)
A. \\\
B. ’abc’
C. Olympic Games
D. \\
解析:本题考查的知识点是字符串常量。在C语言中,字符串常量是以双引号括起来的字符序列,因此B选项和C选项不正确。字符序列中可包含一些转义字符,转义字符都是以“\”开头的。A选
本文档预览:3600字符,共13369字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载