《算法设计与分析( 一)》在线平时作业3-00001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.在int a[5]={1,3,5};中,数组元素a[1]的值是( )
A.1
B.0
C.3
D.2
2.建立一个类对象时,系统自动调用( )
A.析构函数
B.构造函数
C.静态函数
D.友元函数
3.在函数中,如果不说明存储类型,默认的存储类型是( )。
A.auto
B.extern
C.register
D.static
4.下列哪一种算法不是随机化算法( )。
A.遗传算法
B.模拟退火算法
C.动态规划算法
D.模特卡罗算法
5.关于delete运算符的下列描述中,( )是错误的。
A.它必须用于new返回的指针
B.它也适用于空指针
C.对一个指针可以使用多次该运算符
D.指针名前只用一对方括号符,不管所删除数组的维数
6.在一个被调用函数中,下面关于return语句使用的描述中,( )是错误的。
A.被调用函数中可以不用return语句
B.被调用函数中可以使用多个return语句
C.被调用函数中,如果有返回值,就一定要有return语句
D.被调用函数中,一个return语句可返回多个值给主函数
7.面向对象程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作
B.信息
C.数据隐藏
D.数据抽象
8.对于变量命名哪个是不正确的( )。
A.不能是C++关键字,第一个字符必须是字母或下划线。
B.不要太长,一般不超过31个字符为宜;不能以数字开头。
C.中间不能有空格;变量名不能包含”. ; + - 之类的特殊符号.
D.大写和小写字母认为是相同的字母。
9.对于任意一个类,析构函数的个数最多为( )个。
A.1
B.2
C.3
D.任意
10.若有定义int x=4,y=5;,则表达式y>x++?x--:y++的值为( )
A.3
B.4
C.5
D.6
11.下列关于类成员对象构造函数调用顺序的叙述中,正确的是( )
A.与他们在初始化列表中的顺序相同
B.与它们在类中声明的顺序相同
C.与析构函数调用顺序相同
D.顺序不确定
12.与分治法不同的是,适合于用动态规划求解的问题( )。
A.经分解得到子问题往往不是互相独立的
B.经分解得到子问题往往是互相独立的
C.经分解得到子问题往往是互相交叉的
D.经分解得到子问题往往是任意的
13.设有a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为( )。
A.0
B.1
C.7
D.2
14.关于函数中的返回类型,表达错误的是( ) 。
A.返回类型中有可能包含关键字int
B.返回类型中有可能包含自定义标识符
C.返回类型中有可能包含字符*
D.返回类型中有可能包含[]
15.下面不是动态规划算法基本步骤的是( )。
A.找出最优解的性质
B.构造最优解
C.算出最优解
D.定义最优解
16.有如下语句序列:int x=100,&r=x; cout<<x<<’-’<<r<<endl;已知其中变量x的地址为0012FF7C,则执行语句序列的输出结果为( )
A.100-100
B.100-0012FF7C
C.0012FF7C-100
D.0012FF7C-0012FF7C
17.当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是( )。
A.任何
B.公有和保护
C.保护和私有
D.私有
18.下列各描述中,( )是正确的。
A.不是每个C++程序都必须包含预处理命令#include<iostream.h>
B.C++程序必须有return语句
C.C++程序中的变量必须都定义在主程序内部
D.C++程序中所使用的符号变量可以不进行定义
19.面向对象方法中,继承是指( ).
A.一组对象所具有的相似性质
B.一个对象具有另一个对象的性质
C.各对象之间的共同性质
D.类之间共享属性和操作的机制
20.继承具有( ),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A.规律性
B.传递性
C.重复性
D.多样性