
推荐-全国2010年10月自学考试C加加程序设计试题.doc
9页全国2010年10月自学考试C++程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分)1.C++中注释“∥”的有效范围是( )A.从“∥”开始到行尾 B.从“∥”开始到下一个“∥”C.“∥”及其后一个字符 D.从“∥”开始到程序尾2.假定MyClass为一个类,则该类的复制构造函数的声明语句为( )A.MyClass&(MyClass x); B.MyClass(MyClass x);C.MyClass(MyClass &x); D.MyClass(MyClass *x);3.下列选项不是C++关键字的是( )A.typedef B.void C.bool D.inc4.用于标识十进制常量的前缀或后缀是( )A.无前后缀 B.后缀L或l C.前缀0 D.前缀0x5.设int x=56;int r=x;若cout <<&x;显示0012FF7A,则cout <<&r;输出值为( )A.56 B.00l2FF7A C.0012FF7B D.未知6.使用下列哪个流格式控制符可设置转换基数为八进制( )A.dec B.oct C.hex D.endl7.C++中是否允许在类结构中定义函数( )A.不允许 B.允许 C.仅允许定义构造函数 D.只不允许定义构造函数8.设函数void subone(int &)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为( )A.9 B.10 C.11 D.未知9.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是( )A.int m=max(10,11,12,13,14); B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14); D.int m=max(10,11,12,,14);10.类MyClass的定义如下:class MyClass{ public: MyClass(){} MyClass(int i){value=new int(i);} int * value; }; 若要对value赋值,则下面语句正确的是( )A.MyClass my;my.value=10; B.MyClass my;*my.value=10;C.MyClass my;my.*value=10; D.MyClass my(10);11.包含哪种语句的函数不能声明为内联函数( )A.变量定义 B.if……else C.位操作 D.switch12.声明函数模板的关键字是( )推荐精选A.inline B.template C.const D.short13.对于类中的成员,使用public修饰,表明该成员的访问权限是( )A.公有的 B.私有的 C.保护的 D.不可见的14.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存( )A.不允许 B.允许 C.无法确定 D.视构造函数的函数,可确定15.析构函数的参数个数为( )A.0个 B.1个 C.至少1个 D.多于1个16.非静态成员函数都会有一个隐含指针,它是( )A.self指针 B.this指针 C.current指针 D.one指针17.下列访问公有静态成员的方式,错误的是( )A.类名::静态成员名 B.对象名.静态成员名C.对象指针->静态成员名 D.对象指针.静态成员名18.声明友元使用下列哪个关键字( )A.class B.const C.friend D.virtual19.派生类继承了基类的( )A.所有成员 B.部分成员 C.数据成员 D.成员函数20.基类private成员,通过public派生,其在派生类中为( )A.private B.protected C.public D.不可访问二、填空题(本大题共20小题,每小题1分,共20分)21.执行下列代码 double pi=3.141592; cout< 22.要使用STL库提供的对数组进行升幂排序算法,在源程序中需要包含的头文件是_________23.C++语言中动态回收内存的关键字是_________24.执行下列代码 int b=100; cout<<”Oct:”< 35.私有继承时,在派生类中基类的protected权限变为_________36.若使用一个表达式的含义能解释为访问多个基类中的成员,则这种对基类成员的访 问就是不确定的,称这种访问具有_________37.如果在类模板的定义中有一个静态数据成员,则在程序运行中会产生_________静态变量38.vector类中用于获取向量可以容纳最多对象的个数的方法是_________39.C++用于运算符重载的关键字是_________40.含有___________的类称为抽象类,它只能作为基类来使用三、改错题(本大题共5小题,每小题4分,共20分)下面的每题中有一处错误,请用下横线标出错误所在行并给出修改意见41. #include < iostream, h > class testl { private : int x; public: testl ( ) { x = 2 ; } void set(int a){x =a;} void get( ) { cout << x << endl; } };class test2{ private: int x; public : test2 ( ) { x = 3 ; } void set( int a) { x = a; } void get( ) { cout << x << endl; } }; class test: public testl, public test2 { private : int x; public:void set( int a) { x=a; } void gettest( ) {cout << x << endl; } }; void main( ){ test a; a. get( ); }42. #include < iostream, h > class test { private : int x, y;推荐精选 public : void testl ( int a, int b) { x = a ; y = b;} int max( ); }; int test:max( ) {if(x>y) return x;else return y;} void main( ){ test a; a. testl ( 1,3); cout << a. max ( ) << endl; }43. #include < iostream, h > void main() { int x =5; const int * const p = &x; * p =88; cout << * p << endl; }44. #include < iostream, h > class point { private : float x, y ; public : f( float a, float b) { x = a ; y = b ; } f( ) {x=O;y=O;} void getx( ) { cout < < x < < endl; } void gety ( ) { cout < < y < < endl ; }} class pointl { private : float x, y ; public : f( float a, float b) { x = a; y = b ; } f( ){x=l;y=l;} void getx( ) {cout <





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






