【学历类职业资格】C++程序设计自考题模拟15及答案解析.doc
《【学历类职业资格】C++程序设计自考题模拟15及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计自考题模拟15及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计自考题模拟 15 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:20,分数:20.00)1.下列不可以作为 C+标识符使用的是_(分数:1.00)A.usradfB._jsdhC.WhileD.6hole2.C+相对 C 语言重大改进之一,即从面向过程变成为面向对象,其主要原因是_(分数:1.00)A.允许函数重载,并允许设置默认参数B.规定函数说明符必须用原型C.增加了一些新的运算符D.引进了类和对象的概念3.C+预处理语句不包括_(分数:1.00)A.宏定义B.文件包含C.条件编译D.命名空间4.下列指针的定义和使用中,错误的是_(分数:1.
2、00)A.int i; int*ptr= int*ptr; i=*ptr;C.int*ptr; ptr=0;D.int i=5; int*ptr; *ptr=i;5.使用指针时,用户给它分配地址使用的关键字是_(分数:1.00)A.newB.deleteC.externD.auto6.在类定义中,prirate、protected、public 关键词可以出现的次数为_(分数:1.00)A.任意多次B.public 至少出现一次C.至多一次D.至少一次7.下列对数组的操作错误的描述的是_(分数:1.00)A.reverse(a,a+len)是将数组元素反转排序B.copy(a,a+len,b)
3、是将数组 a 的内容原样复制到数组 bC.sort(a,a+len)默认排序方式是降幂排序D.find(a,a+len,value)查找数组 a 的内容是否存在值为 value 的元素8.在重载函数中,有关其参数的描述中,正确的是_(分数:1.00)A.参数的个数、类型、顺序都相同,只是函数的返回值类型不同B.参数的顺序必须不同C.参数的类型必须不同D.参数的个数可能不同9.下列有关 C+中的对象的描述错误的是_(分数:1.00)A.对象是用来描述客观事物的一个实体B.对象由一组属性和对该属性进行操作的成员函数组成C.对象是 C+系统中的一个基本单位D.对象不可以表示世界中任何一个实体10.对
4、于类定义 class A public: virtual void func1() void func2() ; class B: public A public: void func1()cout“class B func 1“endl; vitrual void func2()cout“class B: func 2“endl; ; 下面正确的叙述是。_(分数:1.00)A.A:func2()和 B:func1()都不是虚函数B.A:func2()和 B:func1()都是虚函数C.B:func1()是虚函数,而 A:func2()不是虚函数D.B:func1()不是虚函数,而 A:fun
5、c2()是虚函数11.下列函数参数设计中,不改变原来实参的值的是_(分数:1.00)A.swap(string str1,string str2)B.swap(string *str1,string *str2)C.swap(string b=j;“,则执行“A x(1);“语句后,x.a 和x.b 的值分别为_(分数:1.00)A.1 和 0B.1 和 4C.4 和 0D.4 和 115.下列有关类性质的描述错误的是_(分数:1.00)A.类不可以不包括任何声明B.类的对象只能访问公有成员函数C.类必须在其成员使用之前先进行声明D.不完全声明的类不能实例化16.下列关于运算符重载的描述中,正
6、确的是_(分数:1.00)A.C+中可以重载所有的运算符B.二元运算符重载为非成员函数时,参数表中有一个参数C.一元运算符只能作为成员函数重载D.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符17.用户定义类 class 如下: class Base public: Base()cout1; ; 执行下列语句:Base a,b2,*p2;以后,程序的输出结果是_(分数:1.00)A.11B.1 11C.1111D.1111118.已知类 A,则定义一个复制构造函数的原型是_(分数:1.00)A.A:A(const A cin20.声明一个函数模板实现两个相同类型数加法,正确的声明
7、是_(分数:1.00)A.add(T x,T y)B.T add(x,y)C.T add(T x,y)D.T add(T x,Ty)二、第部分 非选择题(总题数:20,分数:20.00)21.C+允许为同一个函数定义几个版本,从而使一个函数名具有多种功能,这称为 1。 (分数:1.00)22.在 C+程序设计中,istream 的直接基类是 1。 (分数:1.00)23.如果在定义结构时,将数据成员使用 1 关键字定义,则产生了封装性。 (分数:1.00)24.在 C+语言程序设计中,编程的单位是 1。 (分数:1.00)25.通过抽象归纳,C+可使用三要素 1、 2、 3 来描述对象。 (分
8、数:1.00)26.下列程序段的输出结果是 1。 for(i=0, j=10, k=0; i=j; i+, j-=3, k=i+j); coutijk; (分数:1.00)27. 1(a,a+len)默认排序方式是降幂排序。 (分数:1.00)28.C+中只有两个布尔常量:true 和 1。 (分数:1.00)29.用 1 修饰传递参数,意思是通知函数,它只能使用参数而无权修改它。 (分数:1.00)30.定义 int 型变量 ab,int a=1,b=2;则表达式 a+-b 的值为 1。 (分数:1.00)31.C+是通过 1 实现的数据封装,及通过指定各成员的访问权限来实现的。 (分数:1
9、.00)32.已知类 AB,则 AB 的复制构造函数的定义为 1。 (分数:1.00)33.虚函数未定义,留给派生类去定义的虚函数称为 1。 (分数:1.00)34.设在程序中使用如下语句申请一个对象数组: base *p=new base2 则在需要释放 p 指向的数组对象时,使用的语句是 1。 (分数:1.00)35.使用 1 可代替宏定义,以减少宏定义带来的许多不安全因素。 (分数:1.00)36.为了使派生类通过虚函数机制正确存取虚函数,使用空的虚函数可以保证 1 建立起一条存取路径。 (分数:1.00)37.以免与一般静态变量或对象混淆,静态数据成员初始化时,前面不加 1 关键字。
10、(分数:1.00)38.已知类 AB,定义了一个构造函数“AB(int aa=0):a(aa)“,则定义该类的对象时,可以有 1 种不同的定义模式。 (分数:1.00)39.如果在类模板的定义中有一个静态数据成员,则在程序进行中会产生 1 静态变量。 (分数:1.00)40.对于下面定义的类 Base,请在函数 f()中添加对象成员把 n 的值修改为 50。 class Base public: Base(int x)n=x; void SetNum(int n1)n=n1; private: int n; ; void f() Base * ptr=new Base(45); 1 (分数:1
11、.00)三、改错题(总题数:5,分数:20.00)41.#includeiostream using namespace std; int main 1 char c; cinc; if(c=“y“|c=“Y“) int a=1; else int a=0; cout“a=“aendl; (分数:4.00)42.#includeiostream using namespace std; class Base public: void fun(const char *txt, char *cap) cout“txt:“txt; cout“cap:“capendl; void fun(const
12、char *txt, unsigned int type) cout“txt:“txt; cout“cap:“capendl; ; void main 1 Base my; my.fun(“Good“, 0); (分数:4.00)43.程序的输出结果如下,请找出程序的错误语句。 a=3 b=13 a=5 b=13 #includeiostream using namespace std; class T public: T(int x)a=x; b+=x;/数据成员初始化 void display(T c) cout“a=“c.a“/t“b=“c.bendl; private: int a;
13、static int b; ; b=5; void main 1 TA(3), B(5); T:display(A); T:display(B); (分数:4.00)44.#includeiostream using namespace std; class A private: int den; int num; public: A(int d=0, int n=1):den(d), num(n) friend A void show 1coutden“/“num; ; friend A f1.num *=f2.num; return f1; void main 2 A fr(3, 4);
14、fr+=A(5, 7); fr.show 3; coutendl; (分数:4.00)45.#includeiostream using namespace std; class A static int n; public: A 1n=1; A(int num)n=num; void print 2coutn; ; n=2; void main 3 A a, b(3); a.print 4; b.print 5; (分数:4.00)四、完成程序题(总题数:5,分数:20.00)46.完成下列程序填空,使其输出结果为 1001,1002,1003,1004 #includeiostream u
15、sing namespace std; struct Data int n; double score; ; int main() Data a3=1001, 87, 1002, 72, 1003, 90; Data _;/声明结构指针 cout(p+)-nendl; cout_endl; coutp-n+endl; cout(*p).n+endl; (分数:4.00)_47.已知一个类 Base 的定义如下,其运行结果为:23 25 46 55 62 76 78 90 90,请完成以下程序。 #includeiostream using namespace std; class Base p
16、rivate: int a10; int n; public: void SetA(int aa, int nn);/用数组 aa 初始化数据成员 a,用 nn 初始化数据成员 n int MaxA(); /从数组 a 中前 n 个元素中查找最大值 void SortA(); /采用选择排序的方法对数组 a 中前 n 个元素进行从小到大排序 void PrintA(); /依次输出数组 a 中的前 n 个元素,最后输出一个换行 ; void main() int a10=23, 78, 46, 55, 62, 76, 90, 25, 38, 42; Base x; x.SetA(a, 8);
17、int _ ; _ ; x.PrintA(); coutmendl; (分数:4.00)_48.用户自定义类 A,完成程序填空,并使其输出为 10 5 10 5 15 5 #includeiostream using namespace std; class A public: int f1(); int f2(); void setx(int m)x=m; coutxendl; void sety(int n)y=n; coutyendl; int getx()return x; int gety()return y; private: int x, y; ; int A:f1()retur
18、n x+y; int A:f2()return x-y; int main() A a; _; a.sety(5); couta.getx()“/t“a.gety()endl; cout_endl; (分数:4.00)_49.请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为 11,10 13,12 #includeiostream using namespace std; class A int a; public: A(int i=0)a=i; int Geta()return a; void show()coutaend; ; class B A a; int b; pub
19、lic: B(int i, int j)_ void show()couta.Geta()“, “bendl; ; void main() B b(2)=B(10, 11), B(12, 13); for(int i=0; i2; i+) _ (分数:4.00)_50.完成下列程序填空,给定两个点,求两个点之问的距离,是题目输出结果为点(3,4)到点(4,5)的距离是:1.414。 #includeiostream #includecmath using namespace std; class Point public: Point(double x, double y) a=x; b=y;
20、 cout“点(“a“, “b“)“; _ double d(Point private: double a, b; ; int main() Point p1(2, 3); cout“到“; Point p2(4, 5); cout“的距离是:“d(p1, p2)endl; (分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.#includeiostream using namespace std; class A public: A()cout“1“; A()cout“2“; ; class B: public A public: B()cout“3“; B()cout
21、“4“; ; void main() B b; (分数:5.00)_52.给出下面程序的输出结果。 #includeiostream using namespace std; void main() int x=2, y=4, *p; p= cout*p“; *p=x+1; p= cout*p“; *p=y+2; coutx“ “yendl; (分数:5.00)_六、程序设计题(总题数:1,分数:10.00)53.定义一个 student 类,在该类定义中包括:一个数据成员 score(分数)及两个静态数据成员 total(总分)和学生人数 count;成员函数 scoretotalcount
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 考题 模拟 15 答案 解析 DOC
