您当前的位置: 湖南自考网 > 历年真题 > 理学类 > 文章详情

2013年10月自考04737C++程序设计真题及答案

2018-12-25 14:41:58
来源:湖南自考生网

     【相关推荐】:2008-20013年自考04737C++程序设计真题及答案汇总
       以下是湖南自考生网小编为考生们整理的“2013年10月自考04737C++程序设计真题及答案”,请考生按规定用笔将所有试题的答案涂、写在答题纸上。

        选择题部分

        注意事项:

        1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。

        2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。

        一、单项选择题(本大题共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是一个类,则执行语句Mya[3],*[2];之后,自动调用构造函数次数为

        A.2

        B.3

        C.4

        D.5

        4.下列语句错误的是

        A.intval(20);

        B.externintval(20);

        C.constintval;

        D.externconstintval;

        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.intary[5][];

        B.intary[][5]={{0,1,2}};

        C.intary[][5];

        D.intary[5,5];

        13.以下说法中正确的是

        A.C++程序总是从第一个定义的函数开始执行

        B.C++程序总是从main函数开始执行

        C.C++中函数必须有返回值

        D.C++中函数名必须唯一

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

        A.名称为main,可为多个

        B.名称不限,可为多个

        C.名称为main,必须有且只能有—个

        D.名称不限,必须有且只能有—个

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

        A.voidfun()=0;

        B.virtualvoidfun()=0;

        C.virtualvoiclfun();

        D.virtualvoidfun(){};

        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<

        C.cout<<&p;

        D.cout<<(void*)p;

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

        A.拷贝

        B.别名

        C.复制

        D.克隆

        非选择题部分

        注意事项:

        用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

        二、填空题(本大题共20小题,每小题1分,共20分)

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

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

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

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

        25.含有_____的类称为抽象类。

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

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

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

        29.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数

        的工作方法是_____。

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

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

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

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

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

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

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

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

        38.基类和派生类的关系称为_____。

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

        40.假定x=10,则表达式x<=10?20:30的值为_____。

        三、改错题(本大题共5小题,每小题4分,共20分)

        下面的每题中有一处错误,请在“答题纸”上将错误所在行写出并给出修改意见。

        41.#include

        classpoint{

        private:floatx,y;

        public:point(floata,floatb){x=a;y=b;}

        voidf(){x=0;y=0;}

        voidgetx(){cout<<

        voidgety(){cout<<

        };

        main(){

        pointa(3.5);

        a.getx();

        }

        42.#include

        main(){

        intx=7;

        constint*p=&x;

        *p=99;

        cout<<*p<

        }

        43.#include

        classtest{

        private:intx;y;

        public:voiclf(inta,intb){x=a;y=b;}

        intmax(){return(x>y)?x:y;}

        };

        main(){

        testa;

        a.f(1,3);

        cout<

        }

        44.#include

        classtest{

        private:intx;

        public:test(inta){x=a;}

        voidset(inta){x=a;}

        voidget(){cout<

        };

        classtestl:publictest{

        private:intx;

        public:testl(inta){x=a;}

        voidset(inta){x=a;}

        voidget(){cout<<′′<

        };

        45.#include

        classf{

        private:intx,y;

        public:fl(inta,intb){x=a;y=b;}

        voidprint(){cout<

        };

        main(){

        fa;

        floatx=1.0,y=2.0;

        a.fl(x,y);

        a.print();

        }

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

        46.在答题纸上填上缺少的部分。源程序如下:

        #include

        usingnamespacestd;

        classbase

        {

        inta,b;

        public:

        base(intx,inty){a=x;b=y;}

        voidshow( )

        {

        cout<<<″,″<<

        }

        }

        voidmain()

        {

        baseb(78,87);

        b.show(b);

        }

        47.在答题纸上填上缺少的部分。源程序如下:

        #include

        #include

        usingnamespacestd;

        voidmain()

        {

        myf("ab.txt");//定义输出流文件,并初始化

        <<"ThisiaaTXTfile";//向文件输入字符串

        myf.close();

        }

        48.在下面程序中的答题纸上填上适当的程序,使程序的输出结果如下:

        67,90

        源程序如下:

        #include

        usingnamespacestd;

        classbase

        {

        pnvate:

        intx,y;

        priblic:

        voidinitxy(inta,intb){x=a;y=b;}

        voidshow(base*p);

        };

        inlinevoidbase::show( )

        {

        cout<x<<""

        }

        voidprint(base*p)

        {

        p->show(p);

        }

        voidmain()

        {

        basea;

        a.initxy(67,90);

        print( );

        }

        49.下面程序给出了一个从普通的基类派生出一个模板类的方法,在答题纸上填上缺少的

        部分。

        #include

        usingnamespacestd;

        classBase

        {

        public:

        Base(inta){x=a;}

        intGetx(){returnx;

        voidshowb(){cout<<

        private:

        intx;

        };

        template

        classderived:publicBase

        {

        public:

        derived(Ta,intb):____

        {y=a;}

        TGety(){returny;}

        voidshowd(){cout<<<"FONT?<<private:

        };

        voidmain()

        {BaseA(458);

        A.showb();

        derivedB("Itis",1357);

        B.showd();

        }

        50.下面程序的运行结果如下:

        20,22

        60,22

        在答题纸上填上缺少的部分。源程序如下:

        #include

        usingnamespacestd;

        classbase

        {

        private:

        constinta;

        staticconstintb;

        public:

        base(int);

        voidShow();

        };

        =22;

        :a(i){}//初始化

        voidbase::Show()

        {cout<<<","<<

        voidmain()

        {

        baseal(20),a2(60);

        al.Show();

        a2.Show();

        }

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

        51.给出下面程序的输出结果

        #include

        usingnamespacestd;

        classbase

        {

        intx;

        public:

        voidsetx(inta){x=a;}

        intgetx(){returnx;}

        };

        voidmain()

        {

        int*p;

        basea;

        a.setx(15);

        p=newint(a.getx());

        cout<<*p;

        }

        52.给出下面程序的输出结果

        #include

        usingnamespacestd;

        classbase

        {

        private:

        intx;

        public:

        voidsetx(inta){x=a;}

        intgetx(){returnx;}

        };

        voidmain()

        {

        basea,b;

        a.setx(89);

        b=a;

        cout<

        cout<

        }

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

        53.在字符串类string中实现一个判断函数,该函数功能是统计某一字符串类对象(仅有单词和空格组成)有多少个单词,同时保存所有单词在字符串中的起始地址(设该字符串不超过100个单词)

        #include

        #include

        classstr{

        strings;intn,a[100],j,1;

        public:str(string&a){s=a;n=0;j=0;l=0;}

        ....test(....);

        int*geta(){returna;}

        };

        请写出test函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)

        以上历年真题试卷及答案由湖南自考生网http://www.zikaosw.com/收集、提供。希望能够帮助同学们更好地将书本上的知识与实际案例联系起来,通过真题练习在考试时取得更好地成绩!更多真题及答案,可在我办网站“自考历年真题”栏目中查看。

湖南学历提升报名热线:
蒋老师QQ咨询 QQ咨询

TEL:蒋老师17773102705

2024年自考、成考、网教报名进行中,点击立即报考咨询>>

扫一扫下方二维码关注湖南自考生网微信公众号、客服咨询号,即时获取湖南自考、成考、网教最新考试资讯。

  • 湖南自考官方公众号

    关注公众号免费拿资料

  • 微信扫一扫咨询

  • 微信扫一扫咨询

免责声明

1、鉴于各方面资讯时常调整与变化,本网所提供的信息仅供参考,实际以考试院通知文件为准。

2、本网部分内容来源于网络,如有内容、版权等问题请与本网联系,我们将会及时处理。联系方式 :QQ(393848300)

3、如转载湖南自考生网声明为“原创”的内容,请注明出处及网址链接,违者必究!

市区导航: 长沙市自考  |   株洲市自考  |   湘潭市自考  |   衡阳市自考  |   邵阳市自考  |   岳阳市自考  |   常德市自考  |   张家界自考  |   益阳市自考  |   郴州市自考  |   永州市自考  |   怀化市自考  |   娄底市自考  |   湘西州自考  |  

特别声明:本站信息大部分来源于各高校,真实可靠!部分内容来自互联网,仅供参考!所有信息以实际政策和官方公告为准!

湖南求实创新教育科技有限公司 版权所有 湘ICP备18023047号-2