多平台全面支持
方便选课,随时随地学习
下载APP
小程序
希赛网小程序
首页 > 自考 > 习题练习
导航

​自考C++程序设计2013年10月试题

责编:彭雅倩 2019-06-24
自考资料领取

自考C++程序设计2013年10月试题及答案解析

自考C++程序设计2013年10月试题及答案解析,该试卷为自考C++程序设计历年真题试卷,包含答案及详细解析。

一、单项选择题(本大题共20小题,每小题1分,共20分。)在每小题列出的备选项中只有一项是最符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均不得分。

1.下列不属于C++关键字的是(  )

A.extern
B.goto
C.free
D.default

2.C++中定义标准输入的库为(  )

A.stdio
B.math
C.istream
D.stdlib

3.My是一个类,则执行语句My a[3], *[2]; 之后,自动调用构造函数次数为(  )

A.2
B.3
C.4
D.5

4.下列语句错误的是(  )

A.int val(20);
B.extern int val(20);
C.const int val;
D.extern const int val;

5.下列说法中,有关构造函数是正确的是(  )

A.任何一类必定有构造函数
B.可定义没有构造函数的类
C.构造函数不能重载
D.任何一类必定有缺省的构造函数

6.下面关于类和对象说法不正确是(  )

A.类由数据与函数组成
B.一个对象必属于某个类
C.对象是类的实例
D.一个类的对象只有一个

7.下面选项中不是类成员函数的是(  )

A.构造函数
B.析构函数
C.友元函数
D.静态函数

8.在C++中类之间的继承关系具有(  )

A.自反性
B.对称性
C.传递性
D.反对称性

9.C++中类的成员默认为(  )

A.public
B.private
C.protected
D.static

10.C++中要实现动态联编,调用虚函数时必须使用(  )

A.基类指针
B.类名
C.派生类指针
D.对象名

11.下面对析构函数的正确描述是(  )

A.系统不能提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数

12.在下面的二维数定义正确的是(  )

A.int ary[5][ ];
B.int ary[ ][5]={{0,1,2}};
C.int ary[ ][5];
D.int ary[5,5];

13.以下说法中正确的是(  )

A.C++程序总是从第一个定义的函数开始执行
B.C++程序总是从main函数开始执行
C.C++中函数必须有返回值
D.C++中函数名必须唯一

14.对C++中主函数描述正确的是(  )

A.名称为main,可为多个
B.名称不限,可为多个
C.名称为main,必须有且只能有—个
D.名称不限,必须有且只能有—个

15.下面声明纯虚函数语句正确的是(  )

A.void fun( )=0;
B.virtual void fun( )=0;
C.virtual void fun( );
D.virtual void fun( ){ };

16.对于拷贝构造函数和赋值操作的关系,正确的描述是(  )

A.拷贝构造函数和赋值操作是完全一样的操作
B.进行赋值操作时,不会调用类的构造函数
C.当调用拷贝构造函数时,类的对象正在被建立并被初始化
D.拷贝构造函数和赋值操作不能在同一个类中被同时定义

17.使用重载函数的目的是(  )

A.共享函数数据
B.减少代码量
C.优化运行效率
D.提高可读性

18.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是(  )

A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念

19.假定有“char *p="Hello";”,若要输出这个字符串的地址值正确的写法为(  )

A.cout﹤﹤*p;
B.cout﹤﹤p;
C.cout﹤﹤&p;
D.cout﹤﹤(void*)p;

20.从本质上看,引用变量是被引用变量的(  )

A.拷贝
B.别名
C.复制
D.克隆

二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。

11.C++程序的编译是以_________为单位进行的。

12.C++语言支持的两种多态性分别是编译时的多态性和_________的多态性。

13.重载的运算符保持其原有的操作符个数、_________和结合性不变。

14.在C++中,函数的参数有两种传递方式,它们分别是值传递和_________。

15.含有_________的类称为抽象类。

16.C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和_________。

17.对于无返回值函数,定义函数时要用_________修饰函数类型。

18.定义重载函数必须在参数的个数或参数的_________上与其它同名函数不同。

19.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是_________。

110.以面向对象方法构造的系统,其基本单位是_________。

111.C++中定义友元函数使用的关键字为_________。

112.当一个成员函数被调用时,该成员函数的_________指向调用它的对象。

113.类可将实现细节隐藏起来,这种机制称为_________。

114.在面向对象的程序设计中,通过封装实现数据隐藏;通过_________实现代码的复用。

115.在公有继承的中基类数据成员在派生类中的访问权限_________。

116.复杂对象可以由简单对象构成,这种现象称为_________。

117.如有“char *p="Hello";”,则语句“cout﹤﹤*(p+1);”输出值是_________。

118.基类和派生类的关系称为_________。

119.C++对其对象的数据成员和成员函数的访问是通过_________来限制的。

120.假定x=10,则表达式x﹤=10?20:30的值为_________。

三、改错题(本大题共5小题,每小题2分,共10分)

21.#include ﹤iostream.h﹥   class point {   private: float x, y;   public: point(float a, float b){x=a; y=b;}   void f( ){x=0; y=0;}   void getx( ){cout﹤﹤x﹤﹤endl;   void gety( ){cout﹤﹤y﹤﹤endl;   };   main( ) {   point a( 3.5);   a.getx( );   }

22.#include ﹤iostream.h﹥   main( ){   int x=7;   const int *p=&x;   *p=99;   cout﹤﹤*p﹤﹤endl;   }

