《算法设计与分析( 一)》在线平时作业1-00001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.下面不是分支定界法搜索方式的是( )。
A.广度优先
B.最小耗费优先
C.最大效益优先
D.深度优先
2.下列哪一种算法不是随机化算法( )。
A.遗传算法
B.模拟退火算法
C.动态规划算法
D.模特卡罗算法
3.假设函数fun已经定义,其原型为“void fun(int a,int b=7, char *p=”**”);”,下列函数调用中错误的是( ) 。
A.fun(5)
B.fun(5,8)
C.fun(6,”
D.”)
E.fun(0,0,”==”)
4.关于new运算符的下列描述中,( )是错误的。
A.它可用来动态创建对象和对象数组
B.使用它创建的对象或对象数组,可以使用运算符delete删除
C.使用它创建对象时要调用构造函数
D.使用它创建对象数组时必须指定初始值
5.在函数中,如果不说明存储类型,默认的存储类型是( ) 。
A.auto
B.extern
C.register
D.static
6.动态规划算法的基本要素为( )。
A.最优子结构性质与贪婪选择性质
B.重叠子问题性质与贪婪选择性质
C.最优子结构性质与重叠子问题性质
D.预排序与递归调用
7.多阶段决策问题就是要在可以选择的那些策略中间选取一个( )策略使在预定的标准下达到最好的效果。
A.最优
B.最差
C.平衡
D.任意
8.C++中的类有两种方法:一种是类的实例化,即生成类的对象,并参与系统的运行;另一种是通过( ),派生出新的类。
A.复用
B.继承
C.单继承
D.多继承
9.通常复制构造函数的参数是( )。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
10.下列关于函数的说法中,正确的是( ) 。
A.C++允许在函数体中定义其它函数
B.所有的内联函数都要用inline说明
C.仅函数返回类型不同的同名函数不能作为重载函数调用
D.有默认值的参数应从左至右逐个定义
11.已知各变量类型的说明如下: int k,a,b; unsigned long w=5; double x=1.42; 则以下不符合C++语言语法的表达式是( )。
A.x%(-3)
B.w+=-2
C.k=(a=2,b=3,a+b)
D.a+=a-=(b=4)*(a=3)
12.下列变量名中,( )是合法的。
A.CHINA
B.byte-size
C.double
D.A+a
13.下列关于C++函数的说明中,正确的是( ) 。
A.内联函数就是定义在另一个函数体内部的函数
B.函数体的最后一条语句必须是return语句
C.C++要求在调用一个函数之前,必须先声明其类型
D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式
14.对基类和派生类的关系描述中, ( )是错误的。
A.派生类是基类的具体化
B.派生类是基类的子集
C.派生类是基类定义的延续
D.派生类是基类的组合
15.最大效益优先是( )的一搜索方式。
A.分支定界法
B.动态规划法
C.贪婪法
D.回溯法
16.在C++中,系统自动为一个类生成默认的构造函数的条件是( )
A.该类没有定义任何有参的构造函数
B.该类没有定义任何无参的构造函数
C.该类没有定义任何的构造函数
D.该类没有定义任何成员函数
17.二分搜索算法的时间复杂度( )。
A.O(logn*n)
B.O(nlogn)
C.O(logn)
D.O(n)
18.在对函数进行原型声明时,下列语法成分中,不需要的是( ) 。
A.函数返回类型
B.函数参数列表
C.函数名
D.函数体
19.下列描述中,错误的是( )。
A.公有继承时基类中的公有成员在派生类中仍是公有成员
B.公有继承时基类中的保护成员在派生类中仍是保护成员
C.保护继承时基类中的公有成员在派生类中仍是公有成员
D.保护继承时基类中的公有成员在派生类中仍是保护成员
20.开发一个C++程序的整个过程中,第4个步骤为( )。
A.链接
B.运行
C.编辑
D.编译