第 1 页:试题 |
第 2 页:参考答案 |
1.A。【解析】从软件工程角度看,软件设计分为概要设计和详细设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构;详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库。
2.D。【解析】数据的存储结构是指数据结构(数据的逻辑结构)在计算机中的表示,又称物理结构。数据的存储结构有顺序存储结构和链式存储结构两种。不同存储结构的数据处理效率不同。根据以上分析可知,D选项为正确答案。
3.B。【解析】满二叉树指除最后一层外,每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干叶子结点的二叉树。因此选项A叙述正确,而选项B叙述错误。由定义可知,满二叉树肯定是完全二叉树,而完全二叉树一般不是满二叉树。
4.B。【解析】根据栈先进后出的特点可知el肯定是最后出栈的,因此正确答案为选项B。
5.A。【解析】软件调试方法有:强行排错法、回溯法、原因排除法。
6.A。【解析】在E—R图中,矩形表示实体;菱形表示联系名;椭圆形表示实体的属性。
7.C。【解析】关系模型较格式化模型(网状模型和层次模型)有以下几个优点:数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。
8.C。【解析】对线性表进行顺序查找,最坏情况下,如果从表头进行查找,要查找到表尾才能得出结果,因此需要比较n次。
9.A。【解析】数据流图简称DFD,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有4种基本图形符号:①箭头,表示数据流;②圆或椭圆,表示加工;③双杠,表示存储文件(数据源);④方框,表示数据的源点或终点。
10.A。【解析】从数据库的概念中可以看到,所谓数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。因此进行数据库设计的根本目标还是为了解决数据共享问题。
11.C。【解析】本题考查实型常数的指数表示法,可以肯定的是指数不能为小数即必须为整数。由于符号E前面必须有数字。D在指数符号后面没有数字,是错误的。
12.A。【解析】C++语言标识符只能由数字、字母和下画线组成,并且只能以字母和下画线为开头。
13.C。【解析】内联函数不是定义在另一个函数体内部的函数,而是将inline放在函数定义中函数类型之前;函数体的最后一条语句可以是任意的语句;编译器不会根据函数返回值的类型来区分重载形式,选项D错误。标准C++要求在调用一个函数之前,必须先声明其原型。
14.B。【解析】d0…while语句的一般格式为“d0循环体语句while(表达式);”,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行x=x-2,即为1。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为0,结束循环。
15.C。【解析】本题考核选择语句与循环语句的嵌套。由程序可知,当x=16时,满足if条件表达式,进入if分支,执行“x++;break;”,所以最后程序输出x的值为17。
16.B。【解析】p表示的是变量a的地址,定义后*P表示的是变量a的值。
17.B。【解析】拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它不能指定函数返回类型;只有一个参数,是同类的某个对象名的引用。每一个类中都必须有一个拷贝构造函数,如果类中未声明,编译器会自动生成一个公有的拷贝构造函数。
18.D。【解析】本题考查数学表达式的掌握,首先应转换为弧度,然后作为cos函数的参数求绝对值,最后是开方函数。考生需要掌握的是常用的数学函数。
19.D。【解析】如果函数实参是数组名,形参也应为数组名,函数swap中形参进行了交换。实际上也是实参进行了交换。而且数组名代表数组首元素的地址,并不是代表数组的全部元素。所以,swap(b,2)是数组b第一个元素与第二个元素进行交换,即b[0]与b[1],根据题干,知道答案为2,1。
20.B。【解析】本题考查函数中变量的作用范围,在主函数中给变量x,y,z赋值,然后将其作为实参传递给了函数fun,虽然在函数fun中改变了这3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数fun结束后,主函数3个变量的值未改变。
21.A。【解析】“constint*P;”是只能改变指针地址,“int*constP;”是只能改变*P的内容,“constint*constP;”是指针的地址和*P的内容都不能改变,“int*P;”是两者都能改变。
22.B。【解析】本题考查运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则“c1.operator+(c2)”,与“c1+c2”含义相同。如果+作为该类的非成员函数重载,则“operator+(c1,c2)”与“c1+c2”含义相同。同理,运算符“/”作为友元函数重载,则“(--x)/y”与表达式“operator/((--x),y)”相同。前缀运算符“--”作为友元函数重载,则“--X与operator--(x)”相同,所以组合起来是“0perator/(operator--(x),y);”,即B选项。
23.B。【解析】由程序中的主函数main入手,分别调用fun1,fun2,fun3函数,得出输出结果。其中,3个函数都是实现的两个形参的交换功能,只是值传递的方式不同,有的是引用,有的是传值。第一个函数中参数采用的是值传递的方式,形参的变化不影响实参。所以d调用funl后,实参a和b并没有交换,仍然是AB。第二个调用中,实参a采用的是地址,即传递的是地址,所以形参a的改变会影响实参a的值,即BB。同理,调用fun3后为BA。
24.C。【解析】类A,类B,中都有showa函数,类C继承后再次重写showa函数就解决了继承的二义性,这时C.showa函数显示的就是类C中的showa的值。
25.B。【解析】本题考查逻辑表达式的结合特性,即左结合性。对于表达式a>b>e,首先判断a>b为真,结果为1,然后判断1>e,为假,故转去判断c-1>=d是否成立,成立,结果为1,再判断l=1,结果为真,因此,执行d+1,答案为B。
26.B。【解析】由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(inta,intb){x=a;Y=b;}”,然后调用成员函数disp(),则输出为“cout<<"x="<
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: