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

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

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

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

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

    1、C+程序设计自考题模拟 8 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.C+语言是以_语言为基础逐渐发展演变而成的一种程序设计语言。(分数:1.00)A.PascalBCCBD.Simula 672.设 int x=56; int r=x; 若 cout 显示 0012FFTA,则 cout 输出值为_(分数:1.00)A.56B.0012FF7AC.0012FF7BD.未知3.存在定义 int a10, x, *pa; ,若 pa=B.x=*(a+1);C.x=*(pa+1);D.x=a1;4.C+语言中所有在函数中定义的变量

    2、,连同形式参数,都属于_(分数:1.00)A.全局变量B.局部变量C.静态变量D.函数5.在 C+类体系中,不能被派生类继承的有_(分数:1.00)A.常成员函数B.静态成员函数C.虚函数D.析构函数6.下列选项中不是 C+语言关键字的是_(分数:1.00)A.typedefB.mycaseC.typeidD.typename7.下列对模板的声明中正确的是_(分数:1.00)A.templateTB.templateT1, class T2C.templateclass T1, class T2D.templateclass T1; class T28.下列关于构造函数的描述中,错误的是_(分

    3、数:1.00)A.构造函数可以设置默认参数B.构造函数在说明类对象时自动执行C.构造函数可以对静态数据成员进行初始化D.构造函数可以重载9.下列对静态数据成员的描述中,正确的是_(分数:1.00)A.静态数据成员是类的所有对象共享的数据B.静态数据成员应在类体中初始化C.类的不同对象有不同的静态数据成员值D.静态数据成员不能被友元函数访问10.已知 print()函数是一个类的常成员函数,它无返回值,下列表示中正确的项是_(分数:1.00)A.void print()constB.const void print()C.void const print()D.void print(const)

    4、11.下列对派生类的描述中,错误的是_(分数:1.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的默认继承方式是 privateD.派生类只继承了基类的公有成员和保护成员12.虚函数必须是类的_(分数:1.00)A.成员函数B.友元函数C.构造函数D.析构函数13.关于纯虚函数,下列表述中正确的是_(分数:1.00)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0; ”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类14.关于抽象类,下列表述中正确的是_(分数:1.00)A.抽象类的成员函数中至少有一

    5、个是没有实现的函数(即无函数体定义的函数)B.派生类必须实现作为基类的抽象类中的纯虚函数C.派生类不可能成为抽象类D.抽象类不能用来定义对象15.保证编译器正确调用成员函数的规则是_(分数:1.00)A.赋值兼容B.继承C.作用域D.支配16.下列关于向量的叙述,不正确的是_(分数:1.00)A.向量的长度可变B.向量有返回无需再次分配内存就能容纳的对象个数的成员函数 capacity()C.如果数量已满,当增加一个元素时,向量成员函数 capacity()的长度自动增加D.如果数量已满,当需要增加一个元素时,capacity()的长度每次自动增加一个17.下列各项不是 C+中的标准设备名的是

    6、_(分数:1.00)A.stdinB.coutC.clogD.cerr18.在下列成对的表达式中,运算符“/”的意义相同的一对是_(分数:1.00)A.8/3 和 8.0/3.0B.8/3.0 和 8/3C.8.0/3 和 8/3D.8.0/3.0 和 8.0/319.在重载一个运算符函数时,其参数表中没有任何参数,这说明该运算符是_(分数:1.00)A.一元非成员运算符B.一元成员运算符C.二元非成员运算符D.二元成员运算符20.关于类模板,下列表述中不正确的是_(分数:1.00)A.类模板中声明的类称为模板类B.类模板只能有虚拟类型参数C.类模板本身在编译中不会生成任何代码D.类模板的成员

    7、函数都是模板函数二、第部分 非选择题(总题数:20,分数:20.00)21.cout 是 C+中的标准输出流对象,它通常代表 1。 (分数:1.00)22.C+中的输入/输出是以字节 1 的形式实现的。 (分数:1.00)23.构造函数是和 1 同名的函数。 (分数:1.00)24.对象的成员函数可以通过 1 指针访问对象自身。 (分数:1.00)25.如果类的成员对象不提供成员初始化值,则调用该对象的 1。 (分数:1.00)26.若要把 FriendClass 定义为类 Myclass 的友元类,则应在类 MyClass 的定义中加入语句 1。 (分数:1.00)27.如果类 Derive

    8、d 继承了类 Base,则类 Derived 称为 1 类,类 Base 称为 2 类。 (分数:1.00)28.对虚函数的调用有两种方式:多态调用和 1。 (分数:1.00)29.在 C+中,编译时的多态性是通过 1 和模板体现的。 (分数:1.00)30.在虚函数原型的语句结束符“;”之前加上 1,即将该函数声明为纯虚函数。 (分数:1.00)31.在派生类中,对类对象成员、基类成员和非类对象成员的初始化顺序是 1。 (分数:1.00)32.假定用户没有给一个名字为 Sample 的类定义构造函数,则系统为其隐含定义的构造函数为 1。 (分数:1.00)33.在 C+流类库中,根基类为 1

    9、。 (分数:1.00)34.如果表达式-x 中的“-”是重载的类成员函数运算符,采用运算符函数调用格式时,该表达式应表示为 1。 (分数:1.00)35.在派生类中重新定义虚函数时必须在 1 和参数上和基类保持一致。 (分数:1.00)36.文件流类的 1 成员函数的功能是打开一个文件。 (分数:1.00)37.返回向量中的最后一个对象的成员函数是 1。 (分数:1.00)38.返回当前容器中已经存放的对象个数的成员函数是 1。 (分数:1.00)39. 1 可以视为是单一继承的扩展。 (分数:1.00)40.如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是 1。 (分数:1.

    10、00)三、改错题(总题数:5,分数:20.00)41.#includeiostream.h class f private: float x, y; public: f(float a, float b)x=a; y=b; float max()return(xy)?x:y; /求最大值 ; void main() fa(1.5,3.5); couta.max()endl; (分数:4.00)_42.#includeiostream.h class f private: int x, y; public: void fl(int a, int b)x=a; y=b; void print()c

    11、outxyendl; ; void main() fa; a.fl(1.5,1.8); a.print(); (分数:4.00)_43.#include iostream.h class A int i; public: virtual void fun() =0; A(int a) i=a; ; class B:public A int j; public: void fun () cout “B:fun()/n“ ; B(int m, int n =0):j(n) ; void main() A *pa; B b(7); pa = (分数:4.00)_44.#include iostrea

    12、m.h class X public: int x; public: X( int x) cout this - x = x endl; X( X cout t.x endl; void fun(X); ; void fun(X t) cout t.x endl; void main () fun(X(10); (分数:4.00)_45.#include iostream using namespace std; class Date; class Time public: Time ( int h, int m, int s) hour = h; minute = m; sec = s; v

    13、oid show(Date private: int hour, minute, sec; ; class Date public: Date( int m, int d, int y) month = m; day = d; year = y; void Time:show( Date private: int month, day, year; ; void Time: show( Date cout hour “:“ minute “:“ sec endl; void main () Time t1 (9,23,50); Date d1 (12,20,2010); t1.show( d1

    14、 ); (分数:4.00)_四、完成程序题(总题数:5,分数:20.00)46.在下面横线处填上正确的内容,完成类的定义。 class Base int x; static const int b; public: Base( int, int); const int ; _ b=15; Base:Base(int i, int j): _ (分数:4.00)_47.在下列程序的横线处填上适当的语句,使输出为:0,2,10。 #include iostream.h #include math.h class Magic double x; public: Magic (double d = 0

    15、.00):x ( fabs (d) ) Magic operator + (_) return Magic( sqrt( x * x + c.x * c.x) ); _ operator ( ostream return stream; ; void main() Magic ma; cout ma “, “ Magic (2) “, “ ma + Magic ( - 6) + Magic ( - 8 ) endl; (分数:4.00)_48.#include iostream #include fstream using namespace std; class complex public

    16、: int real; int imag; complex( int r = 0, int i = 0) real = r; imag = i; ; complex operator + (_, complex int i = a.imag + b.imag; return _; void main () complex x(1,2), y(3,4), z; z=x+y; cout z.real “ + “ z.imag “i“ endl; (分数:4.00)_49.采用冒泡法对数组 a 中的整数由小到大进行排序。 #include iostream.h void sort(int b, in

    17、t n) int i, j =0, t; for(i= 1; i n; i+) for(j =0; _; j + ) if(bj bj+1) t=bj; _; bj+1 =t; void main() int a =3,2,7,1,19,6,2,8; int i ; for(i =0; i 8; i +) cout ai “ “; cout endl; sort(a,8); for(i =0; i 8; i + ) cout ai “ “; cout endl; (分数:4.00)_50.程序的输出结果如下: m=4.3, n=3 m=6, n=9 请根据输出数据在下面程序的横线处填写正确的语

    18、句。 #include iostream.h _ class Test private: T1 m, n; public: Test(T1 i, T1 j)m=i; n=j; void show() cout “m = “ m “ , n = “ n endl; ; void main() Test double a(4.3,3); a.show(); _b(6,9.6); b.show(); (分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.#include iostream.h class Complex public: Complex(double r =0, do

    19、uble v =0):real(r), virt(v) friend Complex operator + (Complex a, Complex b); friend ostream private: double real; double virt; ; ostream Complex operator + ( Complex a, Complex b) return Complex( a.real + b.real, a.virt + b.virt) ; void main() Complex a(2,5), b(7,8), c(0,0); c=a+b; cout c; c=4.1 +a

    20、; cout c; c=b+5.6; cout c; (分数:5.00)_52.#include iostream.h class Base public: Base ( int x, int y) a=x; b=y; virtual void Show() cout “ Base:“ a “,“ b; private: int a, b; ; class Derived:public Base public: Derived(int x, int y, int z):Sase(x, y), c(z) void Show() Base:Show(); cout “ Derived:“ c en

    21、dl; private: int c; ; void main() Base b(10,20); Base * ref = Derived d(30,60,90); ref- Show(); cout endl; ref = ref - Show (); (分数:5.00)_六、程序设计题(总题数:1,分数:10.00)53.已知交通工具类定义如下。 要求:(1)实现这个类;(2)定义并实现一个小车类 car,是它的公有派生类,小车本身的私有属性有载人数,小车的函数有 init(设置车轮数,重量和载人数),getpassenger(获取载人数),print(打印车轮数,重量和载人数)。 cla

    22、ss vehicle protected: int wheels;/车轮数 float weight;/重量 public: void init( int wheels, float weight); int get_wheels(); float get_weight (); void print(); ; void vehicle:init( int wheels, float weight) this - wheels = wheels; this - weight = weight; cout wheels endl; int vehicle:get_wheels() return w

    23、heels; float vehicle:get_weight () return weight; void vehicle:print() cout “车轮数:“ wheels “,“ “重量:“ weight endl; (分数:10.00)_C+程序设计自考题模拟 8 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.C+语言是以_语言为基础逐渐发展演变而成的一种程序设计语言。(分数:1.00)A.PascalBC CBD.Simula 67解析:2.设 int x=56; int r=x; 若 cout 显示 0012FFTA,

    24、则 cout 输出值为_(分数:1.00)A.56B.0012FF7AC.0012FF7BD.未知 解析:考点 本题主要考查的知识点为取地址运算符 输出的为变量 x 的地址,而语句cout 输出的为变量 r 的地址,故本题选 D。3.存在定义 int a10, x, *pa; ,若 pa= B.x=*(a+1);C.x=*(pa+1);D.x=a1;解析:考点 本题主要考查的知识点为数组和指针的使用。 A 项取得 a0,其他三项都是 a1元素的值。4.C+语言中所有在函数中定义的变量,连同形式参数,都属于_(分数:1.00)A.全局变量B.局部变量 C.静态变量D.函数解析:考点 本题主要考查

    25、的知识点为变量的作用域。 变量可分为两类:全局变量和局部变量。在函数外部定义的变量称为全局变量,其作用域为从定义变量的位置开始到源程序结束。在函数内部定义的变量称为局部变量,其作用域为从定义变量的位置开始到函数结束。5.在 C+类体系中,不能被派生类继承的有_(分数:1.00)A.常成员函数B.静态成员函数C.虚函数D.析构函数 解析:考点 本题主要考查的知识点为继承。 派生类继承了基类的全部数据成员和除了构造函数、析构函数之外的全部成员函数。6.下列选项中不是 C+语言关键字的是_(分数:1.00)A.typedefB.mycase C.typeidD.typename解析:7.下列对模板的

    26、声明中正确的是_(分数:1.00)A.templateTB.templateT1, class T2C.templateclass T1, class T2 D.templateclass T1; class T2解析:考点 本题主要考查的知识点为模板的声明。 模板形参表中的每个参数前都应有关键字 class 或 typename,形参之间用逗号隔开。8.下列关于构造函数的描述中,错误的是_(分数:1.00)A.构造函数可以设置默认参数B.构造函数在说明类对象时自动执行C.构造函数可以对静态数据成员进行初始化 D.构造函数可以重载解析:考点 本题主要考查的知识点为构造函数。 构造函数不能对静态

    27、数据成员进行初始化,静态数据成员要在类体外进行初始化。9.下列对静态数据成员的描述中,正确的是_(分数:1.00)A.静态数据成员是类的所有对象共享的数据 B.静态数据成员应在类体中初始化C.类的不同对象有不同的静态数据成员值D.静态数据成员不能被友元函数访问解析:10.已知 print()函数是一个类的常成员函数,它无返回值,下列表示中正确的项是_(分数:1.00)A.void print()const B.const void print()C.void const print()D.void print(const)解析:11.下列对派生类的描述中,错误的是_(分数:1.00)A.一个派

    28、生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的默认继承方式是 privateD.派生类只继承了基类的公有成员和保护成员 解析:考点 本题主要考查的知识点为派生类。 派生类继承了基类的全部数据成员和除了构造、析构函数之外的全部成员函数,D 项错误。12.虚函数必须是类的_(分数:1.00)A.成员函数 B.友元函数C.构造函数D.析构函数解析:13.关于纯虚函数,下列表述中正确的是_(分数:1.00)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0; ”结束 C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类解析:14.关

    29、于抽象类,下列表述中正确的是_(分数:1.00)A.抽象类的成员函数中至少有一个是没有实现的函数(即无函数体定义的函数)B.派生类必须实现作为基类的抽象类中的纯虚函数C.派生类不可能成为抽象类D.抽象类不能用来定义对象 解析:考点 本题主要考查的知识点为抽象类。 拥有纯虚函数的类称为抽象类,抽象类不能用来定义对象。一个抽象类的派生类可以不重新定义来自基类的纯虚函数,即该派生类也成为抽象类,故本题选 D。15.保证编译器正确调用成员函数的规则是_(分数:1.00)A.赋值兼容B.继承C.作用域 D.支配解析:16.下列关于向量的叙述,不正确的是_(分数:1.00)A.向量的长度可变B.向量有返回

    30、无需再次分配内存就能容纳的对象个数的成员函数 capacity()C.如果数量已满,当增加一个元素时,向量成员函数 capacity()的长度自动增加D.如果数量已满,当需要增加一个元素时,capacity()的长度每次自动增加一个 解析:考点 本题主要考查的知识点为向量。 capacity 用于返回无需再次分配内存就能容纳的对象个数。当存放空间已满,又增加一个元素时,它在原来的基础上自动翻倍扩充空间,故 D 项错误。17.下列各项不是 C+中的标准设备名的是_(分数:1.00)A.stdin B.coutC.clogD.cerr解析:考点 本题主要考查的知识点为 C+预定义流对象。 C+流有

    31、 4 个预定义的流对称,它们的名称及与之联系的 I/O 设备为 cin:标准输入;cout:标准输出;cerr:标准出错信息输出;clog:带缓冲的标准出错信息输出。18.在下列成对的表达式中,运算符“/”的意义相同的一对是_(分数:1.00)A.8/3 和 8.0/3.0B.8/3.0 和 8/3C.8.0/3 和 8/3D.8.0/3.0 和 8.0/3 解析:19.在重载一个运算符函数时,其参数表中没有任何参数,这说明该运算符是_(分数:1.00)A.一元非成员运算符B.一元成员运算符 C.二元非成员运算符D.二元成员运算符解析:20.关于类模板,下列表述中不正确的是_(分数:1.00)

    32、A.类模板中声明的类称为模板类B.类模板只能有虚拟类型参数 C.类模板本身在编译中不会生成任何代码D.类模板的成员函数都是模板函数解析:二、第部分 非选择题(总题数:20,分数:20.00)21.cout 是 C+中的标准输出流对象,它通常代表 1。 (分数:1.00)解析:计算机的屏幕22.C+中的输入/输出是以字节 1 的形式实现的。 (分数:1.00)解析:流23.构造函数是和 1 同名的函数。 (分数:1.00)解析:类24.对象的成员函数可以通过 1 指针访问对象自身。 (分数:1.00)解析:this25.如果类的成员对象不提供成员初始化值,则调用该对象的 1。 (分数:1.00)

    33、解析:默认构造函数26.若要把 FriendClass 定义为类 Myclass 的友元类,则应在类 MyClass 的定义中加入语句 1。 (分数:1.00)解析:friend class FriendClass;27.如果类 Derived 继承了类 Base,则类 Derived 称为 1 类,类 Base 称为 2 类。 (分数:1.00)解析:派生 基28.对虚函数的调用有两种方式:多态调用和 1。 (分数:1.00)解析:非多态调用29.在 C+中,编译时的多态性是通过 1 和模板体现的。 (分数:1.00)解析:函数重载30.在虚函数原型的语句结束符“;”之前加上 1,即将该函数

    34、声明为纯虚函数。 (分数:1.00)解析:=031.在派生类中,对类对象成员、基类成员和非类对象成员的初始化顺序是 1。 (分数:1.00)解析:基类成员,类对象成员,非类对象成员32.假定用户没有给一个名字为 Sample 的类定义构造函数,则系统为其隐含定义的构造函数为 1。 (分数:1.00)解析:Sample()33.在 C+流类库中,根基类为 1。 (分数:1.00)解析:ios34.如果表达式-x 中的“-”是重载的类成员函数运算符,采用运算符函数调用格式时,该表达式应表示为 1。 (分数:1.00)解析:x.operator-()35.在派生类中重新定义虚函数时必须在 1 和参数

    35、上和基类保持一致。 (分数:1.00)解析:函数名36.文件流类的 1 成员函数的功能是打开一个文件。 (分数:1.00)解析:open37.返回向量中的最后一个对象的成员函数是 1。 (分数:1.00)解析:back()38.返回当前容器中已经存放的对象个数的成员函数是 1。 (分数:1.00)解析:size()39. 1 可以视为是单一继承的扩展。 (分数:1.00)解析:多重继承40.如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是 1。 (分数:1.00)解析:类的成员对象三、改错题(总题数:5,分数:20.00)41.#includeiostream.h class

    36、f private: float x, y; public: f(float a, float b)x=a; y=b; float max()return(xy)?x:y; /求最大值 ; void main() fa(1.5,3.5); couta.max()endl; (分数:4.00)_正确答案:()解析:return(xy)? x:y; 该语句求的是最小值。应改为 return(xy)? x:y; 或 return(xy)? y:x; 。42.#includeiostream.h class f private: int x, y; public: void fl(int a, int

    37、 b)x=a; y=b; void print()coutxyendl; ; void main() fa; a.fl(1.5,1.8); a.print(); (分数:4.00)_正确答案:()解析:a.fl(1.5,1.8); fl 调用时实参与形参类型不一致。43.#include iostream.h class A int i; public: virtual void fun() =0; A(int a) i=a; ; class B:public A int j; public: void fun () cout “B:fun()/n“ ; B(int m, int n =0):

    38、j(n) ; void main() A *pa; B b(7); pa = (分数:4.00)_正确答案:()解析:B(int m, int n=0):j(n)在派生类的构造函数初始化列表中要先调用基类的构造函数对基类成员初始化。应改为 B(int m, int n=0):A(m), j(n)。44.#include iostream.h class X public: int x; public: X( int x) cout this - x = x endl; X( X cout t.x endl; void fun(X); ; void fun(X t) cout t.x endl;

    39、 void main () fun(X(10); (分数:4.00)_正确答案:()解析:coutthis-x=xendl; 要输出 this-x=x,则表达式的值要加括号。应改为cout(this-x=x)endl; 。45.#include iostream using namespace std; class Date; class Time public: Time ( int h, int m, int s) hour = h; minute = m; sec = s; void show(Date private: int hour, minute, sec; ; class Da

    40、te public: Date( int m, int d, int y) month = m; day = d; year = y; void Time:show( Date private: int month, day, year; ; void Time: show( Date cout hour “:“ minute “:“ sec endl; void main () Time t1 (9,23,50); Date d1 (12,20,2010); t1.show( d1 ); (分数:4.00)_正确答案:()解析:void Time:show(Date 成员函数作为友元函数,要

    41、加 friend。应改为 friend void Time:show(Date 。四、完成程序题(总题数:5,分数:20.00)46.在下面横线处填上正确的内容,完成类的定义。 class Base int x; static const int b; public: Base( int, int); const int ; _ b=15; Base:Base(int i, int j): _ (分数:4.00)_正确答案:()解析:const int Base: x(i), a(j)或 x(j), a(i)47.在下列程序的横线处填上适当的语句,使输出为:0,2,10。 #include iostream.h #inc


    注意事项

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




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

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

    收起
    展开