已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福师1203考试批次C+语言程序设计复习题及参考答案本课程复习题所提供的答案仅供学员在复习过程中参考之用,有问题请到课程论坛提问。福师1203考试批次C+语言程序设计复习题及参考答案一本复习题页码标注所用教材为:教材名称单价作者版本出版社C+程序设计教程(第二版)39.5钱能2005年9月第2版清华大学出版社如学员使用其他版本教材,请参考相关知识点一、选择填空(每小题2分,计16小题,共32分)1、类MyClass的定义如下:class MyClasspublic: MyClass() value = 0; SetVariable(int i) value = i; private: int value; 则对下列语句序列正确的描述是_。 MyClass *p,my; p=&my; A)语句p=&my;是把对象my赋值给指针变量p B)语句MyClass *p,my;会调用两次类MyClass的构造函数 C)对语句 *p.SetVariable(5)的调用是正确的D)语句p-SetVariable(5)与语句my.SetVariable(5)等价【参考答案】:D2、对类的构造函数和析构函数描述正确的是_ 。 A) 构造函数不能重载,析构函数可以重载 B)构造函数可以重载,析构函数不能重载 C)构造函数可以重载,析构函数也可以重载D)构造函数不能重载,析构函数也不能重载【参考答案】:B3、在C+中,数据封装要解决的问题是_。 A)数据的规范化 B)便于数据转换C)避免数据丢失 D)防止不同模块之间数据的非法访问 【参考答案】:D4、对于拷贝构造函数,正确的描述是_。 A)在C+语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数 B)必须为每个类定义拷贝构造函数 C)如果要使用拷贝构造函数,则必须在类中先定义D)当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数【参考答案】:A5、继承具有_,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。A)规律性 B)传递性 C) 重复性 D)多样性【参考答案】:B6、一个类的友元函数或友元类能够通过成员操作符访问该类的_。A)私有成员 B) 所有成员 C)公用成员 D) 保护成员【参考答案】:B7、关于纯虚函数和抽象类的描述中,错误的是_。A)纯虚函数是一种特殊的虚函数,它没有具体的实现B)抽象类是指具有纯虚函数的类C)一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类D)抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出【参考答案】:C8、_提供了类对外部的接口, _是类的内部实现,而_不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。A)公有成员 B)私有成员 C)私有成员函数 D)保护成员【参考答案】:A、C、D9、关于C+语言和C语言的关系的下列描述中,错误的是_。A)C语言是C+语言的一个子集 B)C语言和C+语言都是面向对象的语言C)C+语言与C语言兼容D)C+语言对C语言做了些改进【参考答案】:B10、组成C+语言程序的是_。A)子程序 B)过程 C)函数 D)主程序和子程序【参考答案】:C11、C+语言规定:一个源程序中,main函数的位置_。A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后【参考答案】:C12、C+中cin是_。 A)一个标准的语句 B)预定义的类 C)预定义的函数 D)预定义对象【参考答案】:D13、将C+源程序进行_可得到目标文件。A)编辑 B)编译 C)连接 D)拼接【参考答案】:B14、将目标文件进行_可得到可执行文件。A)编辑 B)编译 C)连接 D)拼接【参考答案】:C15、下列符号中能用作C+自定义标识符的是_。A)5abc B)if C)-abc D) abc【参考答案】:D16、若要在if后一对圆括号中表示条件“a不等于0成立”,则能正确表示这一关系的表达式为_。A)a0 B)!a C)a=0 D)a【参考答案】:D二、写出下列程序的运行结果1、(4分)#include #include class StudentIDpublic: StudentID(int id=0 ) value=id; cout Assigning student id value endl; StudentID() cout Destructing id value endl; protected: int value;class Studentpublic: Student(char* pName=no name,int ssID=0):id(ssID) cout Constructing student pName endl; strncpy(name,pName,sizeof(name); namesizeof(name)-1=n; protected: char name20; StudentID id;void main() Student s(Mary,2001); Student t(John);程序运行的结果为:【知识点】:对象生灭,见P293,主要理解成员的初始化(P305)2、(5分)#include class Point int x,y;public: Point(int x1,int y1) x=x1;y=y1; virtual int area() const return 0; ;class Rect:public Point int l,w;public: Rect(int x1,int y1,int l1,int w1):Point(x1,y1) l=l1;w=w1; virtual int area() const return l*w; ;void fun(Point &p) cout p.area() endl;void main() Rect rec1(3,4,10,7),rec2(5,10,8,16);Point *base=&rec2; fun (rec1);fun(*base);程序运行的结果为:【知识点】:继承,见P327,主要理解派生类的构造和继承方式。3、(2分)void main() int i=8;switch (i) case 9:i=i+1; Default:i=i+1; Case 10:i=i+1; Case 11:i=i+1; couti;程序运行的结果为:【知识点】:switch语句,见P314、(3分)void main() int k=4,n=0; for (;nk;) n+; if(n%3!=0) continue; k-;coutk”,”n;程序运行的结果为:【知识点】:for循环,见P36;continue语句,见P51三、填空题1、下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。(8分)class MyClasspublic: MyClass(int a); MyClass();private: int* X;MyClass:MyClass(int a) _; MyClass:MyClassO _;【知识点】:构造函数的成员初始化(参见P305)和析构函数(参见P316)2、以下是统计一个英文句子中字母出现个数的程序。请将此程序补充完整。(8分) #include int count(char str); void main() char sl80; coutsl; cout”count=”count(sl)x; n-;y+=x*x; while(n0);return y; 答:该函数的功能为:_【知识点】:do-while循环,参见P39四、编程题1、定义一个Shape抽象类,由它派生出Rectanglr和Circle类,二者都有GetArea( )函数计算对象的面积,GetPerim( ) 函数计算对象的周长。(9分)#include class Shape 定义GetArea 和GetPerim函数 _;class Circle:public Shapepublic:Circle(float radius):itsRadius(radius)float GetArea()return 3.14*itsRadius*itsRadius;float GetPerim()return 6.28*itsRadius;private:float itsRadius;class Rectangle : public Shapepublic:定义Rectangle构造函数_定义 GetArea()和 GetPerim()函数_private:float GetLength()return itsLength;float GetWidth()return itsWidth;private:float itsWidth;float itsLength;【知识点】:继承,见P327,主要理解派生类的构造以及继承方式。2、编写一个程序求一元二次方程的解(10分)。 讨论下述情形:(1)a=0,不是二次方程。 (2)b2-4ac=0,有两个相等实根。 (3) b2-4ac0,有两个不等实根。 (4) b2-4acb?a:b; D).;【参考答案】:C5、已知有定义“inta,b;const int c;”,下列符合C+语法的表达式为 。A)4+c=b=0 B)a=+b C)a=c=b=6 D)a=4+【参考答案】:B6、若有语句int a=5;则执行语句a+=a*=10;后,a的值为 。A)55 B)100 C)60 D)105【参考答案】:B7、设在某个机器中,int型变量占2个字节的内存,则下列语句的输出结果为 。 int i=65535; coutx&b=yz;A)6,6 B)5,3 C)0,6 D)0,0【参考答案】:C9、执行下列语句后,输出的结果为 。int x=0;cout(x=4*5,x*5),x+25;A)20 B)100 C)45 D)125【参考答案】:C10、如果a=1,b=2,c=3,d=4,则表达式ab?a:c6)n-;coutn;该程序的输出结果为 。A)987 B)876 C)8765 D)9876【参考答案】:B12、有如下程序void main(void) int x =23; docoutx-;while(!x);该程序的执行结果是 。A)321 B)23 C)不输出任何内容 D)陷入死循环【参考答案】:B13、下面有关for循环的说法正确的为 。 A)for循环只能用于循环次数确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体中,可以包含多条语句,但必须用花括号括起来【参考答案】:D14、下列程序运行输出结果为 。 void main(void) int i,sum; for (i=1;i=3;sum+) sum+=i;coutsum;A)6 B)3 C)死循环 D)0【参考答案】:C15、以下正确的描述为 。 A)continue语句的作用是结束整个循环的执行 B)只能在循环体内和switch语句体内使用break语句 C)在循环体内使用break语句或continue语句的作用相同 D)从多层循环嵌套中退出时只能使用goto语句【参考答案】:B16、已知函数f的定义为:void f().则函数定义中void的含义为 。A)执行函数f后,函数没有返回值 B)执行函数f后,函数不再返回 C)执行函数f后,可以返回任意类型的值 D)以上三个答案全是错误【参考答案】:A二、写出下列程序的运行结果1、(4分)includeint f(int x,int y) return(y-x)*x; void main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); coutd;程序的运行结果为:【知识点】:函数机制,参见P134,主要理解传值参数2、(4分)#includelong fib(int n) if(n2) return fib(n-1)+fib(n-2); else return 2;void main(void) coutfib(6);程序的运行结果为:【知识点】:递归函数,参见P1613、(3分)#includevoid f(int i) cout“int”iendl;void f(float f) cout“double”fendl;void f(double d) cout“double”dendl;void main() f(c);f(10);f(10.1);程序的运行结果为:【知识点】:函数的重载,参见P1654、(3分)#include Long num cow(int n) int i; long sum=1; for (i=4;in;i+)sum+=mum cow(n-i); return sum;void main() int n; coutn; cout“Cow sum=:”num cow(n);程序的运行结果为:【知识点】:函数调用(参见P134)以及for循环(参见P40)三、填空题1、以下程度对输入的一个小写字母,将字母循环后移5个位置后输出,如a变成f,w变成b。请在横线上填入正确的内容。(10分)#includevoid main() char c;cinc; if(c=a&c=v&c=z) ; coutc;【知识点】:if语句(参见P27)以及字符型变量(参见P70)2、以下程序是计算x,y,z三个数中值最小的,请在横线上填入正确的内容。(15分)#includevoid main() int x=4,y=5,z=8; int u,v; u=xy? ; v=u=中,优先级最高的运算符是 。A)+ B)= C)* D)=【参考答案】:C2、下列说法正确的是 。A)couta+&cd)?+d:ab” 值为 。A)9 B)6 C)8 D)0【参考答案】:D6、已知i=5,j=0,下列各式中运算结果为j=6的表达式是 。A)j=i+(+j) B)j=j+i+ C)j=+i+j D)j=j+i【参考答案】:C7、如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为_。A)0 B)语法错 C)1 D)“假”【参考答案】:C8、C+源文件的扩展名为 。A)cpp B)c C)txt D)exe【参考答案】:A9、C+的合法注释是 。A)/*This is a C program/* B)/ This is a C programC)“This is a C program” D)/This is a C program/【参考答案】:B10、下列数组的定义中, 是错误的。A)char ca1=c,m,n; B)char ca2=”name”;C) char ca34=”your”; D)int array=1,2,3,4;【参考答案】:C11、下列一维数组定义正确的是 。A)x=6;int numx; B)const int x=6;float ax;C)const float x=6;int bx; D)const int x=6;int cx;【参考答案】:B12、关于函数的声明和定义正确的是 。A)函数的声明是必须的,只有这样才能保证编译系统对调用表达式和函数之间的参数进行检测,以确保参数的传递正确B)函数的定义和声明可以合二为一,可以只有函数定义即可C)函数在声明时,其参数标识符可省略,但参数的类型、个数与顺序不能省略D)函数的存储类型为外部型,所以可以在其他函数中被调用,它在定义时象其他外部变量一样,可以在其他函数内定义【参考答案】:C13、在函数的返回值类型与返回值表达式的类型的描述中,错误的是 。A)函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的B)函数返回值的类型就是返回值表达式的类型C)函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D)函数返回值类型决定了返回值表达式的类型【参考答案】:B14、若有以下定义,则说法错误的是 。int a=100,*p=&a ;A)声明变量p,其中*表示p是一个指针变量B)变量p经初始化,获得变量a的地址C)变量p只可以指向一个整形变量D)变量p的值为100【参考答案】:D15、若有以下定义,则赋值正确的是 。int a ,b , *p;float c, *q;A)p=&c B)q=p C)p=NULL D)q=new int【参考答案】:C16、如果x是整型变量,则合法的形式是 。A)(x+5)B)*xC)&*xD)*&x【参考答案】:D二、写出下列程序的运行结果1、(4分)#includef(int a)int b=0; static int c=3; b+;c+; return(a+b+c);void main( )int a=2,i; for(i=0;i3;i+) coutf(a)endl;程序的运行结果为:【知识点】: 函数机制中的传值参数,参见P1372、(4分)下列程序的运行结果是_。 #include class A public: A()cout1; A()cout2; ;class B:public A public: B()cout3; B()cout4; ; void main() B b; 【知识点】:构造函数和析构函数。见P2933、(3分)#include int a=10; f(int a) static b=2; return b+=a+b;void main() for(int i=0;i2;i+)coutf(a);程序的运行结果为:【知识点】:函数机制中的传值参数,参见P1374、(3分)#include int m1(int a); int m2(int a); void main() coutm1(11); int m1(int a) if(a0)return a; else m2(a-1)int m2(int a) if(a0)return a; else m1(a-3)程序的运行结果为:【知识点】:函数机制中的传值参数,参见P137三、填空题1、程序中函数check()的功能是检查value中的值四舍五入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 暖春观后感合集15篇
- 教师自我鉴定500字左右10篇
- 本科毕业生自我鉴定6篇
- 2024国开电大【安全技术与管专业】《安全原理》形考任务1234答案(陕西)
- 土建监理员个人年终总结
- 17GRC装饰线条制作与施工协议样本(2024年版)一
- 关联词的用法及举例
- 关于广告的英语
- 《基本卫生保健》课件
- 年轻男性瘫痪护理常规
- 商业银行消费者权益保护审查要点
- 转让午托班协议书范本
- QCT1067.5-2023汽车电线束和电器设备用连接器第5部分:设备连接器(插座)的型式和尺寸
- 急诊医学智慧树知到期末考试答案章节答案2024年杭州医学院
- 中国老年糖尿病诊疗指南解读(2024版)
- 《第4单元 表内乘法(一):2、3的乘法口诀》教案(附导学案)
- (完整)运输方案
- 华为产品全生命周期成本管理
- 第15课《建设美丽中国》第2框《优化生态安全屏障体系》课件 2023-2024学年 中职高教版(2023)中国特色社会主义
- 2024版新生产安全事故罚款处罚规定解读
- 供热系统设计说明书
评论
0/150
提交评论