一、选择题(每小题1分,共40分)
(1)下列叙述中正确的是( )。
A.算法就是程序
B.设计算法时只需要考虑数据结构的设计
C.设计算法时只需要考虑结果的可靠性
D.以上三种说法都不对
(2)下列叙述中正确的是( )。
A.有一个以上根结点的数据结构不一定是非线性结构
B.只有一个根结点的数据结构不一定是线性结构
C.循环链表是非线性结构
D.双向链表是非线性结构
(3)下列关于二叉树的叙述中,正确的是( )。
A.叶子结点总是比度为2的结点少一个
B.叶子结点总是比度为2的结点多一个
C.叶子结点数是度为2的结点数的两倍
D.度为2的结点数是度为1的结点数的两倍
(4)软件生命周期中的活动不包括( )。
A.市场调研
B.需求分析
C.软件测试
D.软件维护
(5)某系统总体结构图如下图所示:
该系统总体结构图的深度是( )。
A.7
B.6
C.3
D.2
(6)程序调试的任务是( )。
A.设计测试用例
B.验证程序的正确性
C.发现程序中的错误
D.诊断和改正程序中的错误
(7)下列关于数据库设计的叙述中,正确的是( )。
A.在需求分析阶段建立数据字典
B.在概念设计阶段建立数据字典
C.在逻辑设计阶段建立数据字典
D.在物理设计阶段建立数据字典
(8)数据库系统的三级模式不包括( )。
A.概念模式
B.内模式
C.外模式
D.数据模式
(9)有三个关系R、S和T如下:
则由关系R和s得到关系T的操作是( )。
A.自然连接
B.交
C.投影
D.并
(10)下列选项中属于面向对象设计方法主要特征的是( )。
A.继承
B.自顶向下
C.模块化
D.逐步求精
(11)以下叙述中错误的是( )。
A.算法正确的程序可以有零个输入
B.算法正确的程序最终一定会结束
C.算法正确的程序可以有零个输出
D.算法正确的程序对于相同的输入一定有相同的结果(12)以下叙述中正确的是( )。
A.C语句必须在一行内写完
B.C程序中的每一行只能写一条语句
C.C语言程序中的注释必须与语句写在同一行
D.简单C语句必须以分号结束
以下选项中关于C语言常量的叙述错误的是( )。
A.经常被使用的变量可以定义成常量
B.常量分为整型常量、实型常量、字符常量和字符串常量
C.常量可分为数值型常量和非数值型常量.
D.所谓常量,是指在程序运行过程中,其值不能被改变的量
(14)以下选项中,不合法的c语言用户标识符是( )。
A.a_b
B.AaBc
C.f1一一b
D.一1
(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。
A.X…Y5;
B.X=n%2.5;
C.X+n=i;
D.x=5=4+1:
(16)设有定义:
则a和b的值分别是( )。
A.87和6.0
B.876和543.0
C.87和543.0
D.76和543.0
(17)有以下定义语句,编译时会出现编译错误的是( )。
A.char a=’\x2d’;
B.char a=。\n。;
C.char a=…a;
D.char a=”aa”:
(18)当变量c的值不为2、4、6时,值也为”真”的表达式是( )。
A.(c>=2&&c<=6)&&(c%2 1=1)
B.(c==2)l l(e==4)II(C==6)
C.(C>=2&&c<=6)&&!(c%2)-
D.(c>=2&&c<=6)I l(c!=3)I|(C!=5)
(23)以下叙述中错误的是( )。
A.用户定义的函数中可以没有return语句
B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C.用户定义的函数中若没有reillnl语句,则应当定义函数为void类型
D.函数的retU/Tl语句中可以没有表达式
(25)下列选项中,能正确定义数组的语句是( )。
A.int num[0..2008];
B.int lllllll[];
C.int N:2008:
D.#define N 2008int num[N1;int num[N];
一、选择题
(1)D【解析】算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
(2)B【解析】线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以B正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A错误。循环链表和双向链表都是线性结构的数据结构。
(3)B【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B。
(4)A【解析】软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段、需求分析、软件设计、软件实现、软件测试、运行和维护,所以选择A。
(5)C【解析】根据总体结构图可以看出该树的深度为3,比如:XY系统——功能2——功能2.1,就是最深的度数的一个表现。
(6)D【解析】程序调试的任务是诊断和改正程序中的错误。
(7)A【解析】数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。
(8)D【解析】数据库系统的三级模式是概念模式、外模式和内模式,所以选择D。
(9)A【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T中元组可以判断R和s做的是自然连接操作。
(10)A【解析】面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择A。
(11)C【解析】算法的特征:①有穷性。一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。②确定性。算法中的每一步都有确切的含义。③可行性。算法中的操作能够用已经实现的基本运算执行有限次来实现。④输入:一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。⑤输出:一个算法有一个或者多个输出,以反映出数据加工的结果。所以c选项错误。
(12)D【解析】C语句可以跨行来写,但是必须以分号结束,所以A选项错误。c程序中的一行可以有多条语句,所以B选项错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C选项错误。
(13)A【解析】C语言中,常量是指在程序运行过程中其值不能被改变的量,变量是指运行过程中其值可以改变的量,二者不能混淆,所以A选项错误。
(14)C【解析】C语言规定,变量命名必须符合标识符的命名规则,c选项中包含了非法字符“一”,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。
(15)A【解析】B选项中运算符“%”的前后必须为整数,C选项中不能将变量赋给表达式x+n,D选项中不能将表达式4+1赋给常量5。
(16)A【解析】在格式字符前加入一个整数可以指定输入数据所占的宽度,所以赋值时会将87赋给int型变量a,把6.0赋给im型float型变量b。
(17)D【解析】D选项中将字符串常量…aa赋给字符变量a是错误的。
(18)D【解析】逻辑或运算符中只要有一个运算量为真结果就是真,当c>=2&&C<=6条件不成立时c的值肯定不是2、3、4…5 6所以C!=3,与C!=5均成立。所以D选项的结果一定为真。
(19)C【解析】本题重点考查的知识点是:s叫()函数。s叫()函数的作用是计算平方根,要求输出的参数x必须大于等于0。题目公式的要求是无论x大于等于0还是小于0,Y的值都为x绝对值的开方。选项c中调用了sqrt(x)函数,而没有判断X的正负,则Y=m-(x)会出错。
(20)A【勰析】y一一表示Y使用后再自减l。所以最后一次Y的值为0,条件不成立但仍要执行自减操作,Y的值为一1,跳出循环。打印Y的值一1。
2017年计算机二级C语言考前试题及答案3.doc