C语言程序设计\2008年4月计算机等级考试二级C++真题含答案.pdf

所需积分/C币:16 2011-12-19 19:32:14 627KB PDF
47
收藏 收藏
举报

C语言程序设计\2008年4月计算机等级考试二级C++真题含答案.pdf
∠大影网 D)物哩设计阶段 opsage.com (9)有个关系R、S和T如下: R T B B D B f 0k k1 0k1 由关系R和S通过运算得到关系T,则所使用的运算为()。 A)并 B3)自然连接 C)笛卡尔积 D)交 (10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课饣),选课SC (学号,课号,成绩),则表SC的关键字(键或码)为()。 A)课号,成绩 B)学号,成绩 C)学号,课号 D)学号,姓名,成绩 (11)下列有关函数重载的叙述中,错误的是 A)两数亘载就是用相同的两数名定义多个函数 B)重载函数的参数列表必须不同 C)重载函数的返回值类型必须不同 D)重载函数的参数可以带有默认倌 (12)下列有关类成员的叙述中,正确的是 A)友元函数是类的成员函数 B)类成员的默认访问权限是私有的 C)类成员函数必须声明为公有的 D)类的静态数据成员不能是常成员 (13)下列有关类继承的叙述中,错误的是 A)继承可以实现软件复用 B)虚基类可以解决由多继承产生的二义性问题 C)派生类构造函数要负责调用基类的构造函数 D)派生类没有继承基类的私有成员 (14)下列有关运算符重载的叙述屮,正确的是 A)运算符重载是多态性的一和表现 B)CH中可以通过运算符重载创造新的运算符 C)C+屮所有运算符都可以作为非成员函数重载 D)重载运算符时可以改变基结合性 (15)下列有关模板的叙述中,正确的是 A)函数模板不能含有常规形参 B)函数模板的一个实例就是一个函数定义 C)类模板的成员函数不能是模板函数 D)用类模板定义对象时,绝对不能省略模板实参 (16)下刎有关C++流的叙述中,错误的是 A)C++操作符setw设置的输出宽度永久有效 B)C艹+操作符endl可以实现输出的回车换行 C)处理文件1O时,要包含头文件 fstream 本资料由大家论坛计算机等级考试专区收集整理 ∠大影网 D)进行输入操作时,eo0函数用丁检测是合到达文件尾 opsage.com (17)下列符号屮能够作为C++标识符的是 B)2 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 1=50; 1>1; 1-2)cout<< A)24 B)25 C)26 D)50 (20)有如下定义: inta[S]-{1,3,5,7,9},*p-a 下列表达式中不能得到数值5的是 A)a[2] C)*(p+2) (21)已知函数f的原型是 void f(int a,long&b);变量v、2的定义是: nt vI: loong v2 下列调用语句屮正确的是 A)f(v1,&vV2); B) f(vl, v2) C)f(&v1,&v2) D)f(&vl, v2); (22)有如下类定义 class point i rivate static int how many 要初始化 Point类的静态成员 how many,下划线处应填入的内容是 B) static int C) int point D static int point (23)在下列关键字中,不能用来表示继承方式的是 A) private B) stat C) public D) protected (24)已知 Value是一个类, Value是aue的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是 A) Value operator(value v, int i); B) Value operator t (Value v=value, int i); C) Value operator+(Value vint i=0); D)Value operator+ value v=value, int i=O (25)下面是一个模板声明的开始部分: template<typename T> double 由此可知 A)这可能是一个函数模板的声明 B)这可能是一个类模板的声明 C)这既可能是一个函数模板的声明,也可能是一个类模板的声明 本资料由大家论坛计算机等级考试专区收集整理 ∠大影网 D)这肯定是一个错的模板声明 Top Sage com (26)有如下4个语句: ①cout<<A'<setfl(*<ef<<setw(7)<<B<<end; 2) cout<<setfill(*)<<left<xsetw(<B <endl ③cout<A∴< serfil*)< right<setw(7)<<B<<end; cout<<setfill(*)<<right<'<setw (7)<<A'< ' B'<<endl 其中能示A**B的是 A)①和③ B)①和④ C)②和③ D)②和④ (27)有如下类定义 class MyClassi Int valy My Class(int n): value()3 int ger Value()const return value 则类 My Class的构造函数的个数是 A)1个 B)2个 C)3个 D)4个 (28)有如下类和对象的定义: class constants public static double getLo freturn 3. 1416; Constants constants; 下列各组语句中,能输出3.1416的是 A) cout<<constants->getPIO; FH cout<< Constants: gerPIO; B)cout<<<constants. getPIO: Hl cout<< Constants. getPIO C) cout<<constants->getPI(: Fl cout<<Constants->getPIO D)cout< < constants. getPIO: F cout< < Constants: getPIO (29)有如下程序 #includesiostream> using namespace std lass vAci int fO const return 3; 3 nt fo return 5 Int main(i VACVI const VAC v2. out<<vl. rO<<v2.fO return 0. 本资料由大家论坛计算机等级考试专区收集整理 ∠大影网 运行时的输出结果是 opsage.com A)53 D)33 (30)有如下类声明 protected Base(int n=0): amount(n)n int getAmount()const retum amount; 3 lass Derived: public Base i protected int val public Derived(int m, int n): value(m). Base(n)f Int getDataOconst return value+amount; i 已知x是一个 Derived对象,则下列表达式中正确的是 A)xvalue+x, getAmounto B)xget DataO-x. gctAmountO C)x.getDataO-xamount D)xvalue+x amount (31)有如下程序: #includesjostream>> using namespace std class base { Basefint n=0; x(n)cout<<n Int getX(const return x class Derived public Base public Derived(int m, int n): y(m), Base(n)(cout<'<In Dcrivcd(int m): y(m)cout<<m; int mainE Derived dl(3), d2(5,7); Return o 运行时的输出结果是 A)375 B)357 C)0375 D)0357 (32)下列有关抽象类和纯虚函数的叙运中,错误的是 本资料由大家论坛计算机等级考试专区收集整理 ∠大影网 A)拥有纯虚函数的类是抽象类,不能用来定义对象 opsage.com B)抽象类的派生类若不实现纯虚函数,它也是抽象类 C)纯虚函数的声明以“=0;”结束 D)纯虚函数都不能有函数体 (33)有如下程序: #includesiostream> Using namespace std Class amount int amount ublic Amount(int n=0): amount(n) Int getAmountOconst return ar Amount &opcrator +=(Amount a)i amount+=a amount return int minot Amount x(3),7) X+=Y cout<<x get Amount(<<endl; return 0 已知程序的运行结果是10,则下划线处缺失的表达式是 B) this c &amount 冂) amount (34)下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是 A)cout<<lefi<<setfill()<<357 B) cout<<left<<setw(5)<<357 C) cout<<left< <setw(5)<<"ABCDE D) cout<<left<ABCDE' (35)有如下程序 #includesiostream> using namespace std claSs ga ablie virtual int f(retum 1; class GB: public GAi virtual int fo freturn 2; 1 void show(Gia g)cout<<g f(; void display(ga &g)icouts' < g f0; 1 本资料由大家论坛计算机等级考试专区收集整理 ∠大影网 osAge. com int mainE GA a: show(a); display(a); GB b: show(b): display(b) return o 运行时的输出结果是 A)1111 B)1211 C)1112 D)1212 、填空题(每空2分,共30分) (1)测试用例包括输入值集和 值集。 (2)深度为5的满二叉树有 个叶子结点 (3)设某循环队列的容量为50,头指针 front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该 循环队列中共有 个元素 (4)在关系数据库中,用来表示实体之间联系的是 (5)在数摭库管哩系统提供的数据定乂语言、数捃操纵言和数据控制语言中, 负责数据的模式定义与数据 的物理存取构建。 (6)在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”类 是一种抽象的概念,属丁该类的一个实例叫做“ (7)指针数组是山构成的数组 (8)如果使用数组名称为函数参数,形实结合时,传递的是 (9)在类的对象被创建的时候, 函数会被自动调用。 (10)在类中 成员为类的所有对象所共享 (11)有如下程序: # include≤ nostra> using namespace std class Base1 int mn class derived l class Derived2 public Derived1 public void SetMNGint M, int N) M-M; n-N int GetSumMNO retum(m+n);) } int mainE Derived2 objD objD. sctmn(3, 4) cout<<"M+N=<<objD. m+bojD n<<endl tum o 编译时只有“ cout<<"M+N-"<objD.m+ bojD.n≤ cendl;”有语法错误,程序的其他地方没有语法错淏,请判断下 划线处使用的关键字是什么。 本资料由大家论坛计算机等级考试专区收集整理 ∠大影网 osAge. com (12)有如下程序: include <iostream> using namespace std; Class B ase b: publi Base(int 1) id dispoicout<<"Base: b=<<b<<; 3 class basel; virtual public Basel public Base l(int i): Base(i1 class base2: virtual public Basc public Base2(int 1): Base(i0 class derived public Base2. public Basel i nt d p Derived(int I, int j): Basel(, Base2() void dispo cout<<"Derived: d-"<<d<<",) int main(f Derived objD(1, 2); objD disPO objD. Basce: dispO: objD. Bascel: dispo; objD. Basce2 dispo return o 请将程序补充完整,使程序在运行时输岀: Derived: d=1 Base: b=2 Base: b=2 Base: b=2 (13〕如下程序声眀了一个电话号码类 Phonenumber,重载了流插入运算符<<,以便于电话号码的输出。请将程序补 充完整 include iostream> include < iomanip> #include <string td- class PhoneMumber& pu void setNurnber(string number)( thi ∥/重载流插入操作符 friend (ostream &output. const Phone Number &num) 本资料由大家论坛计算机等级考试专区收集整理 ∠大影网 TopS outputssnum.number, return output: i Pp age. com private tring int main(t PhoneNumber phone phone. setNumber(8008100598) cout << The phone number is: " <<phone < endl return o (14)如下程序声明了一个二维图形类 TwoDShape,从其派生出矩形类Rec #include <iostream> include <string> using namespace std; class TwoDShape{维图形类 [20 public, TwoDShape(char n="unknown") strcpy(name, n) char*getNa ne(i return name, i class rcc: public TwoDShapc( double width, height: Rec(double w-0.0, double h 0.0): TwoDShapefrectamgle) i width=w, height=h; i double get Widthof return width; 3 double getHeighto( return height double areaof return width*height; 3 int main(i TwoDShape *shape, shape= ncw Rcc(2. 1, 3.0) cout <<"object is"<<shape- >getNameO<c"n", cout < Area is"<shape->area(<<"n return o 请将稈序补充完整,使稈序在运行时输出: object is triangle rea is 6.3 (15)如下程序声明了一个使用两个通用数据类型的模板关 data class,其屮构造函数用于初始化两个数据成员,成员 函数show用于输出两个数据成员的数值。 本资料由大家论坛计算机等级考试专区收集整理

...展开详情
试读 11P C语言程序设计\2008年4月计算机等级考试二级C++真题含答案.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享达人

关注 私信
上传资源赚钱or赚积分
最新推荐
C语言程序设计\2008年4月计算机等级考试二级C++真题含答案.pdf 16积分/C币 立即下载
1/11
C语言程序设计\2008年4月计算机等级考试二级C++真题含答案.pdf第1页
C语言程序设计\2008年4月计算机等级考试二级C++真题含答案.pdf第2页
C语言程序设计\2008年4月计算机等级考试二级C++真题含答案.pdf第3页

试读结束, 可继续读1页

16积分/C币 立即下载