欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【学历类职业资格】C++程序设计真题2013年10月及答案解析.doc

    • 资源ID:1367334       资源大小:77KB        全文页数:21页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【学历类职业资格】C++程序设计真题2013年10月及答案解析.doc

    1、C+程序设计真题 2013 年 10 月及答案解析(总分:110.00,做题时间:90 分钟)一、单项选择题(总题数:20,分数:20.00)1.下列不属于 C+关键字的是_(分数:1.00)A.externB.gotoC.freeD.default2.C+中定义标准输入库为_(分数:1.00)A.stdioB.mathC.istreamD.stdlib3.My 是一个类,则执行语句 My a3, *p2; 之后,自动调用构造函数次数为_(分数:1.00)A.2B.3C.4D.54.下列语句错误的是_(分数:1.00)A.int val(20);B.exterm int val(20);C.c

    2、onst int val;D.extern const int val;5.下列说法中,有关构造函数是正确的是_(分数:1.00)A.任何一类必定有构造函数B.可定义没有构造函数的类C.构造函数不能重载D.任何一类必定有默认的构造函数6.下面关于类和对象说法不正确的是_(分数:1.00)A.类由数据与函数组成B.一个对象必属于某个类C.对象是类的实例D.一个类的对象只有一个7.下面选项中不是类成员函数的是_(分数:1.00)A.构造函数B.析构函数C.友元函数D.静态函数8.在 C+中类之间的继承关系具有(分数:1.00)A.自反性B.对称性C.传递性D.反对称性9.C+中类的成员默认为_(分

    3、数:1.00)A.publicB.privateC.protectedD.static10.C+中要实现动态联编,调用虚函数时必须使用(分数:1.00)A.基类指针B.类名C.派生类指针D.对象名11.下面对析构函数的正确描述是_(分数:1.00)A.系统不能提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数12.在下面的二维数组定义正确的是_(分数:1.00)A.int ary5 ;B.int ary 5=0,1,2;C.int ary 5;D.int ary5,5;13.以下说法中正确的是_(分数:1.00)A.C+程序总是从第一个定义的函数开始执

    4、行B.C+程序总是从 main()函数开始执行C.C+中函数必须有返回值D.C+中函数名必须唯一14.对 C+中主函数描述正确的是_(分数:1.00)A.名称为 main,可为多个B.名称不限,可为多个C.名称为 main,必须有且只能有一个D.名称不限,必须有且只能有一个15.下面声明纯虚函数语句正确的是_(分数:1.00)A.void fun()=0;B.virtual void fun()=0;C.virtual voicl fun();D.virtual void fun();16.对于复制构造函数和赋值操作的关系,正确的描述是_(分数:1.00)A.复制构造函数和赋值操作是完全一样的

    5、操作B.进行赋值操作时,不会调用类的构造函数C.当调用复制构造函数时,类的对象正在被建立并被初始化D.复制构造函数和赋值操作不能在同一个类中被同时定义17.使用重载函数的目的是_(分数:1.00)A.共享函数数据B.减少代码量C.优化运行效率D.提高可读性18.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是_(分数:1.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念19.假定有“char * p=“Hello“;”,若要输出这个字符串的地址值正确的写法为_(分数:1.00)A.cout* p;B

    6、.coutp;C.coutD.cout(void *)p;20.从本质上看,引用变量是被引用变量的(分数:1.00)A.拷贝B.别名C.复制D.克隆二、填空题(总题数:20,分数:20.00)21.C+程序的编译是以 1 为单位进行的。 (分数:1.00)22.C+语言支持的两种多态性分别是编译时的多态性和 1 的多态性。 (分数:1.00)23.重载的运算符保持其原有的操作符个数、 1 和结合性不变。 (分数:1.00)24.在 C+中,函数的参数有两种传递方式,它们分别是值传递和 1。 (分数:1.00)25.含有 1 的类称为抽象类。 (分数:1.00)26.C+程序运行时的内存空间可以

    7、分成全局数据区、堆区、栈区和 1。 (分数:1.00)27.对于无返回值函数,定义函数时要用 1 修饰函数类型。 (分数:1.00)28.定义重载函数必须在参数的个数或参数的 1 上与其他同名函数不同。 (分数:1.00)29.复制构造函数是在用一个对象初始化另一个对象时被调用,系统默认的复制构造函数的工作方法是 1。 (分数:1.00)30.以面向对象方法构造的系统,其基本单位是 1。 (分数:1.00)31.C+中定义友元函数使用的关键字为 1。 (分数:1.00)32.当一个成员函数被调用时,该成员函数的 1 指向调用它的对象。 (分数:1.00)33.类可将实现细节隐藏起来,这种机制称

    8、为 1。 (分数:1.00)34.在面向对象的程序设计中,通过封装实现数据隐藏;通过 1 实现代码的复用。 (分数:1.00)35.在公有继承中基类数据成员在派生类中的访问权限 1。 (分数:1.00)36.复杂对象可以由简单对象构成,这种现象称为 1。 (分数:1.00)37.如有“char * p=“Hello“;”,则语句“cout*(p+1);”输出值是 1。 (分数:1.00)38.基类和派生类的关系称为 1。 (分数:1.00)39.C+对其对象的数据成员和成员函数的访问是通过 1 来限制的。 (分数:1.00)40.假定 x=10,则表达式 x=10? 20:30 的值为 1。

    9、(分数:1.00)三、改错题(总题数:5,分数:20.00)41.#includeiostream.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()coutxendl; void gety()coutyendl; ; main() point a(3.5); a.getx(); (分数:4.00)42.#includeiostream.h main() int x=7; const int *p= *p=99; cout*pendl; (分数

    10、:4.00)43.#includeiostream.h class test private: int x;y; public: voicl f(int a,int b)x=a;y=b; int max()return(xy) ? x:y; ; main() test a; a.f(1,3); couta.max()endl; (分数:4.00)44.#includeiostream h class test private: int x; public: test(int a)x=a; void set(int a)x=a; void get()coutxendl; ; class test

    11、l: public test private: int x; public: testl(int a)x=a; void set(int a)x=a; void get()cout“endl; (分数:4.00)45.#includeiostream.h class f private: int x,y; public: fl(int a,int b)x=a;y=b; void print()coutx-yendl; ; main() f a; float x=1.0,y=2.0; a.fl(x,y); a.print(); (分数:4.00)四、完成程序题(总题数:5,分数:20.00)46

    12、.在下面程序横线处填上缺少的部分。源程序如下。 #includeiostream using namespace std; class base int 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); (分数:4.00)_47.在下面程序横线处填上缺少的部分。源程序如下。 #includeiostream #includefstream using namespace std; void main() _myf(“ab.t

    13、xt“);/定义输出流文件,并初始化 _“This ia a TXT file“;/向文件输入字符串 myf.close(); (分数:4.00)_48.在下面程序横线处填上适当的程序,使程序的输出结果如下。 67,90 源程序如下。 #includeiostream 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(_) coutp-x“ “p-yendl; void prin

    14、t(base*p) p-show(p); void main() base a; a.initxy(67,90); print(_); (分数:4.00)_49.下面程序给出了一个从普通的基类派生出一个模板类的方法,在横线处填上缺少的部分。 #includeiostream using namespace std; class Base public: Base(int a)x=a; int Getx()return x; void showb()coutxendl; private: int x; ; templateclass T class derived:public Base pub

    15、lic: derived(T a,int b):_ y=a; T Gety()return y; void showd()couty“ “Gets()endl; private: ; void main() Base A(458); A.showb(); derivedchar * B(“It is“,1357); B.showd(); (分数:4.00)_50.下面程序的运行结果如下。 20.22 60.22 在横线处填上缺少的部分。源程序如下。 #includeiostream using namespace std; class base private: const int a; st

    16、atic const int b; public: base(int); void Show(); ; _=22; _:a(i)/初始化 void base:Show( ) couta“,“bendl; void main() base al(20),a2(60); al.Show(); a2.Show(); (分数:4.00)_五、程序分析题(总题数:2,分数:20.00)51.给出下面程序的输出结果 #includeiostream using namespace std; class base int x; public: void setx(int a)x=a; int getx()r

    17、eturn x; ; void main() int * p: base a; a.setx(15); p=new int(a.getx(); cout*p; (分数:10.00)_52.给出下面程序的输出结果 #includeiostream 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; couta.getx()endl; coutb.getx()endl; (分数

    18、:10.00)_六、程序设计题(总题数:1,分数:10.00)53.在字符串类 string 中实现一个判断函数,该函数功能是统计某一字符串类对象(仅由单词和空格组成)有多少个单词,同时保存所有单词在字符串中的起始地址(设该字符串不超过 100 个单词) #includeiostream.h #includestring class str string s; int n,a100,j,1; public:str(stfingn=0;j=0;l=0; test(); int * geta()return a; ; 请写出 test 函数的过程(如果需要形式参数,请给出形参类型和数量以及返回值类

    19、型) (分数:10.00)_C+程序设计真题 2013 年 10 月答案解析(总分:110.00,做题时间:90 分钟)一、单项选择题(总题数:20,分数:20.00)1.下列不属于 C+关键字的是_(分数:1.00)A.externB.gotoC.free D.default解析:考点 C+关键字 解析 本题考查对 C+关键字的掌握。C+共有 73 个关键字,A、B、D 均为 C+的关键字。对于选项C,free 是内存释放函数,其功能与 C+中关键字 delete 是一样的,但 free 并不是 C+的关键字。故选C。2.C+中定义标准输入库为_(分数:1.00)A.stdioB.mathC

    20、.istream D.stdlib解析:考点 C+标准库 解析 本题考查的是对 C+基础知识的掌握能力,很容易便能选出正确答案为 C。A 项的 stdio 为 C 的标准输入输出库函数;B 项的 math 中定义的是一些常用数学函数;D 项中的 stdlib 包含了 C、C+常用的系统函数,包括五种类型、一些宏和常用的工具函数,如 size_t 类型、malloc()函数等。3.My 是一个类,则执行语句 My a3, *p2; 之后,自动调用构造函数次数为_(分数:1.00)A.2B.3 C.4D.5解析:考点 类的构造函数 解析 构造函数是在对象被创建时自动调用的,在执行语句 My a3,

    21、*p2;中,a3是创建包含 3 个 My类对象的数组,会调用 3 次构造函数。*p2是建立容量为 2 的数组,数组元素为指向类 My 的指针,只是对指针分配了空间,并未对指针所指向的对象进行创建,不会调用构造函数。故选 B。4.下列语句错误的是_(分数:1.00)A.int val(20);B.exterm int val(20);C.const int val; D.extern const int val;解析:考点 const、extern 关键字的使用 解析 A、B、D 均符合 C+的语法规则。选项 C,使用 const 定义一个常量时,要对其进行初化,即 C 选项是错误的语法。故选

    22、C。5.下列说法中,有关构造函数是正确的是_(分数:1.00)A.任何一类必定有构造函数B.可定义没有构造函数的类 C.构造函数不能重载D.任何一类必定有默认的构造函数解析:考点 类的构造函数 解析 C+为类提供了默认构造函数机制,使其允许在定义的类中没有构造函数,但此时 C+编译器为类自动生成一个默认构造函数,故 A 不正确,B 正确;当类定义了自己的构造函数后,系统将不再提供默认构造函数,故 D 不正确;C+允许对构造函数重载,故 C 不正确。正确选项为 B。6.下面关于类和对象说法不正确的是_(分数:1.00)A.类由数据与函数组成B.一个对象必属于某个类C.对象是类的实例D.一个类的对

    23、象只有一个 解析:考点 类和对象 解析 对象就是一类物体的实例化,将一组对象的共同特征抽象出来,从而形成了类的概念。类是由数据成员和函数成员组成,类的对象可以有很多个,显然 D 的说法不正确。故选 D。7.下面选项中不是类成员函数的是_(分数:1.00)A.构造函数B.析构函数C.友元函数 D.静态函数解析:考点 类的成员函数 解析 构造函数、析构函数都是类的特殊成员函数;通过将某个函数成员声明为 static,将使函数独立于类的任何对象,这便是类的静态成员函数;友元函数虽然定义在类中,但它并不是类的成员函数,而是类的外部函数,即另一个类的成员函数。故选 C。8.在 C+中类之间的继承关系具有

    24、(分数:1.00)A.自反性B.对称性C.传递性 D.反对称性解析:考点 类的继承和派生 解析 继承具有两大特性,即单根性和传递性。单根性是指子类只能继承一个父类;传递性是指派生类是从基类那里继承特性,派生类也可以作为其他类的基类。例如 A 继承了 B,A 可以调用 B 的成员和函数,B 又继承了 C,则 A 也可以调用 C 的成员和函数。故选 C。9.C+中类的成员默认为_(分数:1.00)A.publicB.private C.protectedD.static解析:考点 类的成员函数 解析 类成员均有一个访问权限,通过关键字 private、public、protected 来定义。如果

    25、没有使用关键字,则所有成员默认声明为 private 权限。故选 B。10.C+中要实现动态联编,调用虚函数时必须使用(分数:1.00)A.基类指针 B.类名C.派生类指针D.对象名解析:考点 虚函数实现多态性的条件 解析 虚函数产生运行时的多态性有 3 个前提,其中第 3 条为根据赋值兼容性规则使用指针,其包含使用基类指针调用虚函数这一情况。故选 A。11.下面对析构函数的正确描述是_(分数:1.00)A.系统不能提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数 D.析构函数可以设置默认参数解析:考点 类的析构函数 解析 在对象消失时,应使用析构函数释放由构造函数分配的内存。

    26、析构函数不能指定参数,但可以显示地说明参数为 void,即形如 A:A(void)。另一方面,从函数重载的角度分析,一个类只能定义一个析构函数且不能指定参数,以便系统自动调用。故选 C。12.在下面的二维数组定义正确的是_(分数:1.00)A.int ary5 ;B.int ary 5=0,1,2; C.int ary 5;D.int ary5,5;解析:考点 数组的定义 解析 A、C、D 均不符合二维数组的声明,只有 B 正确。13.以下说法中正确的是_(分数:1.00)A.C+程序总是从第一个定义的函数开始执行B.C+程序总是从 main()函数开始执行 C.C+中函数必须有返回值D.C+

    27、中函数名必须唯一解析:考点 C+函数 解析 C+程序的运行是从 main()函数开始的,故 A 不正确,B 正确;C+函数并不一定都有返回值,如构造函数和析构函数,故 C 不正确;C+提供了函数重载机制,函数名并不是唯一的,故 D 不正确。故选B。14.对 C+中主函数描述正确的是_(分数:1.00)A.名称为 main,可为多个B.名称不限,可为多个C.名称为 main,必须有且只能有一个 D.名称不限,必须有且只能有一个解析:考点 C+主函数 解析 C+主函数有且只有一个,即为 main()函数。故选 C。15.下面声明纯虚函数语句正确的是_(分数:1.00)A.void fun()=0;

    28、B.virtual void fun()=0; C.virtual voicl fun();D.virtual void fun();解析:考点 纯虚函数 解析 在许多情况下,不能为类的虚函数给出一个有意义的定义,这时可以将它说明为纯虚函数。纯虚函数的一般形式为:virtual 函数类型函数名(参数列表)=0;故选 B。16.对于复制构造函数和赋值操作的关系,正确的描述是_(分数:1.00)A.复制构造函数和赋值操作是完全一样的操作B.进行赋值操作时,不会调用类的构造函数C.当调用复制构造函数时,类的对象正在被建立并被初始化 D.复制构造函数和赋值操作不能在同一个类中被同时定义解析:考点 复制

    29、构造函数 解析 复制构造函数即默认复制构造函数,它是在用一个已有对象来建立新对象时被调用,而赋值操作对一个已有对象进行更新,此时对象已经建立,不会再调用构造函数,所以 A、B 是错误的,C 正确。复制构造函数和赋值操作是可以定义在同一类中的,D 不正确。故选 C。17.使用重载函数的目的是_(分数:1.00)A.共享函数数据B.减少代码量C.优化运行效率D.提高可读性 解析:考点 成员函数重载及默认参数 解析 函数重载可使一个函数名具有多种功能,它使得代码使用方便,提高了代码的可读性。选 D。18.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是_(分数:1.00)A

    30、.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念 解析:考点 面向对象设计 解析 选项 A、B、C 只是在语言方面的改变,并不是根本变化。C+较 C 的根本变化就在于引入了面向对象的设计概念,具体体现在引进了类和对象的概念。19.假定有“char * p=“Hello“;”,若要输出这个字符串的地址值正确的写法为_(分数:1.00)A.cout* p;B.coutp;C.coutD.cout(void *)p; 解析:考点 C+指针及 cout 用法 解析 A 项输出的是第一个字母;B 项输出的是整个字符串;C 项输出的是 p 的地

    31、址,而非字符串的地址;D 项输出的是字符串的首地址。故选 D。20.从本质上看,引用变量是被引用变量的(分数:1.00)A.拷贝B.别名 C.复制D.克隆解析:考点 C+的引用 解析 引用实际上是变量的别名,引用与变量只是同一内存空间的不同名字,使用引用就如同直接使用变量一样。引用与指针都会对内存地址上的变量进行修改,但引用不占有新的地址,节省了内存开销。故选 B。二、填空题(总题数:20,分数:20.00)21.C+程序的编译是以 1 为单位进行的。 (分数:1.00)解析:文件 考点 程序编译的基本概念 解析 基础概念题,在 C+中,程序编译的基本单位是文件。22.C+语言支持的两种多态性

    32、分别是编译时的多态性和 1 的多态性。 (分数:1.00)解析:运行时 考点 多态性 解析 C+支持两种多态性,即编译时的多态性和运行时的多态性。静态联编所支持的多态性称为编译时的多态性,动态联编所支持的多态性称为运行时的多态性。23.重载的运算符保持其原有的操作符个数、 1 和结合性不变。 (分数:1.00)解析:优先级 考点 运算符的重载 解析 运算符的重载只能是把 C+原有的运算符用到自己设计的类上面,而不能自己定义新的运算符。重载的运算符并不改变原有的优先级,也不改变操作符个数和结合性。24.在 C+中,函数的参数有两种传递方式,它们分别是值传递和 1。 (分数:1.00)解析:引用传

    33、递 考点 函数参数及其传递方式 解析 C+函数参数有两种传递方式:传值和传引用。25.含有 1 的类称为抽象类。 (分数:1.00)解析:纯虚函数 考点 纯虚函数与抽象类 解析 本题考查基本概念,掌握抽象类概念即可。26.C+程序运行时的内存空间可以分成全局数据区、堆区、栈区和 1。 (分数:1.00)解析:代码区 考点 C+内存分配 解析 C+程序运行时内存空间分为全局数据区、堆区、栈区和代码区。全局数据区存储多为全局变量、静态变量;堆区,一般是南程序员分配和释放;栈区存放局部变量、函数参数等值;代码区存放函数体二进制代码。27.对于无返回值函数,定义函数时要用 1 修饰函数类型。 (分数:

    34、1.00)解析:void 考点 函数返回值 解析 void 表示无类型,当函数无返回值时,需用 void 来修饰。28.定义重载函数必须在参数的个数或参数的 1 上与其他同名函数不同。 (分数:1.00)解析:类型 考点 函数重载和默认参数 解析 重载函数的区别在于:一是参数类型的不同;二是参数的个数不同。29.复制构造函数是在用一个对象初始化另一个对象时被调用,系统默认的复制构造函数的工作方法是 1。 (分数:1.00)解析:把对象的每个数据成员的值都复制到新建立的对象中 考点 复制构造函数 解析 默认复制构造函数采用复制方法,所以又称为复制构造函数,其工作方法就是把对象的每个数据成员的值都

    35、复制到新建立的对象中。30.以面向对象方法构造的系统,其基本单位是 1。 (分数:1.00)解析:对象 考点 面向对象方法 解析 面向对象方法是以对象作为构成系统的基本单位,将对象的数据和操作紧密结合。31.C+中定义友元函数使用的关键字为 1。 (分数:1.00)解析:friend 考点 C+关键字、友元函数 解析 友元函数通过 friend 声明的。32.当一个成员函数被调用时,该成员函数的 1 指向调用它的对象。 (分数:1.00)解析:this 指针 考点 this 指针 解析 C+规定,当一个数据成员被函数调用时,系统会自动向它传递一个指向调用该函数的对象的指针,即 this 指针。

    36、33.类可将实现细节隐藏起来,这种机制称为 1。 (分数:1.00)解析:封装 考点 类的封装 解析 封装就是把对象的属性和操作结合成为一个独立的系统单位,并尽可能隐藏对象的内部细节。34.在面向对象的程序设计中,通过封装实现数据隐藏;通过 1 实现代码的复用。 (分数:1.00)解析:继承 考点 类的继承 解析 继承就是一个类可以获得另一个类的特性机制。通过继承,低层的类可以共享高层的类中的特征,实现了代码的复用。35.在公有继承中基类数据成员在派生类中的访问权限 1。 (分数:1.00)解析:保持不变 考点 继承和派生、访问权限和赋值兼容规则 解析 在公有派生情况下,基类成员的访问权限在派

    37、生类中保持不变。36.复杂对象可以由简单对象构成,这种现象称为 1。 (分数:1.00)解析:聚合(组成) 考点 对象的结构与连接 解析 对象结构是指对象之间的分类(继承)关系和组成(聚合)关系,组成(聚合)说明的是整体和部分的关系,它可以表示复杂对象由简单对象构成这一现象。37.如有“char * p=“Hello“;”,则语句“cout*(p+1);”输出值是 1。 (分数:1.00)解析:e 考点 C+字符数组 解析 p 为定义的字符数组,其指向的是字符数组的首地址,则 p+1 表示指向字符数组的第二个字符的地址,故*(p+1)输出的为 e。38.基类和派生类的关系称为 1。 (分数:1

    38、.00)解析:继承 考点 继承和派生 解析 类的继承是指派生类继承基类的数据成员和函数成员,继承常用来表示类属关系。39.C+对其对象的数据成员和成员函数的访问是通过 1 来限制的。 (分数:1.00)解析:访问权限 考点 类 解析 类成员包括数据成员和函数成员。类成员均具有一个访问权限,其用于控制对象的可访问性。40.假定 x=10,则表达式 x=10? 20:30 的值为 1。 (分数:1.00)解析:20 考点 条件表达式的用法 解析 条件表达式一般形式为表达式 1?表达式 2:表达式 3,其含义为若表达式 1 为真,则条件表达式取表达式 2 的值,否则取表达式 3 的值。本题中 x=1

    39、0,则 x=10 为真,故表达式的值为 20。三、改错题(总题数:5,分数:20.00)41.#includeiostream.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()coutxendl; void gety()coutyendl; ; main() point a(3.5); a.getx(); (分数:4.00)解析:错误所在行:point a(3.5);修改意见:point a(3.5,2.5); 考点 函数参数、构造函数 解析

    40、 程序执行到语句 point a(3.5);时,会调用类 point 的构造函数,题目中所给的构造函数的参数有两个,而语句 point a(3.5);只含有一个参数,程序执行时会报错。修改的意见是只要语句中含有两个 float 参数即可。42.#includeiostream.h main() int x=7; const int *p= *p=99; cout*pendl; (分数:4.00)解析:错误所在行:const int * p=修改意见:int * const p= 考点 对指针使用 const 限定符 解析 语句 constint *p=中 p 表示的是指向整型常量的指针,即*p

    41、 是一个常量值,不能对其进行修改,所以程序的下一个语句*p=99;对*p 的值进行修改,自然会报错。修改的意见就是把 p 定义成一个常量指针,此时就可以对*p 的值进行修改。即把语句 constint *p=y; public: voicl f(int a,int b)x=a;y=b; int max()return(xy) ? x:y; ; main() test a; a.f(1,3); couta.max()endl; (分数:4.00)解析:错误所在行:private:intx;y;修改意见:private;intx,y; 考点 C+基本语法 解析 在 C+中,变量定义的一般格式为类型

    42、名变量名;,如果要定义多个变量,变量名要用逗号隔开,即类型名变量名 1,变量名 2,变量名 n;。本题中使用分号隔开,显然是不对的,改为逗号即可。44.#includeiostream h class test private: int x; public: test(int a)x=a; void set(int a)x=a; void get()coutxendl; ; class testl: public test private: int x; public: testl(int a)x=a; void set(int a)x=a; void get()cout“endl; (分数:

    43、4.00)解析:错误所在行 public:testl(int a)x=a;修改意见:在基类中增加无参构造函数 test()或者将错误行改为 public:testl(int a):test(x)x=a; 考点 继承和派生 解析 构造函数是不被继承的。当定义派生类的一个对象时,首先要调用基类的构造函数,然后调用派生类的构造函数。如果在派生类的构造函数的声明中没有明确调用基类的构造函数,则系统会调用默认构造函数(无参构造函数)。而本题的基类中定义了自己的构造函数,程序在编译时将不会自动生成默认构造函数,导致无法调用默认构造函数。所以修改的方法就是在定义派生类构造函数时,指定调用基类的构造函数,即

    44、public:testl(int a):test(x)x=a;;也可以在基类中增加一个无参构造函数,即 test()。45.#includeiostream.h class f private: int x,y; public: fl(int a,int b)x=a;y=b; void print()coutx-yendl; ; main() f a; float x=1.0,y=2.0; a.fl(x,y); a.print(); (分数:4.00)解析:错误所在行:public:fl(int a,int b)x=a;y=b;修改为 public:void fl(int a,int b)x=a;y=b;考点 函数参数返回值 解析 当一个函数无返回值时,需要用 void 来修饰函数类型,所以在函数 fl()前加修饰符 void 即可。四、完成程序题(总题数:5,分数:20.00)46.在下面程序横线处填上缺少的部分。源程序如下。 #includeiostream usi


    注意事项

    本文(【学历类职业资格】C++程序设计真题2013年10月及答案解析.doc)为本站会员(inwarn120)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开