C面向对象程序设计练习题.doc

上传人:xt****7 文档编号:125905854 上传时间:2020-03-20 格式:DOC 页数:14 大小:80.50KB
返回 下载 相关 举报
C面向对象程序设计练习题.doc_第1页
第1页 / 共14页
C面向对象程序设计练习题.doc_第2页
第2页 / 共14页
C面向对象程序设计练习题.doc_第3页
第3页 / 共14页
C面向对象程序设计练习题.doc_第4页
第4页 / 共14页
C面向对象程序设计练习题.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《C面向对象程序设计练习题.doc》由会员分享,可在线阅读,更多相关《C面向对象程序设计练习题.doc(14页珍藏版)》请在金锄头文库上搜索。

1、C+面向对象程序设计练习题(1)一、选择题(1)C+语言对C语言做了很多改进,C+语言相对于C语言的最根本的变化是dA)增加了一些新的运算符B)允许函数重载,并允许设置缺省参数C)规定函数说明符必须用原型D)引进了类和对象的概念(2)下列哪个是C+语言的有效标识符?bA)_No1 B)No.1 C)12345 D)int(3)设有定义int x; float v;,则10+x+v值的数据类型是cA)int B)double C)float D)不确定(4)下列程序的执行结果为#includevoid main()bint a3,b0;int*p&a:b=+a+;cout*P”,” A)3,4

2、B)4,3 C)3,4 D)4,4(5)下面程序的运行结果为#includevoid main()for(int a=0,x0;!x&a=10;a+)a+; lcout A)10 B)11 C)12 D) 0(6)下列选项,不正确的是a cA)for(int a=1;a=10;a+);B)int a=1;doa+;while(a10)C)int a=1:while(a10)a+; lD)for(int a=1;a=10;a+)a+;(7)下面关于数组的初始化正确的是cA)char stra,b,cB)char str2a,b,cC)char str23a,b,e,d,e,fD)char str

3、a,b,c?(8)下列程序的输出结果为#includevoid main()char,a”hello,”the,”world”;char*paa:pa+;cout*pa A)hello B)theC)world D)hellotheworld(9)决定C+语言中函数的返回值类型的是dA) return语句中的表达式类型 B)调用该函数时系统随机产生的类型C)调用该函数时的主调用函数类型 D)在定义该函数时所指定的数据类型(10)下列程序的输出结果是#includeint min(int a,int B)if(a else return B;return 0;void main()cout A)

4、0 B)1 C)2 D)3(11)下列程序的运行结果为#includevoid print(double a)cout+a;void print(int a,int b)cout void main()print(1.2);cout” ”;print(3,4);A)1.2 34 B)2.2 34 C)1.2 43 D)2.2 43(12)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是dA)公有类型 B)私有类型 C)保护类型 D)友元类型(13)在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函c数是A)友元函数 B)

5、虚函数 C)构造函数 D)析构函数(14)类的析构函数的作用是dA)一般成员函数的初始化 B)类的初始化C)对象的初始化 D)删除类创建的对象(15)下列说法正确的是bA)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B)内联函数在编译时是将该函数的月标代码插入每个调用该函数的地方C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外通过加关键字inline定义(16)下面对静态数据成员的描述中,正确的是bA)静态数据成员可以在类体内进行初始化B)静态数据成员不可以被类的对象调用C)静态数据成员不能受private控制符的作用D)静态数据成员可以直接用类名调用(17)下面对

6、于友元函数描述正确的是cA)友元函数的实现必须在类的内部定义 B)友元函数是类的成员函数C)友元函数破坏了类的封装性和隐藏性 D)友元函数不能访问类的私有成员?(18)在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是cA)派生类的对象可以赋给基类的对象 B)派生类的对象可以初始化基类的引用C)派生类的对象可以直接访问基类中的成员 D)派生类的对象的地址可以赋给指向基类的指针(19)下面程序的运行结果为d#includeclass Apublic:A()cout”1”;A()cout”2”;class B:public Apublic:B()cout”3”;B()cout=

7、C): D)/(23)当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为dA)ios:in B)ios:outC)ios:in|ios:out D)以上都不对(24)下列程序的运行结果是#includeclass Aint a;public:A()a0;A(int as)a=as;cout ;void main()Ax,y(2),z(3);cout (25)下面程序的输出结果是b#includeclass example int a:public:example(int b)a=n+;void print()a=a+1;cout a ” ”;void print(

8、)constcout void main()example x t(3);const example y(2);x.print();y.print();A)2 2 B)4 3 C)4 2 D)3 2 二、填空题,请将答案分别写在答题卡中序号为【1】【10】的横线上。(1)在面向对象的程序设计中,类描述的是具有相似性质的一组 【1】 。(2)在C+语言的结构化程序设计中, 【2】 是程序的基本组成单元;在C+语言的面向对象设计框架中, 【3】 是程序的基本组成单元。(9) C+语言提供的基本控制结构可以分为3种类型:顺序结构、 【4】 和循环结构。(10) C+语句const char * co

9、nst p=hello , ,所定义的指针p和它所指的内容都不能被 【5】 。(11) C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 【6】 方式。(12)对于下面定义的类MyClass,请在函数f( )中添加对象成员把n的值修改为50。class MyClasspublic:MyClass(int x)nx;void SetNum(int n1)nn1;private:int n; void f()My Class*ptrnew MyClass(45);【7】 (13)继承的方式有公有继承、私有继承和 【8】 3种。(14)表达式opera

10、tor+(x,y)还可以表示为 【9】 。(15)类模板的使用实际士:是将类模板实例化成一个具体的 【10】 。三、名词解释1、继承性2、友元四、简答题1、友元函数的特点:2、用类模板定义对象时用以下形式:3、如果在类模板外定义成员函数,应写成类模板形式: 4、声明一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大数和小数。5、什么是重载?6、运算符重载函数的一般语法格式为:C+面向对象程序设计练习题(2)一、选择题(1)下面关于C+语言的描述错误的是bA)C+语言支持数据封装 B) C+语言中引入友元没有破坏封装性C)C+语言允许函数名和运算符重载 D)C+语言支持动态联编(2)设有定义int a1;float f1.2;char ca;,则下列表示错误的是8A)+a; B)f -; C)C+; D)8+;(3)下列程序的运行结果为b#includevoid main()int a2:int ba+1;cout A)0.66667 B) 0 C)0.7 D) 0.66666666(4)设int a1,b2;,则(a+)+b和a+b这两个表达式的值分别为cA)3,3 B)3,4 C)4,3 D) 4,4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号