第一范文网 - 专业文章范例文档资料分享平台

全国计算机等级考试二级C++笔试试题

来源:用户分享 时间:2025/6/3 4:04:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数声明 };

class Cylinder:public Circle { //圆柱体类

double h; //高度 public:

Cylindr(double radius=0, doubli height=0):

Circle(radius),h (height){}

Virtual double Area() { //计算圆柱体的表面积

return 2*PI*r*(r+h); } };

(14)补充完整下面的类定义: class XCH{ char* a; public:

XCH(char* as) { //构造函数 a=new char[strlen(aa)+1]; strcpy(a,aa); }

XCH& operator=(const XCH& x) //重载赋值函数 Delele []a;

A=new char[strlen(x.a)+l]; strcpy(a, x .a) 【14】; }

~XCH() {delete []a;} };

(15)补充完整下面的模板定义:

template //Type为类型参数

class Xtwo{ //由两个Type类型的数

据成员构成的模板类 Type a; Type b; public:

Xtwe(Type aa=0, Type bb=0):a(aa),b(bb){}

int Ccmpare (){//比较a和b的大小 if (a>b)returm 1;

else if(a==b) return 0; else return -1; }

Type Snm() {return a+b;} //返回a和b之和

Type Mult(); //函数声明,返回a和b之乘积 };

Template 【15】::Mult(){return a*b;} //Mult 函数的类外定义

参考 答案 一、 选择题:

(11)D (12)B (13)A (14)B (15)B (16)A (17)B (18)C (19) A (20)D (21)D (22)B ( 23)A (24)B (25)C (26)B (27)A (28)B (29)C (30)B (31)D (32)D (33)C (34)C (35)B 二、填空题 (6)213 (7)15,30,45 (8)examination(9)10 (10)友元 (11)id(i),mom(c) (12)Dog speak Woof (13)Virtual double Area(){ return PI *r*r} (14)return *a (15)Xwo

2009年9月二级C++笔试试卷

(11)已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则( )。 A)FA必须定义在FB之前 B)FB必须定义在FA之前

C)若FA定义在FB之后,则FA的原型必须出现在FB的定义之前 D)若FB定义在FA之后,则FB的原型必须出现在FA的定义之前

(12)有如下两个类定义: class AA{}; class BB { AA v1,*v2; BB v3; int *v4; };

其中有一个成员变量的定义是错误的,这个变量是( )。 A)v1 B)v2 C)v3 D)v4 (13)有如下类定义: class XX { int xdata; public:

XX(int n=0) : xdata(n){} };

class YY : public XX { int ydata; public:

YY(int m=0, int n=0) : XX(m), ydata(n){} };

YY类的对象包含的数据成员的个数是( )。 A)1 B)2 C)3 D)4

(14)下列关于运算符函数的描述中,错误的是( )。 A)运算符函数的名称总是以operator为前缀 B)运算符函数的参数可以是对象

C)运算符函数只能定义为类的成员函数

D)在表达式中使用重载的运算符相当于调用运算符重载函数 (15)下列关于模板形参的描述中,错误的是( )。 A)模板形参表必须在关键字template之后 B)模板形参表必须用括弧()括起来 C)可以用class修饰模板形参

D)可以用typename修饰模板形参

(16)在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是( )。 A)ios_base::cur B)ios_base::beg C)ios_base::out D)ios_base::end

(17)下列字符串中可以用作C++标识符的是( )。 A)2009var B)goto C)test-2009 D)_123

(18)下列枚举类型的定义中,包含枚举值3的是( )。 A)enum test {RED, YELLOW, BLUE, BLACK}; B)enum test {RED, YELLOW=4, BLUE, BLACK}; C)enum test {RED=-1,YELLOW, BLUE, BLACK}; D)enum test {RED, YELLOW=6, BLUE, BLACK}; (19)有如下程序段:

int i=1; while(1) { i++;

if(i==10) break;

if(i%2==0) cout<<'*'; } }

执行这个程序段输出字符*的个数是( )。 A)10 B)3 C)4 D)5

(20)已知数组arr的定义如下: int arr[5]={1,2,3,4,5};

下列语句中输出结果不是2的是( )。

A)cout << *arr+1 << endl; B)cout << * (arr+1) << endl; C)cout << arr[1] << endl; D)cout << *art << endl; (21)计算斐波那契数列第n项的函数定义如下: int fib(int n){

if(n==0) return 1; else if(n==1) return 2;

else return fib(n-1)+fib(n-2); }

若执行函数调用表达式fib(2),函数fib被调用的次数是( )。 A)1 B)2 C)3 D)4

22)Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是( )。 Sample a[2], *P = new Sample; A)0 B)1 C)2 D)3

(23)下列关于虚基类的描述中,错误的是( )。 A)使用虚基类可以消除由多继承产生的二义性

B)构造派生类对象时,虚基类的构造函数只被调用一次 C)声明“class B : virtual public A”说明类B为虚基类 D)建立派生类对象时,首先调用虚基类的构造函数

(24)将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是( )。 A)不合法的运算符 B)一元运算符 C)无操作数的运算符 D)二元运算符 (25)有如下模板声明:

template < typename T1, typename T2> class A; 下列声明中,与上述声明不等价的是( )。 A)template class A; B)template class A; C)template class A; D)template class A;

(26)下列关于C++流的描述中,错误的是( )。 A)cout>>'A'表达式可输出字符A

B)eof()函数可以检测是否到达文件尾

C)对磁盘文件进行流操作时,必须包含头文件fstream

D)以ios_base::out模式打开的文件不存在时,将自动建立一个新文件 (27)有如下程序: # include using namespace std; class Toy { public:

Toy(char* _n){ strcpy(name, _n); count++;} ~Toy() { count--;}

char* GetName(){ return name; } static int getCount(){ return count; } private:

char name[10]; static int count; };

int Toy::count=0; int main(){

Toy t1(\ cout<

运行时的输出结果是( )。

A)1 B)2 C)3 D)运行时出错 (28)有如下程序: # include using namespace std; class A { public:

A(int i) : r1(i) {}

void print() {cout<<'E'<

void print() const {cout<<'C'<

pivate: int r1; };

int main(){ 日

A a1(2); const A a2(4); a1.print(); a2.print(); return 0; }

运行时的输出结果是( )。

A)运行时出错 B)E2-C16- C)C4-C16- D)E2-E4- (29)有如下程序: # include using namespace std;

class Name{ char name[20]; public: Name(){

strcpy(name, \ }

Name(char *fname){

strcpy(name,fname); cout<<'?'; } };

int main(){

Name names[3]={Name(\张三\李四\ return 0; }

运行此程序输出符号?的个数是( )。 A)0 B)1 C)2 D)3 (30)有如下程序: # include using namespace std; class AA{ public:

AA(){ cout<<'1'; } };

class BB: public AA{ int k; public:

BB() : k(0) { cout<<'2'; } BB(int n) : k(n) { cout<<'3'; } };

int main(){ BB b(4), c; return 0; }

运行时的输出结果是( )。

A)1312 B)132 C)32 D)1412 (31)有如下程序: # include using namespace std; class C1{ public:

~C1(){ cout<<1; } };

class C2: public C1{ public:

搜索更多关于: 全国计算机等级考试二级C++笔试试题 的文档
全国计算机等级考试二级C++笔试试题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0h0wy7v4nz507xn0uyq64mg6283nbb00q27_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top