【学历类职业资格】C++程序设计自考题模拟10及答案解析.doc
《【学历类职业资格】C++程序设计自考题模拟10及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计自考题模拟10及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计自考题模拟 10及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.关于 C+主函数的描述,正确的是_(分数:1.00)A.有且只能有一个,名称不限B.可以有多个,名称不限C.有且只能有一个,名称为 mainD.可以有多个,名称为 main2.定义析构函数时,说法正确的是_(分数:1.00)A.其名与类名完全相同B.返回类型是 void类型C.无形参,也不可重载D.函数体中必须有 delete语句3.C+类体系中,不能被派生类继承的有_(分数:1.00)A.常成员函数B.构造函数C.虚函数D.静态成员函数4.假定一个类的构造
2、函数为 A(int aa, int bb)a=aa+; b=a*+bb; ,则执行 A x(4,5); 语句后,x.a和 x.b的值分别为_(分数:1.00)A.4和 5B.4和 20C.4和 24D.20和 55.下面对静态成员的描述中,正确的是_(分数:1.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不受 private控制符限制D.静态数据成员可以直接用类名调用6.使用下列哪个流格式控制符可设置转换基数为八进制_(分数:1.00)A.decB.octC.hexD.endl7.下列选项中,对类 A的析构函数的正确定义是_(分数:1.00)
3、A.A:A(void)B.void A:A(参数)C.A:A(参数)D.void A:A()8.对于 int *pa5; 的描述,正确的是_(分数:1.00)A.pa是一个指向数组的指针,所指向的数组是 5个 int型元素B.pa是一个指向某个数组中第 5个元素的指针,该元素是 int型变量C.pa5表示某个数组的第 5个元素的值D.pa是一个具有 5个元素的指针数组,每个元素是一个 int型指针9.关于 new运算符的描述中,错误的是_(分数:1.00)A.它可以用来动态创建对象和对象数组B.使用它创建的对象或对象数组可以使用运算符 delete删除C.使用它创建对象时要调用构造函数D.使用
4、它创建对象数组时必须指定初始值10.下列给字符数组进行初始化中,正确的是_(分数:1.00)A.char s1=“/n“;B.char s23=“xyz“;C.char s33=“a“, “x“, “y“;D.char s42,4=“xyz“, “mnp“;11.将一个函数声明为内联函数时所使用的关键字为_(分数:1.00)A.signedB.shortC.constD.inline12.若有以下定义,则说法错误的是_ int a=100, *p=(分数:1.00)A.声明变量 p,其中*表示 p是一个指针变量B.变量 p经初始化,获得变量 a的地址C.变量 p只可以指向一个整型变量D.变量
5、p的值为 10013.在函数定义中的形参属于_(分数:1.00)A.全局变量B.局部变量C.静态变量D.寄存器变量14.下列说法中正确的是_(分数:1.00)A.所有的运算符都能被重载B.运算符被重载时,它们的优先级与结合性不会改变C.当需要时,我们可以自定义一个运算符来进行重载D.每个运算符都可以被重载成成员函数和友元函数15.对于类中的成员,使用 protected修饰,表明该成员的访问权限是_(分数:1.00)A.公有的B.私有的C.保护的D.不可见16.析构函数的参数个数为_(分数:1.00)A.0个B.1个C.至少 1个D.多于 1个17.基类的 protected成员,通过 pro
6、tected派生,其在派生类中为_(分数:1.00)A.publicB.privateC.protectedD.不可访问18.下列哪个编译指令不属于条件编译指令_(分数:1.00)A.#ifB.#elseC.#endifD.#error19.有关多态性说法不正确的是_(分数:1.00)A.C+语言的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态多态性20.友元关系不能_(分数:1.00)A.提高程序的运行效率B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.继承二、第部分 非选择题
7、(总题数:20,分数:20.00)21.一个 const对象只能访问 1 成员函数。 (分数:1.00)22.如果一个引用不是用作函数参数或返回值,则在说明该引用时必须对它进行 1。 (分数:1.00)23.A是一个类,已有语句“A * p; p=new A10; ”,要释放由 p指向的动态空间,正确的语句应该是 1。 (分数:1.00)24.定义 1 函数时,应在参数个数或参数类型上有所不同。 (分数:1.00)25.将指向对象的引用作为函数的形参,形参是对象的引用,实参是 1。 (分数:1.00)26.在编译指令中,宏定义使用 1 指令。 (分数:1.00)27.如果要把类 B的成员函数
8、void fun()说明为类 A的友元函数,则应在类 A中加入语句 1。 (分数:1.00)28.如果一个派生类只有一个唯一的基类,则这样的继承关系称为 1。 (分数:1.00)29.在保护派生中,基类权限为 public的成员在派生类中为 1。 (分数:1.00)30.若函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的 1 语句。 (分数:1.00)31.如果要把 PI声明为值为 3.14159的双精度实数的符号常量,该声明语句是 1。 (分数:1.00)32.在 C+中要创建一个文件输入流对象 fin,同时该对象打开文件“Test.txt”用于输入,则正确的声明语句是 1。 (
9、分数:1.00)33.已知有 20个元素的 int型向量 V1,若用 V1初始化向量 V2,语句是 1。 (分数:1.00)34.若类的成员函数用关键字 static进行修饰,这样的成员函数称为 1。 (分数:1.00)35.C+中能提供封装的关键字是 1。 (分数:1.00)36.C+中有两种继承方式:单一继承和 1。 (分数:1.00)37.类模板用来表达具有 1 的模板类对象集。 (分数:1.00)38.预处理命令以 1 符号开头。 (分数:1.00)39.在 C+中,利用向量类模板定义一个具有 10个 int的向量 A,其元素均被置为 1,实现此操作的语句是 1。 (分数:1.00)4
10、0.类是用户定义的类型,具有类类型的变量称作 1。 (分数:1.00)三、改错题(总题数:5,分数:20.00)41.下面程序实现数值、字符串的交换。 #includeiostream #includestring using namespace std; templateclass T void Swap(T temp=a; a=b; b=temp; void main() int a=5, b=9; char s1=“Hello“, s2=“hi“; Swap(a, b); Swap(s1, s2); cout“a=“a“, b=“bendl; cout“s1=“s1“, s2=“s2en
11、dl; (分数:4.00)_42.#include iostream class B int a, b; const int c; public: B(inti=0, int j=0) a=i; b=j; c=i-j; ; void main() B a, b(3,5); B x = a, z(5,9); (分数:4.00)_43.#include iostream.h class fract private: int den; int num; public: fraet(int d =0, int n = 1):den(d), num(n) friend fract void show()
12、 cout den “/“ num; ; friend fract f1.num* = f2.num; return f1; void main () fraet fr(3,4); fr+ = fract(5,7); fr.show(); cout endl; (分数:4.00)_44.#include iostream.h class A private: int x; protected: int y; public: A(int i, int j) x =i; y =j; ; class B:public A public: B(int a, int b):A(a, b) void sh
13、ow() cout x “,“ y endl; ; void main() B b(8,9); b.show(); (分数:4.00)_45.#include iostream.h class Base protected: int x; public: virtual void fun() = 0; ; class Derived:public Base int z; public: Derived ( int i ) z = 5; void fun() cout “派生类 fun():“ “z = “ z endl; ; void main() Derived b _ ; Base * p
14、 =new Base(6); p= p - fun(); (分数:4.00)_四、完成程序题(总题数:5,分数:20.00)46.请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为: 11,10 13,12 #include iostream.h class A int a; public: A(int i =0) a =i; int Geta() return a; void show() cout a endl; ; class B A a; int b; public: B ( int i, int j)_ void show() cout a.Geta() “,“ b e
15、ndl; ; void main () B b2 =B(10,11), B(12,13); for(int i =0; i 2; i + ) _ (分数:4.00)_47.#include iostream.h #include stdlib.h class arr _ int s; public: arr(int a, int n) v=a; s=n; int size() return s; int ; _() (int n) if( n s) cerr “下标越界!“ endl; exit _ ; return v n ; (分数:4.00)_48.输出数组中的最小数。 #include
16、 iostream.h void main() int a = 34,91,83,56,29,93,56,12,88,72; int index = 0; int _/sizeof( * a); for(int i = 1 ; i n; i + ) if( a index ai ) _ cout “a 数组最小数:“ a index endl; (分数:4.00)_49.下面程序中 Base是抽象类。请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:Der1 called ! Der2 called ! #include iostream.h class Base public
17、: _; ; class Der1 :public Base public: void display() cout “Der1 called!“ endl; ; class Der2:public Base public: void display() cout “Der2 called!“ endl; ; void fun(_) p - display (); void main() Der1 b1; Der2 b2; Base * p= fun(p); p = fun(p); (分数:4.00)_50.下面程序中用来求数组和。请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出
18、为:s = 150。 #include iostream.h class Arr int * a, n; public: Arr():a(0), n(0) Arr(int * aa, int nn) n=nn; a=new int n; for( int i =0; i nn; i + ) * (a+i) = * (aa+i); Arr()delete a; _ return *(a+i); ; void main() int b5 = 10,20,30,40,50; Arr a1 (b,5); int i =0, s=0; _ s + = a1.GetValue(i); cout “s =
19、“ s endl; (分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.给出下面程序的输出结果。 #include iostream.h class A int *a; public: A( int x =0):a( new int(x) ) A() deletea; int getA() return * a; void setA(int x) *a=x; ; void main() A x1, x2(3); A * p = ( *p).setA(x2.getA() +5); x1.setA( 10 +x1.getA() ); cout x1.getA() “ “ x2.
20、getA() endl; (分数:5.00)_52.给出下面程序的输出结果。 #include iostream.h template class T class Num Tx, y; public: Num(T i, T j =0) x =i; y =j; void set(T i, T j =0) x =i; y =j; void show() cout x; if(y! =0) cout(y0? “+“; “-“) (y0? y:-y) “i“; cout endl; ; void main () Num int n(1); n.show(); n.set(2,3); n.show();
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 考题 模拟 10 答案 解析 DOC
