《最新全国01月高等教育自学考试c++程序设计试题.pdf》由会员分享,可在线阅读,更多相关《最新全国01月高等教育自学考试c++程序设计试题.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 全国 2013 年 01 月高等教育自学考试 C+程序设计试题 精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 绝密 考试结束前 全国 2013 年 1 月高等教育自学考试 C+程序设计试题 课程代码:04737 请考生按规定用笔将所有试题的答案涂、写在答题纸上。选择题部分 注意事项:1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。2.每小题选出答案后,用 2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。一、单项选择题(本大题共 20 小题,每小题 1
2、分,共 20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。1下列不属于 C+关键字的是 A.extern B.goto C.free D.default 2C+中定义标准输入输出的库为 A.stdio B.math C.iostream D.stdlib 3My 是一个类,则执行语句 My a3,*p2之后,自动调用构造函数次数为 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
3、 val;5下列说法中,有关构造函数是正确的是 A.任何一类必定有构造函数 B.可定义没有构造函数的类 C.构造函数不能重载 D.任何一类必定有缺省的构造函数 6下面关于类和对象说法不正确是 A.类由数据与函数组成 B.一个对象必属于某个类 C.对象是类的实例 D.一个类的对象只有一个 7下面选项中不是类成员函数的是 A.构造函数 B.析构函数 C.友元函数 D.静态函数 8在 C+中类之间的继承关系具有 A.自反性 B.对称性 C.传递性 D.反对称性 9C+中类的成员默认为 A.public B.private C.protected D.static 生务必将自己的考试课程名称姓名准考证
4、号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上每小题选出答案后项选择题本大题共小题每小题分共分在每小题列出的四个备选项中只有一个是合题目要求的请将其选出并将答题纸的自动调用构造函数次数为下列语句错误的是下列说法中有关构造函数是正确的是任何一类必定有构造函数可定义没有精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 10C+中要实现动态联编,调用虚函数时必须使用 A.基类指针 B.类名 C.派生类指针 D.对象名 11.下面对析构函数的正确描述是 A.系统不能提供默认的析构函数 B.析构函数必须由用户定义 C.析构函数没有参数 D.析构函数可以设置默认参数 12在下面的
5、二维数定义正确的是 A.int ary5;B.int ary5=0,1,2;C.int ary5;D.int ary5,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
6、();D.virtual void fun();16对于拷贝初始化构造函数和赋值操作的关系,正确的描述是 A.拷贝初始化构造函数和赋值操作是完全一样的操作 B.进行赋值操作时,会调用类的构造函数 C.当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化 D.拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义 17.使用重载函数的目的是 A.共享函数数据 B.减少代码量 C.优化运行效率 D.提高可读性 18.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是 A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了
7、类和对象的概念 19假定有“char*p=“Hello”;”,若要输出这个字符串的地址值正确的写法为 A.cout*p;B.coutp;C.coutp;D.cout(void*)p;20对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是 A公有类型 B.私有类型 C保护类型 D.友元类型 非选择题部分 注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。生务必将自己的考试课程名称姓名准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上每小题选出答案后项选择题本大题共小题每小题分共分在每小题列出的四个备选项中只有一个是合题目要求的请将其选
8、出并将答题纸的自动调用构造函数次数为下列语句错误的是下列说法中有关构造函数是正确的是任何一类必定有构造函数可定义没有精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 二、填空题(本大题共 20 小题,每小题 1 分,共 20 分)21C+程序的编译是以_为单位进行的。22C+语言支持的两种多态性分别是编译时的多态性和_的多态性。23重载的运算符保持其原有的操作符个数、_和结合性不变。24在 C+中,函数的参数有两种传递方式,它们分别是值传递和_。25含有_的类称为抽象类。26C+程序运行时的内存空间可以分成全局数据区,堆区,栈区和_。27对于无返回值函数,定义函数时要用_
9、修饰函数类型。28定义重载函数必须在参数的个数或参数的_上与其它同名函数不同。29拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是_。30以面向对象方法构造的系统,其基本单位是_。31拷贝构造函数使用_作为参数初始化创建中的对象。32当一个成员函数被调用时,该成员函数的_指向调用它的对象。33类可将实现细节隐藏起来,这种机制称为_。34在面向对象的程序设计中,通过封装实现数据隐藏;通过_实现代码的复用。35在公有继承的中基类数据成员在派生类中的访问权限_。36复杂对象可以由简单对象构成,这种现象称为_。37如有“char*p=Hello;”,则语句“cou
10、t*(p+1);”输出值是_。38基类和派生类的关系称为_。39在类的定义中,说明为 protected 的数据成员称为保护成员。保护数据成员具有双重作用:对于其派生类而言,是公有的;而对于其外部的程序而言,是_。40假定 x=10,则表达式 x=10?20:30 的值为_。三、改错题(本大题共 5 小题,每小题 2 分,共 10 分)下面的类定义中有一处错误,请写出错误所在行并给出修改意见 41.#include class point private:float x,y;public:point(float a,float b)x=a;y=b;void f()x=0;y=0;void ge
11、tx()cout x endl;void gety()cout y endl;main()point a(3.5);a.getx()42.#include main()int x=7;const int*p=&x;*p=99 cout*p endl;生务必将自己的考试课程名称姓名准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上每小题选出答案后项选择题本大题共小题每小题分共分在每小题列出的四个备选项中只有一个是合题目要求的请将其选出并将答题纸的自动调用构造函数次数为下列语句错误的是下列说法中有关构造函数是正确的是任何一类必定有构造函数可定义没有精品好资料-如有侵权请联系网站删除 精品好资
12、料-如有侵权请联系网站删除 43.#include 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;44.#include class test private:int x;public:test(int a)x=a;void set(int a)x=a;void get()cout x endl;class testl:public test private:int x;public:test
13、l(int a)x=a;void set(int a)x=a;void get()cout x endl;45.#include class f private:int x,y;public:void fl(int a,int b)x=a;y=b;void print()cout x y endl;main()f a;float x=1.5 y=2.0;a.fl(x,y);a.print();四、完成程序题(本大题共 5 小题,每题 4 分,共 20 分)46.将下划线处缺少的部分写在“答题纸”上。源程序如下:#include using namespace std;class base in
14、t a,b;public:base(int x,int y)a=x;b=y;生务必将自己的考试课程名称姓名准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上每小题选出答案后项选择题本大题共小题每小题分共分在每小题列出的四个备选项中只有一个是合题目要求的请将其选出并将答题纸的自动调用构造函数次数为下列语句错误的是下列说法中有关构造函数是正确的是任何一类必定有构造函数可定义没有精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 void show(_)coutp.a,p.bendl;_ void main()base b(78,87);b.show(b);47将下划线处缺
15、少的部分写在“答题纸上。源程序如下:#include#include using namespace std;void main()_myf(ab.txt);定义输出流文件,并初始化 _This ia a TXT file;向文件输入字符串 myf.close();48在下面程序中的下划线处填上适当的程序(答案写在“答题纸上),使程序的输出 结果如下:67,90 源程序如下:#include using namespace std;class base private:int x,y;public:void initxy(int a,int b)x=a;y=b;void show(base*p
16、);inline void base:show(_)coutx,y show(p);void main()base a;a.initxy(67,90);生务必将自己的考试课程名称姓名准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上每小题选出答案后项选择题本大题共小题每小题分共分在每小题列出的四个备选项中只有一个是合题目要求的请将其选出并将答题纸的自动调用构造函数次数为下列语句错误的是下列说法中有关构造函数是正确的是任何一类必定有构造函数可定义没有精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 print(_);49下面程序给出了一个从普通的基类派生出一个模板类的
17、方法,在下划线处填上正确的 部分(答案写在“答题纸上)。#include using namespace std;class Base public:Base(int a)x=a;int Getx()return;void showb()coutxendl;private:int x;template class derived:public Base public:derived(T a,int b):_ y=a;T Gety()return y;void showd()couty Getx()endl;private:_ ;void main()Base A(458);A.showb();
18、derivedB It is,1 357);B.showd();50下面程序的运行结果如下:20,22 60,22 将下划线处缺少的部分写在“答题纸上。源程序如下:#include using namespace std;class base private:const int a;static const int b;public:base(int);void Show();生务必将自己的考试课程名称姓名准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上每小题选出答案后项选择题本大题共小题每小题分共分在每小题列出的四个备选项中只有一个是合题目要求的请将其选出并将答题纸的自动调用构造函数
19、次数为下列语句错误的是下列说法中有关构造函数是正确的是任何一类必定有构造函数可定义没有精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 ;_=22;_:a(i)初始化 void base:Show()couta”,”bendl;void main()base al(20),a2(60);a1Show();a2Show();五、程序分析题(本大题共 4 小题,每小题 5 分,共 20 分)51给出下面程序的输出结果#include using namespace std;class base int x;public:void setx(int a)x=a;int getx
20、()return x;void main()int*p;base a;a.setx(15);p=new int(a.getx();cout*p;52.给出下列程序的输出结果#include#include#include using namespace std;void main()complex fsl(5,6);complex fs2(7.5,8.5);string strl(real is:);string str2(image is:);cout strl fsl.real(),str2 fsl.imag()endl;cout strl fs2.real(),str2 fs2.imag
21、()endl;53.给出下面程序的输出结果 生务必将自己的考试课程名称姓名准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上每小题选出答案后项选择题本大题共小题每小题分共分在每小题列出的四个备选项中只有一个是合题目要求的请将其选出并将答题纸的自动调用构造函数次数为下列语句错误的是下列说法中有关构造函数是正确的是任何一类必定有构造函数可定义没有精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除#include using namespace std;class base private:int x;public:void setx(int a)x=a;int getx(
22、)return x;void main()base a,b;a.setx(89);b=a;cout a.getx()endl;cout b.getx()endl;54.给出下面程序的输出结果#include using namespace std;void main()int a =10,20,30,40 ,*pa=a;int*&pb=pa;pb+;cout*pa endl;六、程序设计题(本大题共 1 小题,每小题 10 分,共 10 分)55.在字符串类 string 中实现一个判断函数,该函数功能是统计某一字符串类对象(仅有单词和空格组成)有多少个单词,同时保存所有单词在字符串中的起始地
23、址(设该字符串不超过 100 个单词)#include#include class str string s;int n,a100,j,1;public:str(string&a)s=a;n=0;j=0;l=0;test();int*geta()return a;请写出 test函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)生务必将自己的考试课程名称姓名准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上每小题选出答案后项选择题本大题共小题每小题分共分在每小题列出的四个备选项中只有一个是合题目要求的请将其选出并将答题纸的自动调用构造函数次数为下列语句错误的是下列说法中有关构造函数是正确的是任何一类必定有构造函数可定义没有