【学历类职业资格】C++程序设计自考题模拟16及答案解析.doc
《【学历类职业资格】C++程序设计自考题模拟16及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计自考题模拟16及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计自考题模拟 16 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.有关 C+编译指令,以下叙述错误的是_(分数:1.00)A.C+每行可以只能写一条编译指令B.#include 指令中的文件名可含有路径信息C.C+的编译指令可以以“#”开始D.C+中不管 if 后的常量表达式是否为真,该部分都需要编译2.C+标准引入新的标准类库的头文件时,省略了“.h“,不过需要使用下列命名空间语句_(分数:1.00)A.“using namespace std;“B.“use namespace std;“C.“using names
2、pace std“D.“using namsespace;“3.函数调用 func(exp1,exp2),(exp3,exp4,exp5)中所含实参的个数为_(分数:1.00)A.1B.4C.2D.54.C+中用来取对象存储首地址的地址运算符是_(分数:1.00)A.中,cout 是_(分数:1.00)A.C+的关键字B.类名C.对象名D.函数名14.下列有关类模板的说法有误的是_(分数:1.00)A.在类体外面定义成员函数时,必须用 template 重写类模板声明,格式为:template模板参数B.类模板可以派生,方法和普通类一样C.类模板不可以继承D.初始化类模板时,只要传给它指定的数
3、据类型,编译器就用指定类型代替模板参数产生相应的模板类15.有关公有静态成员的访问方式,错误的是_(分数:1.00)A.类名:静态成员名B.对象名.静态成员名C.对象指针-静态成员名D.对象指针.静态成员名16.下列关于类的成员访问权限的说法错误的是_(分数:1.00)A.类的成员函数可以直接访问使用自己的类的私有成员B.类外面的函数不能访问类的数据成员、成员函数C.如果对象 A 和 B 的成员函数代码一样,则两个对象区别是属性的值D.类外面的函数可以通过类对象使用该类的公有成员函数17.flag=0 为 int 类型,关于循环 while(flag=1)的叙述中,正确的是_(分数:1.00)
4、A.循环控制条件为真B.循环控制条件为假C.循环控制表达式不合法D.以上说法都不对18.操控符 setprecision(int n),必须包含在以下哪个头文件中_(分数:1.00)A.iostreamB.fstreamC.ifstreamD.iomanip19.如果采用运算符函数调用格式重载“+“运算符,则可表示为_(分数:1.00)A.operator+()B.operator+(a)C.operator+(a,1)D.operator+(1,a)20.已知类 X,假设 Class Y: public X,即类 Y 是类 X 的派生类,则说明一个 Y 类的对象和删除 Y 类对象时,调用构造
5、函数和析构函数的次序分别为_(分数:1.00)A.X,Y;Y,XB.Y,X;X,YC.X,Y;X,YD.Y,X;Y,X二、第部分 非选择题(总题数:20,分数:20.00)21.C+语言的标准模板库 1 提供了与要操作的元素类型无关的算法。 (分数:1.00)22.在 C+程序设计中,函数分为库函数(标准函数)和 1 两类。 (分数:1.00)23.面向对象的程序设计具有抽象、封装、 1、多态性等关键要素。 (分数:1.00)24.对具有共同属性和行为的一类事物的抽象描述称为类,共同属性被描述为类中的数据成员,共同行为被描述为类中的 1。 (分数:1.00)25.C+输入/输出操控符中,含义是
6、输出一个换行符并刷新流的是 1。 (分数:1.00)26.声明指针变量 p,使其指向某数据,应使用表达式 1。 (分数:1.00)27.关键字 1 指示 C+编译器对调用虚函数进行动态联编。 (分数:1.00)28.已知类 My Class,若没有为其定义构造函数,则系统为其定义的默认构造函数形式为 1。 (分数:1.00)29. 1 是一种可视化建模语言,主要用于面向对象分析和建模。 (分数:1.00)30.UML 中实例连接反映对象之间的静态关系,消息连接描述对象之间的 1 关系。 (分数:1.00)31.只有产生类的 1,才能使用类的数据和成员函数。 (分数:1.00)32.在 C+程序
7、设计中,类中构造函数有 1 或多个,析构函数有 1 个。 (分数:1.00)33. 1(a,a+len,value)查找数组 a 的内容是否存在值为 value 的元素。 (分数:1.00)34.C+中语句 const char * const p=“hello“;所定义的指针 p 和它所指的内容都不能被 1。 (分数:1.00)35.不同的对象可以调用相同的名称的函数,但可导致完全不同的行为的现象称为 1。 (分数:1.00)36.下列语句的输出结果是 1。 cout.setf(ios:showpos); cout111.1endl; (分数:1.00)37.使用 1 作为函数参数,实参和形
8、参对象代表同一对象,所以改变形参对象的值就是改变实参对象的值。(分数:1.00)38.请将下列类定义补充完整。 class Base public: void fun() cout“Base:fun“endl; ; class Derived: public Base public: void fun() 1 /显式调用基类的 fun 函数 cout“Derived:fun“endl; (分数:1.00)39.this 指针始终指向调用成员函数的 1。 (分数:1.00)40.已知类 AB 在该类中含有一个指向动态数组空间的指针成员 pa,则在该类的析构函数中应该包含一条 1 语句。 (分数:
9、1.00)三、改错题(总题数:5,分数:20.00)41.修改程序中的错误,使其输出为 3,2。 #includeiostream using namespace std; void swap(int a, int b) int temp; temp=a; a=b; b=temp; void main 1 int a=2, b=3; swap(a, b); couta“, “bendl; (分数:4.00)42.#includeiostream #includestring using namespaee std; class A int m; static int n; public: A(
10、int i=0)n+; m=i; void show 1cout“n:“nendl; ; A:n=0; class D: public A public: D(int i=0):A(i) ; void main 2 D d(3); D.show 3; (分数:4.00)43.class Point private: int a(2), b(3); public: void setab(int a, int b) ; (分数:4.00)44.下面程序实现输出半径为 2.5 的圆的面积,但输出结果是 0,找出原因并提出修改意见。 #includeiostream using namespace s
11、td; class point private: float x, y; public: float area 1return 0.0; ; const float pi=3.14159f; class circle: public point private: float radius; public: void setRadius(float r)radius=r; float area 2return pi*radius*radius; ; void main 3 point *p; circle c; c.setRadius(2.5); p= cout“The area of circ
12、le is“p-area 4endl; (分数:4.00)45.下列是求 1000 之内的所有完数的程序。所谓完数,是指一个数恰好等于它的所有因子之和。例如,因为 6=1+2+3,所以 6 为完数。试改正程序中的错误。 【解答】 #includeiostream using namespace std; int main 1 int i, j, s; for(i=1; i=1000; i+) s=0; for(j=1; ji; j+) if(i%j=0) s=s+j; if(i=s) coutiendl; (分数:4.00)四、完成程序题(总题数:5,分数:20.00)46.完成下列程序填空,
13、使其输出结果为 1.23457e+002。 #includeiostream #includeiomanip using namespace std; int main() double x=123.456789; cout_xendl; (分数:4.00)_47.下列程序定义了实部为 real,虚部为 imag 的复数类 Complex,并在类中定义了“+、-”运算符操作,请将下列程序补充完整。 class Complex public: Complex(double r=0.0, double i=0.0)real=r; imag=i; Complex operator+(Complex)
14、; friend Complex operator-(Complex, Complex); private: double feal, imag ; Complex Complex:operator+(Complex c) return Complex( _ ); Complex operator-(Complex c1, Complex c2) return Complex( _ ); (分数:4.00)_48.下列程序在构造函数和析构函数中申请和释放类的数据成员 int*a,申请时使用形参 b 初始化 a,请填空。 class A public: A(int b); A(); privat
15、e: int *a; ; A:A(int b) _; A:A() _; (分数:4.00)_49.输出数组中的最大数。 #includeiostream using namespace std; void main() int A=34, 91, 83, 56, 29, 93, 56, 12, 88, 72; int index=0; int _/sizeof(*A); for(int i=1; in; i+) if(Aindexai) _ cout“A 数组最大数:“Aindexendl; (分数:4.00)_50.class Base public: void fun()cout“Base
16、 of fun“endl; ; class Derived: public Base void fun() _ /调用基类的成员函数 fun cout“Derived of fun“endl; ; (分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.给出以下程序的输出结果。 #includeiostream using namespce std; templateclass T class pair T value1, value2; public: pair(T first, T second) value1=first; value2=second; T getmax(
17、); ; templateclass T T pairT:getmax() T retval; retval=value1value2? value1:value2; return retval; void main() pairintmyobject(100, 75); coutmyobject.getmax()endl; (分数:5.00)_52.给出下面程序的输出结果。 #includeiostream using namespace std; class A int *a; public: A(int x=0):a(new int(x) A()delete a; int getA()r
18、eturn *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(); coutx1.getA()“ “x2.getA()endl; (分数:5.00)_六、程序设计题(总题数:1,分数:10.00)53.定义一个 rectangle 类,它包含两个数据成员 length 和 width 以及用于求长方形面积的成员函数。再定义 rectangle 的派生类 rectangular,它包含一个新数据成员 height 和用来求长方体体积的成员函数。
19、在 main 函数中,使用两个类,求某个长方形的面积和某个长方体的体积。 (分数:10.00)_C+程序设计自考题模拟 16 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.有关 C+编译指令,以下叙述错误的是_(分数:1.00)A.C+每行可以只能写一条编译指令B.#include 指令中的文件名可含有路径信息C.C+的编译指令可以以“#”开始D.C+中不管 if 后的常量表达式是否为真,该部分都需要编译 解析:考点 初识 C+的函数和对象 解析 C+每行只能写一条编译指令;所有预处理语句都以行首的符号“#”开始;#include
20、指令中的文件名可以包含库文件或者指定路径的文件,所以 D 有误。2.C+标准引入新的标准类库的头文件时,省略了“.h“,不过需要使用下列命名空间语句_(分数:1.00)A.“using namespace std;“ B.“use namespace std;“C.“using namespace std“D.“using namsespace;“解析:考点 使用命名空间 解析 新的 C+标准引入了新的标准类库的头文件载入方式,即省略了“.h”,不过同时必须使用命名空间语句“using namespace std;”。3.函数调用 func(exp1,exp2),(exp3,exp4,exp5
21、)中所含实参的个数为_(分数:1.00)A.1B.4C.2 D.5解析:考点 表达式的值作为函数参数 解析 (exp1,exp2)、(exp3,exp4,exp5)表示是两个逗号表达式,相当于两个参数,因此实参的个数是 2。4.C+中用来取对象存储首地址的地址运算符是_(分数:1.00)A.中,cout 是_(分数:1.00)A.C+的关键字 B.类名C.对象名D.函数名解析:考点 输入/输出对象 解析 C+中输入/输出流使用关键字 cin,cout。14.下列有关类模板的说法有误的是_(分数:1.00)A.在类体外面定义成员函数时,必须用 template 重写类模板声明,格式为:templ
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 考题 模拟 16 答案 解析 DOC
