《C语言程序设计》模拟试卷.doc
《《C语言程序设计》模拟试卷.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计》模拟试卷.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+语言程序设计模拟试卷一、单选题(21分,每空1.5分)1.在C+中,函数原型不能标识( ) A.函数的返回类型 B.函数参数的个数 C.函数参数类型 D.函数的功能2.可以用p.a的形式访问派生类对象p的基类成员a,其中a是( ) A.私有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.公有继承的公有成员 3. 以下关于switch语句和break描述中 , 是正确的。 A. switch语句中必须用break语句 B. break语句只能用于switch语句 C. 在switch语句中,可以根据需要使用或不使用break语句D. break语句是switch语句必须的
2、一部分 4. 若以下语句,则正确描述是 char c1=boy; char c2=b,o,y; A. c1,c2数组等价 B. c1,c2数粗元素个数相同 C. c1数组元素个数大于c2数组元素个数D. c1数组元素个数小于c2数组元素个数 5.派生类的对象对它的基类成员中 是可以访问的。A. 公有继承的public成员。B. 公有继承的private成员。C. 公有继承的protected成员。D. 私有继承的public成员。 6.若有语句: int x=1,2,3,4,5; int *ptr; ptr=x;则 是对数组元素x1的正确引用。A. ptr+1 B.*ptr+1 C.*(ptr
3、+1) D.*ptr+7.对于任意一个类,析构函数的个数最多为( ) A.0 B.1 C.2 D.38. 如执行以下语句,,循环结束后cout语句输出值是 for (i=1;i=100;i+) sum=sum+i; coutsetn(34); D、setn(34);13. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 A) 地址传递 B) 单向值传递C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定14.下列常量中,哪个的类型为float类型? A 2.F B .2L C 0.2E100 D 0.0二、填空题(10分,每空1分)1、在堆中动态分配、释放内存,
4、可以使用 和delete运算符。也可使用malloc( )和 函数。2、表达式coutend1还可表示为_。3、 类的三大特点是:1)_ 2)_ 3)_。4、创建类对象时,系统自动调用_函数,在类对象生命期结束时,自动调用_函数。5.C+中语句const char * const p=hello;所定义的指针p和它所指的内容都不能被_。6.定义类的动态对象数组时,系统只能够自动调用该类的_构造函数对其进行初始化。三、改错题(本大题共4小题,每小题3分,共12分)1.指出下面程序段中的错误,并说明出错原因。class Aprivate: int a,b;public: A(int aa,int
5、bb) a=aa;b=bb;void main()A x(2,3),y(4);2.指出下面程序段中的错误,并说明出错原因。#include class A public: void fun( )couta.funendl; ;class B public: void fun( )coutb.funendl; void gun( )coutb.gunendl;class C:public A,public B private:int b; public:void gun( )coutc.gunendl; void hun( )fun( ); 3.要求下面循环体中的语句x+=3执行30次,请改正程
6、序。for(j=0; j90; j+) if(j/3=0) x+=3;4.请指出程序片段的语法错误。 int * age_ptr; int m = 3; *age_ptr = &m;四、判断题(10分)1、_MyInt 是一个合法的变量名。( )2、使用关键字class地定义的类缺省的访问权限是private。( )3、函数的原型说明和函数定义的作用不一样,可以进行多次的函数原型说明。( )4、构造函数和析构函数都不可以重载。 ( )5、 递归调用是指一个函数在执行时直接或间接的又调用该函数自身的调用过程。( )6、 各种类型的指针表示的是内存的地址,所以指针加1,总是内存的地址加1。( )7
7、、 对于int a10; ,a5与*(a+5)是同一个元素。( )8、 友元的作用是实现数据的隐藏性。( )9、 函数可能有左值(出现在=的左边),数组名不能够有左值。( )10、虚函数一定是类的成员函数。( )五、简答题(7分,每小题4分)1、 C+语言提供了那些分支语句?break、continue的作用是什么?2、 单一继承和多重继承的区别?列表显示基类的成员访问权限在公有继承,私有继承后的访问权限? 访问权限继承方式 publicprotectedprivate公有继承私有继承六、读程序写出运行结果(16分)(每小题4分)1#include using namespace std;vo
8、id main()char a=abcdabcabfgacd;int i1=0,i2=0,i=0;while (ai!=0) if (ai=a) i1+;if (ai=b) i2+;i+;cout i1 i2endl;2、include class A public: A( ) virtual void func( )coutDestructor Aendl; A( ) func(); ; class B:public A public: B( ) void func()coutDestructor Bendl; B( ) func(); ; void main( ) B b; A &a=b;
9、 输出为: 3、include void main( ) int *a; int *&p=a; int b=10; p=&b; cout*a; 输出为:4、main()int i,j;for(i=0;i=i;j-) printf(“0” ); for(j=0;j2*i-1;j+) printf(“#”); printf(“n”); 输出为:5#include # include void fun(char *w,int m) char s,*p1,*p2; p1=w; p2=w+m-1; while(p1p2) s=*p1;*p1=*p2;*p2=s; p1+; p2-; int main()
10、char a10=”GFEDCBA”;fun(a,strlen(a); couta;return 0;6#includeclass AAAprivate:int A,B;public:AAA()A=100;B=200; coutdefault constructingn;AAA(int i,int j)A=i,B=j; coutconstructingn;AAA()coutdestructingn;void print( )coutA,Bprint(); a2-print();delete a1;delete a2;return 0;七、程序设计(24分) 1 输出以下图形:(5分)*2、写一
11、个程序计算1!-2! +3! 4!+5!.-10! (5分)3、 封装一个被称为日期Tdate类。用这个类存储年、月、日。(6分)要求:Show()成员函数显示某日期对象的信息,格式为日、月、年。add()成员函数可实现在日期上加一天的操作。(不考虑年底月底情况)4给出复数(Complex)类 class Complex public : void print(); private: double real; double image; ;要求print ()成员函数实现显示复数的信息,增加适当的构造函数以及重载加法,实现对复数(Complex)类对象加法。 (8分)要求实现以下运算:Comp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 模拟 试卷
限制150内