23.#include ﹤iostream.h﹥   class test{   private: int x; y;   public: void f(int a, int b){x=a; y=b;}   int max( ){return(x﹥y)?x:y;}   };   main( ){   test a;   a.f(1,3);   cout﹤﹤a.max( )﹤﹤endl;   }

24.#include ﹤iostream.h﹥  class test{   private: int x;   public: test(int a){x=a;}   void set(int a){x=a;}   void get( ){cout﹤﹤x﹤﹤endl;   };   class test1: public test{   private: int x;   public: test1(int a){x=a;}   void set(int a){x=a;}   void get( ){cout﹤﹤′ ′﹤﹤endl;   };

25.#include ﹤iostream.h﹥   class f{   private: int x,y;   public: f1(int a, int b){x=a; y=b;}   void print( ){cout﹤﹤x--﹤﹤y﹤﹤endl;   };   main( ){   f a;   float x= 1.0, y= 2.0;   a.f1(x,y);   a.print( );   }

四、完成程序题(本大题共5小题,每小题4分,共20分)

31.在答题纸上填上缺少的部分。源程序如下:   #include ﹤iostream﹥   using namespace std;   class base   {   int a, b;   public:   base(int x, int y){a=x; b=y;}   void show( _________ )   {   cout﹤﹤p.a﹤﹤″,″﹤﹤p.b﹤﹤endl;   }   }_________   void main( )   {   base b(78,87);   b.show(b);   }

32.在答题纸上填上缺少的部分。源程序如下:   #include ﹤iostream﹥   #include ﹤fstream﹥   using namespace std;   void main( )   {   _________ myf("aB.txt"); //定义输出流文件,并初始化   _________﹤﹤"This ia a TXT file"; //向文件输入字符串   myf.close( );   }

33.在下面程序中的答题纸上填上适当的程序,使程序的输出结果如下:   67,90   源程序如下:   #include ﹤iostream﹥   using namespace std;   class base   {   pnvate:   int x,y;   priblic:   void initxy(int a,int b){x=a;y=b;}   void show(base *p);   };   inline void base::show( _________ )   {   cout﹤﹤p-﹥x﹤﹤" "﹤﹤p-﹥y﹤﹤endl;   }   void print(base *p)   {   p-﹥show(p);   }   void main( )   {   base a;   a.initxy(67,90);   print( _________ );   }

34.下面程序给出了一个从普通的基类派生出一个模板类的方法,在答题纸上填上缺少的部分。   #include ﹤iostream﹥   using namespace std;   class Base   {   public:   Base(int a){x=a;}   int Getx( ){return x;   void showb( ){cout﹤﹤x﹤﹤endl;   private:   int x;   };   template﹤class T﹥   class derived: public Base   {   public:   derived(T a, int b): _________   { y=a; }   T Gety( ){ return y; }   void showd( ){cout﹤﹤y﹤﹤" "﹤﹤Gets( )﹤﹤endl;   private:   _________   };   void main( )   { Base A(458);   A. showb( );   derived ﹤char *﹥B("It is",1357);   B.showd( );   }

35.下面程序的运行结果如下:   20,22   60,22   在答题纸上填上缺少的部分。源程序如下:   #include ﹤iostream﹥   using namespace std;   class base   {   private:   const int a;   static const int b;   public:   base(int);   void Show( );   };   _________=22;   _________ : a(i){ } //初始化   void base:: Show( )   { cout﹤﹤a﹤﹤","﹤﹤b﹤﹤endl; }   void main( )   {   base a1(20), a2(60);   a 1.Show( );   a 2.Show( );   }

五、程序分析题(本大题共2小题,每小题10分,共20分)

41.给出下面程序的输出结果   #include ﹤iostream﹥   using namespace std;   class base   {   int x;   public:   void setx(int a){x=a;}   int getx( ){return x;}   };   void main( )   {   int *p;   base a;   a.setx(15);   p=new int(a.getx( ));   cout﹤﹤*p;   }

42.给出下面程序的输出结果   #include ﹤iostream﹥   using namespace std;   class base   {   private:   int x;   public:   void setx(int a){x=a;}   int getx( ){return x;}   };   void main( )   {   base a, b;   a.setx(89);   b=a;   cout﹤﹤a.getx( )﹤﹤endl;   cout﹤﹤b.getx( )﹤﹤endl;   }

六、程序设计题(本大题共1小题,共10分)

51.在字符串类string中实现一个判断函数,该函数功能是统计某一字符串类对象(仅有单词和空格组成)有多少个单词,同时保存所有单词在字符串中的起始地址(设该字符串不超过100个单词)   #include ﹤iostream﹥   #include ﹤string﹥   class str{   string s; int n, a[100], j, l;   public: str(string &a){s=a; n=0; j=0; l=0;}   ....test(....);   int *geta( ){return a;}   };   请写出test函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)

更多资料

00261《行政法学》知识集锦(2023版教材)

00058《市场营销学》 2026年10月考前资料

00537中国现代文学史第四章 50至70年代文学

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
资料下载
  • 2025年10月自考 00037《美学》真题及答案解析

    下载
  • 00537 中国现代文学史 2025年10月真题

    下载
  • 15044《马原》2026年10月考前预测100题

    下载
  • 00537中国现代文学史 第五章 新时期文学

    下载
相关阅读
查看更多