(考试时间90 分钟,满分100 分)
一、选择题(每小题2分,共70分)
(1)下列变量名中,( )是合法的。 A)CHINA B)byte-size C)double D)A+a(2)下列各种函数中,( )不是类的成员函数 A)构造函数 B)析构函数 C)友元函数 D)拷贝构造函数(3)软件设计中模块划分应遵循的准则是( )。 A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(4)下列( )是正确的语句。 A); B)a=17 C)x+y D)cout<<"\n" (5)算法的有穷性是指( )。
A)算法程序的运行时间是有限的
B)算法程序所处理的数据量是有限的
C)算法程序的长度是有限的
D)算法只能被有限的用户使用
(6半自动糊箱机)对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是( )。
A)快速排序
B)冒泡排序
C)直接插入排序
D)堆排序
(7)循环while(int i=0) i--;执行次数是( )。
A)0 B)1 C)5 D)无限
(8)设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是( )。
A)g(f(3)); B)f(g(3)); C)g(f(3)+2); D)p= f(g(3)+1);
(9)设int x;,则经过( )后,语句*px=0;可将x值置为0。
A)int * px; B一叶荻)int const * px=&x; C)int * const px=&x; D)const int * px=&x;
(10)设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是( )。
A)int * 和双面斜纹布int B)int * 和int ** C)C int 和int * D)int * 和int *
A)函数重载就是用相同的函数名定义多个函数
B)重载函数的参数列表必须不同
C)重载函数的返回值类型必须不同
D)重载函数的参数可以带有默认值
(pvc再生颗粒12)下列有关类成员的叙述中,正确的是
A)友元函数是类的成员函数C)类成员函数必须声明为公有的D)类的静态数据成员不能是常成员 (13)下列有关类继承的叙述中,错误的是
A)继承可以实现软件复用
B)虚基类可以解决由多继承产生的二义性问题
C)派生类构造函数要负责调用基类的构造函数
D)派生类没有继承基类的私有成员
(14)下列有关运算符重载的叙述中,正确的是
A)运算符重载是多态性的一种表现
B)C++中可以通过运算符重载创造新的运算符
C)C++中所有运算符都可以作为非成员函数重载
D)重载运算符时可以改变基结合性
A)函数模板不能含有常规形参
B)函数模板的一个实例就是一个函数定义
C)类模板的成员函数不能是模板函数
D)用类模板定义对象时,绝对不能省略模板实参
(16)下列有关 C++流的叙述中,错误的是
A)C++操作符 setw 设置的输出宽度永久有效
B)C++操作符 endl 可以实现输出的回车换行
C)处理文件 I/O 时,要包含头文件 fstream
D)进行输入操作时,eof()函数用于检测是否到达文件尾
(17)下列符号中能够作为 C++标识符的是超滤膜壳
A)const B)2a C)_shape D)-count
(18)已知枚举类型声明语句为:
enum COLOR{ WHITE,YELLOW,GREEN=5,RED,BLACK=10 };
则下列说法中错误的是
A)枚举常量 YELLOW 的值为 1
B)枚举常量 RED 的值为 6
C)枚举常量 BLACK 的值为 10
D)枚举常量 WHITE 的值为 1
(19)执行下列语句段后,输出字符“*”的个数是
for (int i=50; i>1; I-=2)cout<<~*~;
A)24 B)25 C)26 D)50
(20)有如下定义:
int a[5]={1,3,5,7,9},*p=a;
下列表达式中不能得到数值 5 的是
A)a[2] B)a[3] C)*(p+2) D)*p+4
(21)已知函数 f 的原型是 void f(int *a, long & b);,变量 v1、v2 的定义是:
int v1; loong v2;
下列调用语句中正确的是
A)f(v1, &v2); B)f(v1, v2); C)f(&v1, &v2); D)f(&v1, v2);
(22)有如下类定义:
class Point{
private;
static int how_many;
};
______ how_many=0;
要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是
A)ingB)static int
C)int Point:: D)static int Point::
(23)在下列关键字中,不能用来表示继承方式的是
A)private B)static C)public D)protected
(24)已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是
A)Value operator+(Value v, int i);
B)Value operator+(Value v=value, int i);
C)Value operator+(Value vint i=0);
D)Value operator+(Value v=value, int i=0);
哇哈论坛
(25)下面是一个模板声明的开始部分:
templute<typename T> double __
由此可知
A)这可能是一个函数模板的声明
B)这可能是一个类模板的声明
C)这既可能是一个函数模板的声明,也可能是一个类模板的声明
D)这肯定是一个错误的模板声明