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

    【学历类职业资格】C++程序设计自考题模拟9及答案解析.doc

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

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

    【学历类职业资格】C++程序设计自考题模拟9及答案解析.doc

    1、C+程序设计自考题模拟 9及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.下列特征中,C 和 C+共有的是_(分数:1.00)A.继承B.函数定义不能嵌套C.封装D.多态性2.调用声明为 int print(int a, int b); 的函数时,正确的方法是_(分数:1.00)A.print(0.5,0.8);B.print(2);C.print(1,2);D.print(1,2,3);3.下列选项中不是 C+关键字的是_(分数:1.00)A.boolB.operatorC.incD.friend4.继承机制的作用是_(分数:1.

    2、00)A.信息隐藏B.数据封装C.定义新类D.数据抽象5.下面关于引用的描述正确的是_(分数:1.00)A.引用是被引用变量的复制B.被引用变量是引用的别名C.引用是被引用变量的别名D.被引用变量是引用的复制6.下列有关重载函数的说法中正确的是_(分数:1.00)A.重载函数必须具有不同的返回值类型B.重载函数参数个数必须相同C.重载函数必须有不同的形参列表D.重载函数名可以不同7.在 C+中,编写一个内联函数 Fun,使用 int类型的参数,求其平方并返回,返回值也为 int类型,下列定义正确的是_(分数:1.00)A.int Fun(int x)return x*x; B.int inli

    3、ne Fun(int x)return x*x;C.inline int Fun(int x)return x*x;D.int Fun(int x)inline return x*x;8.函数模板 templatetypename Tvoid A(T, T)可实例化为以下哪种形式_(分数:1.00)A.void A(double, int);B.void A(char, float);C.void A(double, double);D.void A(float, int);9.类的析构函数是对一个对象进行以下哪种操作时自动调用的_(分数:1.00)A.建立B.撤销C.赋值D.引用10.下列不

    4、是描述类的成员函数的是_(分数:1.00)A.构造函数B.析构函数C.友元函数D.拷贝构造函数11.假定 AA为一个类,a()为该类公有的函数成员,x 为该类的一个对象,则访问 x对象中函数成员 a()的格式为_(分数:1.00)A.aB.a()C.x-aD.(*x).a()12.已知 p是一个指向类 A数据成员 m的指针,A1 是类 A的一个对象。如果要给 m赋值为 5,正确的是_(分数:1.00)A.A1.p=5:B.A1-p=5;C.A1. *p=5;D.*A1.p=5;13.重载赋值操作符时,应声明函数为_(分数:1.00)A.友元函数B.虚函数C.成员函数D.静态函数14.建立包含有

    5、类对象成员的派生类对象时,自动调用构造函数的执行顺序为_(分数:1.00)A.自己所属类、对象成员所属类、基类的构造函数B.对象成员所属类、基类、自己所属类的构造函数C.基类、对象成员所属类、自己所属类的构造函数D.基类、自己所属类、对象成员所属类的构造函数15.下述静态数据成员的特征中,错误的是_(分数:1.00)A.说明静态数据成员时前边要加修饰符 staticB.静态数据成员要在类体外进行初始化C.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符D.静态数据成员不是所有对象所共用的16.如果类 A被说明成类 B的友元,则_(分数:1.00)A.类 B不一定是类 A的友元B.类

    6、 B的成员即类 A的成员C.类 A的成员即类 B的成员D.类 A的成员函数不得访问类 B的成员17.在继承中,派生类拥有的基类个数为_(分数:1.00)A.0个B.1个C.多个D.至少 1个18.在派生类中重新定义虚函数时必须与基类保持一致的是_(分数:1.00)A.参数类型B.形参名C.操作内容D.赋值19.下列运算符中,在 C+语言中不能重载的是_(分数:1.00)A.*B.=C.:D./20.C+语言建立类族是通过_(分数:1.00)A.类的嵌套B.类的继承C.虚函数D.抽象类二、第部分 非选择题(总题数:20,分数:20.00)21.C+是通过引用运算符 1 来定义一个引用的。 (分数

    7、:1.00)22.开发一个 C+语言程序的步骤通常包括编辑、 1、连接、运行和调试。 (分数:1.00)23.执行下列代码 cout“oct:“oct34; 程序的输出结果是 1。 (分数:1.00)24.执行下列代码 string str(“HelloC+“); string newstr=str.substr(5,3); 后, newstr 的内容为 1。 (分数:1.00)25.面向对象的四个基本特性是多态性、继承、 1 和封装。 (分数:1.00)26.使用 const关键字说明的成员函数为 1。 (分数:1.00)27.在#include 命令中所包含的头文件,可以是系统定义的头文件

    8、,也可以是 1 的头文件。 (分数:1.00)28.在 C+的类声明中,用 public关键字声明的类成员的访问权限是 1。 (分数:1.00)29.设函数 sum是由函数模板实现的,并且 sum(3,6)和 sum(4.6,8)都是正确的函数调用,则函数模板具有 1个类型参数。 (分数:1.00)30.执行 1 操作将释放由指针所指向的动态分配的内存空间。 (分数:1.00)31.常对象只能调用它的常成员函数,而一般对象既能调用常成员函数,又能调用 1。 (分数:1.00)32.通过 C+语言中的类的 1,可以扩充和完善已有类以适应新的需求。 (分数:1.00)33.vector类中向向量尾

    9、部插入一个对象的方法是 1。 (分数:1.00)34.定义虚函数所用的关键字是 1。 (分数:1.00)35.C+语言支持的两种多态性分别是编译时的多态性和 1 的多态性。 (分数:1.00)36.有 int a=1, b=2; 则表达式 a+ + -b的值为 1。 (分数:1.00)37.语句序列 ifstream infile; infile.open(“data.dat“); 的功能可用一个语句实现,这个语句是 1。 (分数:1.00)38.在 C+中,利用向量类模板定义一个具有 20个 double的向量 E,其元素均被置为 0.5,实现此操作的语句是 1。 (分数:1.00)39.在

    10、 C+中,创建派生类对象时,总是先从 1 的初始化开始的。 (分数:1.00)40.在面向对象的程序设计中将一组对象的共同特性抽象出来形成 1。 (分数:1.00)三、改错题(总题数:5,分数:20.00)41.#includeiostream.h #includestring.h class Bas public: Bas ( char * s = “/0“ ) strcpy ( name, s); void show(); protected: char name _ ; ; Bas b; void show() cout “name:“ b.name endl; void main()

    11、Bas d2 (“hello“); show(); (分数:4.00)_42.#include iostream.h #include string.h class Bas int m; static int n; public: Bas(int i =0) n +; m =i; void show() cout “n:“ n endl; ; Bas:n =0; class Der:public Bas public: Der(int i=0):Bas(i) ; void main() Der d(3); d.show(); (分数:4.00)_43.下面程序用于输出最小值,有一处错误。 #i

    12、nclude iostream.h class Test int a, b; int getmin() return (ab? a:b); public: int c; void setValue( int x1, int x2, int x3 ) a =x1; b =x2; c =x3; int GetMin(); ; int Test:GetMin() int d = getmin (); return (d=dc? d:c); void main() Test t1; t1.setValue(34,6,2); cout t1.getmin () endl; (分数:4.00)_44.下面

    13、程序的功能是生成具有 n个元素的动态数组。 #include iostream.h void main() int n; cin n; int an; a0 =2; cout a0 endl; (分数:4.00)_45.#include iostream.h class Test int x, y; public: void fun(int i, int j) x=i; y=j; void show() cout “x = “ x; if(y) cout “, y = “ y endl; cout endl; ; void main() Test a; a.fun(1); a.show();

    14、a.fun(2,4); a.show(); (分数:4.00)_四、完成程序题(总题数:5,分数:20.00)46.下面程序实现将大写字母转换成小写字母的功能。 #include iostream.h void main() char a; _ cin a; if(_) a=a+i; cout a endl; (分数:4.00)_47.完成下面类中成员函数的定义。 #include iostream.h template class T class f private: T x, y, s; public: f(T a =0, T b =0) x =a; y =b; void sum() s=

    15、x+y; T gets (); ; template class T _ return s; void main() _a(1.5,3.8); a.sum(); cout a.gets () endl; (分数:4.00)_48.下面程序用于输出三角形的面积,请在下横线处填上正确的语句。 #include iostream.h #include math.h void area() double a, b, c; cout “Input a b c:“ ; _ if(a +b c _ cout “The area is:“ s endl; else cout “Error“ endl; voi

    16、d main() area(); (分数:4.00)_49.#include iostream.h class Samp public: void Setij(int a, int b)i =a, j =b; Samp() cout “Destroying “ i endl; int GetMuti() return i * j; protected : int i; int j; ; int main() Samp * p; p = new Samp _ ; if( ! p) cout “ Allocation error/n“ ; return 1; for(int j =0; j 5;

    17、j + ) pjSetij(j, j); for(int k =0; k 5; k +) cout “Muti“ k “ is:“ pk._endl; _ return 0; (分数:4.00)_50.#include iostream.h class AA public: AA(_) A = i; B = j; cout “Constructor/n“; AA ( AA B =obj.B; cout “ Copy Constructor/n“; AA() cout “ Destructor/n“ ; void show() cout “A = “ A “, B = “ B endl; pri

    18、vate: int A, B; ; void main() AA a1 (2,3); AA a2(a1); a2.show(); _= pa-show(); (分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.给出下面程序的输出结果。 #include iostream.h static int a = 3; void fun(); void main () for(int i = 1; i a; i + ) fun(); cout endl; void fun () static int a = a; cout(a+ =2) “ “; (分数:5.00)_52.给出下面程

    19、序的输出结果。 #include iostream.h class A public: A() cout“A 构造函数/n“; fun(); visual void fun() cout“A:fun()函数/n“; ; class B:public A public: B() cout“B 构造函数/n“; fun(); void fun() cout“B:fun() calle 函数/n“; ; void main() B d; (分数:5.00)_六、程序设计题(总题数:1,分数:10.00)53.写一个程序,定义一个抽象类 Shape,由它派生 3个类:Square(正方形)、Trape

    20、zoid(梯形)和Triangle三角形。用虚函数分别计算几种图形面积、并求它们的和。要求用基类指针数组,使它的每一个元素指向一个派生类对象。 #includeiostream.h class Shape public: visual double area()const=0; ; (分数:10.00)_C+程序设计自考题模拟 9答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.下列特征中,C 和 C+共有的是_(分数:1.00)A.继承B.函数定义不能嵌套 C.封装D.多态性解析:2.调用声明为 int print(int a, in

    21、t b); 的函数时,正确的方法是_(分数:1.00)A.print(0.5,0.8);B.print(2);C.print(1,2); D.print(1,2,3);解析:考点 本题主要考查的知识点为函数的调用。 函数调用时,实参的个数及类型要与函数声明时的参数个数及类型保持一致,所以本题中函数调用时实参个数须为 2个且都是整型的,故选 C。3.下列选项中不是 C+关键字的是_(分数:1.00)A.boolB.operatorC.inc D.friend解析:考点 本题主要考查的知识点为 C+关键字。 bool、operator 和 friend均为 C+关键字,本题正确答案为 C。4.继承

    22、机制的作用是_(分数:1.00)A.信息隐藏B.数据封装C.定义新类 D.数据抽象解析:5.下面关于引用的描述正确的是_(分数:1.00)A.引用是被引用变量的复制B.被引用变量是引用的别名C.引用是被引用变量的别名 D.被引用变量是引用的复制解析:考点 本题主要考查的知识点为引用。 引用就是为现有的对象起个“别名”。别名的地址就是原来对象的地址,选定命名时使用“引用”运算符“ B.int inline Fun(int x)return x*x;C.inline int Fun(int x)return x*x; D.int Fun(int x)inline return x*x;解析:考点

    23、本题主要考查的知识点为内联函数。 在 C+中使用 inline关键字来定义内联函数。inline 关键字放在函数定义(声明)中函数类型之前。本题正确答案为 C。8.函数模板 templatetypename Tvoid A(T, T)可实例化为以下哪种形式_(分数:1.00)A.void A(double, int);B.void A(char, float);C.void A(double, double); D.void A(float, int);解析:考点 本题主要考查的知识点为函数模板。 模板函数形参表中定义的两个形参的类型相同,所以在实例化时模板函数实参表中的两个参数的类型也应该相

    24、同。9.类的析构函数是对一个对象进行以下哪种操作时自动调用的_(分数:1.00)A.建立B.撤销 C.赋值D.引用解析:10.下列不是描述类的成员函数的是_(分数:1.00)A.构造函数B.析构函数C.友元函数 D.拷贝构造函数解析:考点 本题主要考查的知识点为友元函数。 友元函数不是当前类的成员函数,而是独立于当前类的外部函数,但它可以访问该类的所有成员,包括私有成员、保护成员和公有成员。11.假定 AA为一个类,a()为该类公有的函数成员,x 为该类的一个对象,则访问 x对象中函数成员 a()的格式为_(分数:1.00)A.aB.a() C.x-aD.(*x).a()解析:考点 本题主要考

    25、查的知识点为对象调用其成员函数的格式。 访问对象中成员函数的格式为:对象名.成员函数名(参数表),本题中成员函数 a()的形参表为空,故选B。12.已知 p是一个指向类 A数据成员 m的指针,A1 是类 A的一个对象。如果要给 m赋值为 5,正确的是_(分数:1.00)A.A1.p=5:B.A1-p=5;C.A1. *p=5; D.*A1.p=5;解析:13.重载赋值操作符时,应声明函数为_(分数:1.00)A.友元函数B.虚函数C.成员函数 D.静态函数解析:考点 本题主要考查的知识点为重载赋值操作符。 赋值操作符只能作为成员函数重载。14.建立包含有类对象成员的派生类对象时,自动调用构造函

    26、数的执行顺序为_(分数:1.00)A.自己所属类、对象成员所属类、基类的构造函数B.对象成员所属类、基类、自己所属类的构造函数C.基类、对象成员所属类、自己所属类的构造函数 D.基类、自己所属类、对象成员所属类的构造函数解析:15.下述静态数据成员的特征中,错误的是_(分数:1.00)A.说明静态数据成员时前边要加修饰符 staticB.静态数据成员要在类体外进行初始化C.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符D.静态数据成员不是所有对象所共用的 解析:考点 本题主要考查的知识点为静态数据成员的特征。 静态数据成员被类的所有对象所共享,它不属于类的任何一个对象,其作用域是

    27、类范围,故 D项错误;A、B、C 项说法正确。16.如果类 A被说明成类 B的友元,则_(分数:1.00)A.类 B不一定是类 A的友元 B.类 B的成员即类 A的成员C.类 A的成员即类 B的成员D.类 A的成员函数不得访问类 B的成员解析:考点 本题主要考查的知识点为友元。 友元关系是单向的,即类 A为类 B的友元,类 B却不一定是类 A的友元,A 项正确;B、C、D 项说法错误。17.在继承中,派生类拥有的基类个数为_(分数:1.00)A.0个B.1个C.多个D.至少 1个 解析:18.在派生类中重新定义虚函数时必须与基类保持一致的是_(分数:1.00)A.参数类型 B.形参名C.操作内

    28、容D.赋值解析:19.下列运算符中,在 C+语言中不能重载的是_(分数:1.00)A.*B.=C.: D./解析:考点 本题主要考查的知识点为运算符重载。 在 C+中,除了.、.*、-*、:、?:运算符不能重载外,其他运算符都可以重载。20.C+语言建立类族是通过_(分数:1.00)A.类的嵌套B.类的继承 C.虚函数D.抽象类解析:二、第部分 非选择题(总题数:20,分数:20.00)21.C+是通过引用运算符 1 来定义一个引用的。 (分数:1.00)解析: 程序的输出结果是 1。 (分数:1.00)解析:oct:4224.执行下列代码 string str(“HelloC+“); str

    29、ing newstr=str.substr(5,3); 后, newstr 的内容为 1。 (分数:1.00)解析:C+25.面向对象的四个基本特性是多态性、继承、 1 和封装。 (分数:1.00)解析:抽象26.使用 const关键字说明的成员函数为 1。 (分数:1.00)解析:常成员函数27.在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是 1 的头文件。 (分数:1.00)解析:自定义28.在 C+的类声明中,用 public关键字声明的类成员的访问权限是 1。 (分数:1.00)解析:公有的29.设函数 sum是由函数模板实现的,并且 sum(3,6)和 s

    30、um(4.6,8)都是正确的函数调用,则函数模板具有 1个类型参数。 (分数:1.00)解析:230.执行 1 操作将释放由指针所指向的动态分配的内存空间。 (分数:1.00)解析:delete31.常对象只能调用它的常成员函数,而一般对象既能调用常成员函数,又能调用 1。 (分数:1.00)解析:一般成员函数32.通过 C+语言中的类的 1,可以扩充和完善已有类以适应新的需求。 (分数:1.00)解析:继承33.vector类中向向量尾部插入一个对象的方法是 1。 (分数:1.00)解析:push_back34.定义虚函数所用的关键字是 1。 (分数:1.00)解析:virtual35.C+

    31、语言支持的两种多态性分别是编译时的多态性和 1 的多态性。 (分数:1.00)解析:运行时36.有 int a=1, b=2; 则表达式 a+ + -b的值为 1。 (分数:1.00)解析:237.语句序列 ifstream infile; infile.open(“data.dat“); 的功能可用一个语句实现,这个语句是 1。 (分数:1.00)解析:ifstream infile(“data.dat“);38.在 C+中,利用向量类模板定义一个具有 20个 double的向量 E,其元素均被置为 0.5,实现此操作的语句是 1。 (分数:1.00)解析:vectordoubleE(20,

    32、0.5);39.在 C+中,创建派生类对象时,总是先从 1 的初始化开始的。 (分数:1.00)解析:基类40.在面向对象的程序设计中将一组对象的共同特性抽象出来形成 1。 (分数:1.00)解析:类三、改错题(总题数:5,分数:20.00)41.#includeiostream.h #includestring.h class Bas public: Bas ( char * s = “/0“ ) strcpy ( name, s); void show(); protected: char name _ ; ; Bas b; void show() cout “name:“ b.name

    33、endl; void main() Bas d2 (“hello“); show(); (分数:4.00)_正确答案:()解析:void show(); 是普通函数不是成员函数,但是要访问类成员,需要定义为友元函数。应改为friend void show(); 。42.#include iostream.h #include string.h class Bas int m; static int n; public: Bas(int i =0) n +; m =i; void show() cout “n:“ n endl; ; Bas:n =0; class Der:public Bas

    34、public: Der(int i=0):Bas(i) ; void main() Der d(3); d.show(); (分数:4.00)_正确答案:()解析:Bas:n=0; 静态数据成员需要在类外进行初始化,但这里格式不正确。应改为 int Bas:n=0; 。43.下面程序用于输出最小值,有一处错误。 #include iostream.h class Test int a, b; int getmin() return (ab? a:b); public: int c; void setValue( int x1, int x2, int x3 ) a =x1; b =x2; c

    35、=x3; int GetMin(); ; int Test:GetMin() int d = getmin (); return (d=dc? d:c); void main() Test t1; t1.setValue(34,6,2); cout t1.getmin () endl; (分数:4.00)_正确答案:()解析:coutt1.getmin()endl; 成员函数 getmin()采用默认的访问权限即私有的,在外部无法访问。应改为 coutt1.GetMin()endl; 。44.下面程序的功能是生成具有 n个元素的动态数组。 #include iostream.h void ma

    36、in() int n; cin n; int an; a0 =2; cout a0 endl; (分数:4.00)_正确答案:()解析:int an; 生成具有 n个元素的动态数组,要使用 new,所以 int an;错误。应改为 int *a=new intn;。45.#include iostream.h class Test int x, y; public: void fun(int i, int j) x=i; y=j; void show() cout “x = “ x; if(y) cout “, y = “ y endl; cout endl; ; void main() Te

    37、st a; a.fun(1); a.show(); a.fun(2,4); a.show(); (分数:4.00)_正确答案:()解析:int i, int j 调用 fun函数时,既有一个参数,也有两个参数,且没有重载,所以 fun函数的参数需要带默认值。所以应改为 int i, int j=0(只要 j有一个 int类型的数据就行)。四、完成程序题(总题数:5,分数:20.00)46.下面程序实现将大写字母转换成小写字母的功能。 #include iostream.h void main() char a; _ cin a; if(_) a=a+i; cout a endl; (分数:4.

    38、00)_正确答案:()解析:int i=32; a=“A“ public: f(T a =0, T b =0) x =a; y =b; void sum() s=x+y; T gets (); ; template class T _ return s; void main() _a(1.5,3.8); a.sum(); cout a.gets () endl; (分数:4.00)_正确答案:()解析:T fT:gets() fdouble48.下面程序用于输出三角形的面积,请在下横线处填上正确的语句。 #include iostream.h #include math.h void area

    39、() double a, b, c; cout “Input a b c:“ ; _ if(a +b c _ cout “The area is:“ s endl; else cout “Error“ endl; void main() area(); (分数:4.00)_正确答案:()解析:cinabc; double s=sqrt(1*(1-a)*(1-b)*(1-c);49.#include iostream.h class Samp public: void Setij(int a, int b)i =a, j =b; Samp() cout “Destroying “ i endl; int GetMuti() return i * j; protected : int i; int j; ; int main() Samp * p; p = new Samp _ ; if( ! p) cout “ Allocation error/n“ ; return 1; for(int j =0; j 5; j + ) pjSetij(j, j); for(int k =0; k 5; k +) cout “Muti“ k “ is:“ pk._endl; _ return 0; (分数:4.00)_


    注意事项

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




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

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

    收起
    展开