1、二级 C+笔试 24 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.流程控制语句的基本控制结构有三种,不属于这一种结构的是( )。(分数:2.00)A.顺序结构B.选择结构C.循环结构D.计算结构2.下列运算符中,( )运算符在 C+中不能重载。(分数:2.00)A. if(a=b+c)cout“*“endl: else cout“$“endl; 下列选项叙述正确的是( )。(分数:2.00)A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出*D.输出$20.下列程序输出的结果是( )。 #includestdio.h
2、sub1(char a,char b) char c:c=a:a=b:b=c; sub2(char*a,char b) char c:c=*a;”a=b;b=c; sub3(char*a,char*b) char c;c=*a;”a=*b;*b=c; void main() char a,b; a=A;b=B:sub1(a,b);putchar(a):putchar(b): a=A;b=B; sub2( sub3( if(a=b+c)cout“*“endl: else cout“$“endl; 下列选项叙述正确的是( )。(分数:2.00)A.有语法错不能通过编译B.可以通过编译但不能通过连接
3、C.输出*D.输出$ 解析:20.下列程序输出的结果是( )。 #includestdio.h sub1(char a,char b) char c:c=a:a=b:b=c; sub2(char*a,char b) char c:c=*a;”a=b;b=c; sub3(char*a,char*b) char c;c=*a;”a=*b;*b=c; void main() char a,b; a=A;b=B:sub1(a,b);putchar(a):putchar(b): a=A;b=B; sub2( sub3(&a,&b);putchar(a);putchar(b); putchar(/n);
4、(分数:2.00)A.ABABABB.ABBBBA C.ABBABAD.ABABBA解析:21.磁盘文件操作中,打开磁盘文件的访问模式常量时,( )是以追加方式打开文件的。(分数:2.00)A.inB.outC.app D.ate解析:22.以下程序的输出结果是 #includeiostream.h long fun(int n) long s; if(n=1|n=2) s=2; else s=n-fun(n-1): return s; void main() coutfun(3);=(分数:2.00)A.1 B.2C.3D.4解析:23.以下程序的输出是( )。 struct st int
5、x;int*y; *p; int dt4=10,20,30,40; struct st aa4=50,&dt0,60,&dt0,60,&dt0,60,&dt0,; main() p=aa; cout+(p-x);(分数:2.00)A.10B.11C.51 D.60解析:24.假定 MyClass 为一个类,则该类的拷贝初始化构造函数的声明语句为( )。(分数:2.00)A.MyClass&(MyClass ;B.MyClass(MyClassC.MyClass(MyClass &; D.MyClass(MyClass *解析:25.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机
6、存取B.花费的存储空间较顺序存储少C.便于插入和删除操作 D.数据元素的物理顺序与逻辑顺序相同解析:26.已知枚举类型定义语句为: enum TokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列说中错误的是( )。(分数:2.00)A.枚举常量 NAME 的值为 1 B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 10解析:27.若要把函数 void f()定义为 aClass 的友元函数,则应该类 aClass 的定义中加入的语句是 ( )。(分数:2.00)A.void f();B.static
7、void f();C.friend f();D.friend void f(); 解析:28.下述静态数据成员的特性中,( )是错误的。(分数:2.00)A.说明静态数据成员时前边要加修饰符 staticB.静态数据成员要在类体外进行初始化 C.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符D.静态数据成员不是所有对象所共用的解析:29.包容类 Contain 和内嵌类 Embed 定义如下: #includeiostream.h class Contain private: int X; protected: int z; public: class Embed private
8、: int y; public: Embed()y=100; int Embed_Fun(); MyEmbed; int Contain_Fun(); ; 对上面的定义,正确的描述是( )。(分数:2.00)A.定义类 Embed 对象的语句是:Contain?Embed embed; B.类 Contain 的成员函数 Contain_Fun()中可以用 MyEmbey 的方式访问类 Embed 的私有成员 yC.类 Embed 的成员函数 Embed_Fun()中可以直接访问 Contain 的私有成员 xD.类 Embed 的成员函数 Embed_Fun()中可以直接访问 Contain
9、 的保护成员 Z解析:30.关于静态数据成员的描述中正确的是( )。(分数:2.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化 解析:31.下列描述中,( )是抽象类的特性。(分数:2.00)A.可以说明虚函数B.可以进行构造函数重载C.可以定义友元函数D.不能说明其对象 解析:32.下述关于数据库系统的叙述中正确的是( )。(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管
10、理更多的数据解析:33.C+语言中关于构造函数的说法正确的是( )。(分数:2.00)A.构造函数的函数名不必和类名相同B.构造函数只能有一个C.每个类必定有构造函数 D.构造函数必有返回值解析:34.在 C+中,关于下列设置参数默认值的描述中,正确的是( )。(分数:2.00)A.不允许设置参数的默认值B.设置参数默认值只能在定义函数时设置C.设置参数默认值时,应该是先设置右边的再设置左边的 D.设置参数默认值时,应该全部参数都设置解析:35.已知 int a,*pa=&a;输出指针 pa 十进制的地址值的方法是( )。(分数:2.00)A.coutpa;B.cout*p;C.cout&pa
11、;D.coutlong(p; 解析:二、B填空题/B(总题数:15,分数:30.00)36.对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用 1 的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。(分数:2.00)填空项 1:_ (正确答案:基类)解析:37.当使用带参数的操作子时,程序中必须包含头文件 1。(分数:2.00)填空项 1:_ (正确答案:iomani p.h)解析:38.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为 1。(分数:2.00)填空项 1:_ (正确答案:上溢)解析:39.函数模
12、板既可以与_重载,也可以与_重载。(分数:2.00)填空项 1:_ (正确答案:函数模板 非函数模板)解析:40.、*、-、:、?:这五个运算符 1 重载。(分数:2.00)填空项 1:_ (正确答案:不能)解析:41.下列程序运行后的输出结果是_。 #includeiostream.h void main() int s=0,k; for(k=7;k=O;k-) switch(k) case 1: case 4: case 7:s+;break; case 2: case 3: case 6:break: case 0: case 5:s+=2;break: cout“s=“sendl; (
13、分数:2.00)填空项 1:_ (正确答案:s=7)解析:42.表达式 x=operator-(y,z)其可以表示 1 为。(分数:2.00)填空项 1:_ (正确答案:x=y-z)解析:43.C+中的输入输出是以节字 1 的形式实现的。(分数:2.00)填空项 1:_ (正确答案:流)解析:44.类 ostream 的成员函数 1 用于执行无格式输出,成员函数 2 用于输出单个字符。(分数:2.00)填空项 1:_ (正确答案:write)填空项 1:_ (正确答案:put)解析:45.以下程序的输出结果_。 #includeiostream.h void main() int a=0 a+
14、=(a=8); couta; (分数:2.00)填空项 1:_ (正确答案:16)解析:46.利用成员函数对双目运算符重载,其左操作数为_,右操作数为_。(分数:2.00)填空项 1:_ (正确答案:this 指针 成员函数参数)解析:47.作为非成员函数重载的运算符,所有操作数都必须以 1 的形式出现在参数表中。(分数:2.00)填空项 1:_ (正确答案:参数)解析:48.浮点数的默认精度值是 1。(分数:2.00)填空项 1:_ (正确答案:6 位)解析:49.为解决在多重继承环境中因公共基类带来的 1 问题,C+语言提供了虚基类机制。(分数:2.00)填空项 1:_ (正确答案:二义性)解析:50.可以把具有相同属性的一些不同对象归类,称为 1。(分数:2.00)填空项 1:_ (正确答案:对象类)解析: