感谢大家对本系列文章的关注,本章我们将继续为正在备考计算机等级考试的同学提供《2007年上半年计算机二级考试C++真题》系列内容,以下为大家提供的是本套真题的选择题部分:
2007年9全国计算机等级考试二级笔试试卷C++语言程序设计
(考试时间90分钟,满分100分)
一、选择题(每小题2分,共70分)
下列个体A、B、C、D四个选项重,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)软件是指
A 程序
B 程序和文档
C 算法加数据结构
D 程序、数据与相关文档的完整集合
(2)软件调试的目的是
A 发现错误
B 改正错误
C 改善软件的性能
D 验证软件的正确性
(3)在面对对象方法中,实现信息隐蔽是依靠
A 对象的继承
B 对象的多态
C 对象的封装
D 对象的分类
(4)下列叙述重,不符合良好程序设计风格要求是
A 程序的效率第一,清晰第二
B 程序的可读性好
C 程序中要有必要的注释
D 输入数据前要有提示信息
(5)下列叙述中正确的是
A 程序执行的效率与数据的存储结构密切相关
B 程序执行的效率只取决于程序的控制结构
C 程序执行的效率之取决于所处理的数据量
D 以上三种说法都不对
计算机二级考试C++真题
(6)下列叙述中正确的是
A 数据的输入结构与存储结构必定是——对应的
B 计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
D 以上三种说法都不对
(8)一棵二叉树中共有70个叶子结点于80个度为1的结点,则该二叉树重的总结点数为
A 219
B 221
C 229
D 221
(9)下列叙述重正确的是
A 数据库系统是一个独立的系统,它需要操作系统的支持
B 数据库技术的根本目标是要解决数据的共享问题
C 数据库管理系统是数据库系统
D 以上说法都不正确
(10)下列叙述中正确的是
A 为了建立一个关系,首先是要构造数据的逻辑关系
B 表示关系的二维表中各各组的每一个分量还可以分成若干数据项
C 一个关系的属性名称为关系模式
D 一个关系可以包括多个二维表
(11)在函数中,可以用auto,extem,register,和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是
A auto
B extem
C register
D static
计算机二级考试C++真题
(12)对于一个类定义,下列叙述中错误的是
A 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数
B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数
C 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数
D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数
(13)如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是
A public和 public
B public和protected
C protected 和 public
D protected 和 protected
(14)下列运算符函数中肯定不属于类FunNumber的成员函数的是
A int operator-(FunNumber)
B FunNumber operator-()
C FunNumber operator-(int)
D int operator – (FunNumber)
(15)C++中的模板包括
A 对象模板和函数模板
B 对象模板和类模板
C 函数模板和类模板
D 变量模板和对象模板
(16)如果调用C++流进行输入输出,下面的叙述中正确的是
A 只能借助于流对象进行输入输出
B 只能进行格式化输入输出
C 只能借助于cin和cout进行输入输出
D 只能使用运算符 》和《 进行输入输出
(17)下列富豪中不属于C++关键字的是
A friend
B namespace
C continue
D byte
(18)下列各组的量申明中,含义相同的一组是
A unsigned long int 和 long
B signed short int 和 short
B unsigned short 和 short
D short int 和int
(19) 必须用一对打括号括起来的程序段是
A switch 语句中的case标号语句
B if 语句的分支
C 循环语句的循环体
D 函数的函数体
计算机二级考试C++真题
(20)语句的int*p=&k定义于指针P,于这个语句等效的语句序列是
A int*p;p=&k
B int*p;p=k
C int*p;*p=&k
D int*p;*p=k
(21)关于函数重载,下列叙述中错误的是
A 重载函数的函数名必须相同
B 重载函数必须在函数个数或类型上有所不同
C 重载函数的返回值类型必须相同
D 重载函数的函数体可以有所不同
(22)有如下头文件
Int f1();
Static int f2();
Class MA{
Public
Int f3();
Static int f4();
};
在所描述的函数中,具有隐含的this指针的是
A f1
B f2
C f3
D f4
(23)派生类的成员函数不能访问基类的
A 共有成员和保护成员
B 共有成员
C 私有成员
D 保护成员
(24)下列关于运算符重载的描述中,正确的是
A 运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符
B 一元运算符只能作为成员函数重载
C 二元运算符重载为非成员函数时,参数表中有一个参数
D C++中可以重载所有的运算符
(25)下列关于类模板的模板参数的叙述中,错误的是
A 模板参数可以作为数据成员的类型
B 模板参数可以作为成员函数的返回类型
C 模板参数可以作为成员函数的参数类型
D 模板函数不能作为成员函数的局部变量的类型
(26)已知一程序运行后执行的第一个输出操作是Cout<<setw(10)<<setfill(*)<<1234,则此操作的输出结构是
A 1234
B ******1234
C **********1234
D 1234******
计算机二级考试C++真题
(27)有如下程序
#include <iostrcam>
Using namespace std;
Class myclass{
Public:
MyClass(){++count;}
~MyClass(){--count;}
Static int getcount(){return count;}
Private
Static int count;
};
Int MyClass::count=0;
Int main(){
Myclass obj;
Cout<<obj,getCount();
MyClass*ptr=new MyClass;
Cout<<MyClass::getcount();
Delete ptr;
Cout<<MyClass::gercount();
Return();
}
程序的输出结果是
A 121
B 232
C 221
D 122
程序的输出结果是
A val=10 const:val=20
B const:val=10const:val=20
C const:val=10 val=20
D val=10 val=20
(29)有如下程序
#include <iostream>
Using namespace std;
Class part{
Public;
Part(int x=(\):val(x){cout,,val;}
-part(){cout<<val;}
Private;
Int val;
};
Class whole{
Public;
Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<<val;}
Whole(){count,,val;}
Private;
Part p1,p2;
Int val;
};
Int maint{
Whole obj(1,2,3);
Resturn();
}
程序输出的结果是
A 123321
B 213312
C 213
计算机二级考试C++真题
(30) 有如下程序:
#include <iostream>
Using namespace std;
Class base{
Public:
Base(int x=0){cout<<x;}
};
Class derived : public base{
Public:
Derivedrin(x=y){cout<<x;}
Priblic:
Base val;
};
Int main(){
Derived d(!);
Return();
}
程序的输出结果是
A 0
B 1
C 01
D 001
(31)若有如下类定义:
Classs B {
Void fun(){}
Protected;
Double varl;
Public:
Void fun2(){}
};
Class D:public B{
Protected;
Void fun3(){}
};
已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是
A obj.fun1();
B obj.var1;
C obj.fun2();
D obj.fun3();
(32)有如下程序:
#include<iostream>