C++程序语言模拟期末考试试卷(一)附答案.pdf
《C++程序语言模拟期末考试试卷(一)附答案.pdf》由会员分享,可在线阅读,更多相关《C++程序语言模拟期末考试试卷(一)附答案.pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+模拟试卷(一)一、单项选择题(共20题,每题1分,共20分)1、下列关于C+标识符的命名不合法的是CA.P a d B.n a m e _ l C.A#b c D._ a l 22、若有以下类型标识符定义:()i n t x=2;ch a r w=a;f l o a t y=23.4 5 f;d o u b l e z=4 5.6 7 12;则表达式w*x+y-z的结果类型是DA.f l o a t B.ch a r C.i n t D.d o u b l e3、若有i n t x=10,y=20,z=30;则执行下面语句后,x的值是Bi f (x y)x=y;y=z;A.10 B.20
2、C.30 D.04、循环语句w h l i e(i n t i=0)i ;的循环次数是AA.0 B.1 C.5 D.无限5、一个函数无返回值时,应选择的说明符是CA.s t a t i c B.e x t e r n C.v o i d D.无说明符6、对重载函数形参的描述中,错误的是DA.参数的个数可能不同B.参数的类型可能不同C.参数的顺序可能不同D.参数的个数、类型、顺序都相同,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是DA.i n t N=5,b N N;B.i n t a 2 =l ,3,4 ,5 ;C.i n t c =1,2,3,4 ;D.i n t d
3、3 2 =1,2,3,4 ;8、下列给字符数组进行的初始化中,不正确的是DA.ch a r s l =a b cd ;B.ch a r s 2 3 =,x,y,0;C.ch a r s 3 =a,x,y,0;D.ch a r s 4 6 =x y z ,m n p ;9、通常的拷贝构造函数的参数是CA.某个对象名B.某个对象成员名C.某个对象的引用D.某个对象的指针名10、关于构造函数特点的描述中,错误的是AA.定义构造函数必须指出类型B.构造函数的名字与该类的类名相同C.一个类中可定义0 至多个构造函数D.构造函数是一种成员函数11、下面程序的运行结果为C#i n cl u d e i n
4、t a d d(i n t a,i n t b);v o i d m a i n()(e x t e r n i n t x,y;co u t a d d (x,y)e n d l;)i n t x=20,y=5;i n t a d d (i n t a,i n t b)(i n t s=a+b;r e t u r n s;)A.20 B.5 C.25 D.编译会提示出错信息12、关于常成员的描述中,错误的是BA.常成员包含常数据成员和常成员函数两种B.常数据成员必须是公有的C.常数据成员要使用构造函数成员初始化列表进行初始化D.常对象只能调用它的常成员函数,不能调用其它的成员函数13、关于友
5、元函数的描述中,错误的是BA.友元函数不是成员函数B.友元函数只能访问类中私有成员C.友元函数破坏隐藏性,尽量少用D.友元函数说明在类体内,使用关键字f r i e n d14、如果有i n t x,*p;f l o a t y,*q;则下面操作正确的是CA.p=x B.p=qC.p=&x D.p=&y15、若有函数说明v o i d f A(i n t m,i n t n);和指针变量的定义v o i d(*p)(i n t,i n t);并且有p=f A则下列操作不正确的是DA.(*p)(3,4);B.p(3,4);C.f A(3,4);D.*p+;16、若数组名作实参而指针变量作形参,函
6、数调用时实参传给形参的是 DA.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址17、对于动态分配内存空间描述正确的是DA.使用n e w 运算符分配的内存空间的长度必需是常量B.d e l e t e 运算符可以释放动态的存储空间和静态的存储空间C.由n e w 分配的内存空间是不连续的D.d e l e t e 运算符只能释放由n e w 分配的动态存储空间18、能够释放对象所占资源的是(A)A.析构函数B.数据成员C.构造函数D.静态成员函数19、虚函数的定义是在基类中进行的,定义时需要冠以关键字CA.st at i c B.fr e n dC.v i r t
7、 u al D.p u bl i c20、在 C+中串流类是在头文件st r st r e a.h中定义的,下列不属于串流类的是C)A.st r st r e am B.ost r st r e amC.ofst r e am D.i st r st r e am二、填空题(共 9 题 16空,每空1分,共 16分)1、函数重载时,编译系统会根据形参的类型或形参的个数来区分。2、若有ch ar a 8 0;则 ci n a表示从键盘上读入一个字符串到数组a 中。3、若希望用一个已有对象来构造另一个同类型的对象,可以使用拷贝构造函数来实现。4、静态成员属于类,而不属于任何一个对象,它被同一个类的
8、所有对象共享。5、类的继承方式有p u bl i c(或公有)继承、p r i v at e (或私有)继承和p r ot e ct e d(或保护)继承。6、重载运算符的含义必须清楚,不能有二义性。7、按照联编进行阶段的不同,联编方法可分为两种:动态联编和静态联编。8、当基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义,在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型以及参数的顺序都必须与基类中的原型完全相同。9、C+的 I/O 是以的形式实现的,每个C+编译系统都带有一个面向对象的输入/输出软件包,这就是字节流I/O 流类库。三、
9、判断题(共 10题,每题1分,共 10分)1、C+语言支持封装性和继承性,不支持多态性。X2、关系运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。)X3、字符串 sdfg h 的长度是5。J4、引用和指针都可作函数参数。J5、友元函数说明在类体内,它是一种成员函数。X6、友元类必须被说明为公有成员。X7、纯虚函数是在基类中说明的虚函数,它在该基类中没有定义具体的操作内容。J8、析构函数不能被继承。J9、运算符重载以后,其优先级和结合性都不能改变。V10、在 C+中,函数名实际上是一个指针,它指向函数的入口。V四、分析程序,回答所提出的问题(1 6 分)1、t t in c l
10、u d e c l a s s B;class Apublic:A(int i)a=i;friend int F(A&f 1,B&f2);private:int a;);class B(public:B(int i)b=i;friend int F(A&f 1,B&f2);private:int b;);int F(A&fl,B&f2)return(fl.a+f2.b)*(fl.a-f2.b);v o id m a in()A n l(1 0);B n 2 (8);c o u t F (n l,n 2)e n d l;写出程序的运行结果。3 6该程序中共有几个对象,分别属于哪个类?为什么在程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序语言 模拟 期末考试 试卷 答案
限制150内