下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、机密启用前大连理工大学网络教育学院2018年春C/C+语言程序设计期末考试复习题 注意事项:本复习题满分共:400分。一、单选题1、已知int x=2,y=8;执行 x*=y+2 ;后x的值是()。A. 20B. 18C. 16D. 122、下列 while循环的执行次数是()。while(int i=0) i+;A. 0B. 1C. 5D.无限3、以卜不属于C语言关键字的疋()。A. shortB. intC. caseD. DIM4、当一个类对象离开它的作用域时,系统将自动调用该类的()。A.构造函数B.拷贝构造函数C.析构函数D.默认构造函数5、下列哪个函数不是类的成员函数。()A.析构
2、函数B.构造函数C.拷贝构造函数D.友元函数6、在执行 int a3=1 , 2, 3, 4, 5, 6;语句后,a00的值是()A. 4B. 1C. 2D. 57、C+中用3个保留字实现异常处理,除了throw和catch外,还有(A. ifB. classC. tryD. return&当类的继承方式为()时,基类中的公有成员和保护成员都以私有成员身份出现在派生类中,而 基类的私有成员在派生类中不可直接访问。C.保护继承D.以上都不是9、作用域分辨符可以用来限定要访问的成员所在的类的名称,匕的付号表示为()。A.:B. ?:C.;D. 10、下列哪个函数的作用是字符串比较()。A.
3、 strlen()B. strcmp()C. strcat()D. strcpy()11、指出下面合法的标识符是()。A. 3abB. intC. stu2D. $abc12、设有数组定义 char array ="Public"则数组array所占的空间为()。A. 4个字节B. 5个字节C. 6个字节D. 7个字节13、下面表达式中错误的是()。A. b=a+B. a/=2C. a+b=5D. a=5,b=6,c=714、在定义int a5;之后,对a的引用正确的是()。A. a5B. a4.3C. a(5)D. a015、执行下面的程序段后,输出结果是()。main(
4、)char a="english"printf("%c",aO);A. engliB. eC. englishD. sh16、当类的继承方式为()时,基类的公有和保护成员的访问属性在派生类中不变,而基类的私有成员不可直接访问。A.私有继承B.公有继承C.保护继承D.以上都不是17、类中将关键字()写在函数体之前函数头之后,说明该函数是一个常成员函数(或con st成员函数),可以防止函数改变数据成员的值。A. constB. staticC. friendD. voidD. 1C. 219、下列选项中正确的语句是(A. x+B. int(x+5)C. y
5、+5=6;D. x=y+5;20、绑定工作在编译连接阶段完成的情况称为(A. 静态绑定B.动态绑定C.重载D.继承21、在下面的一维数组定义中,哪一个有语法错误(A. int a=1,2,3;B. int a10=0;C. int a;D. int a5;22、假定AB为一个类,则该类的拷贝构造函数的声明语句为(A. AB&(AB x);B. AB(AB x);C. AB(AB&);D. AB(AB* x)23、()是给对象取一个别名,它引入了对象的同义词。A. 指针B.引用C.枚举D.结构24、下列运算符中,()运算符在C+中不能重载。A. ?:B. +C.D. <=2
6、5、一个()允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值能取多种数据类型。A.函数模板C.类模板26、如果一个类至少有一个纯虚函数,那么就称该类为(A.抽象类C.派生类27、进行文件操作时需要包含()文件。A. iostream.hB.模板函数D.模板类)°B.虚基类D.以上都不对B. fstream.hC. stdio.hD. stdlib.h28、当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是(C. ios:trunc29、在ios中提供控制格式的标志位中,A. hexC. dec30、C+中用3个保留字实现异常
7、处理,除了A. ifC. throw31、设有定义A. intC. char32、对于while、dowhile循环结果说法正确的是A.只是表达形式不同C. dowhile结构中的语句至少执行一次33、 下列符号中可以用作C+标识符的是()。A. _radiusC. else34、 预处理命令在程序中都是以()符号开头的。A. *C. &35、当说明一个结构变量时,系统分配给它的内存为A.各成员所需内存量的总和C.成员中占内存量最大的成员所需的容量36、()的功能是对对象进行初始化。A.析构函数C.构造函数D. ios:binary()是转换为十六进制形式的标志位。B. octD. l
8、efttry和catch外,还有()B. classD. returnint x; double v;,贝U 10+x+v值的数据类型是()。B. doubleD.不确定()。B. while结构中的语句至少执行一次D.条件成立时,他们有可能一次也不执行B. foo barD. 3roomB. #D. ()。B. 结构中第一个成员所需内存量D.结构中最后一个成员所需内存量B. 数据成员D.静态成员函数37、()只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量。A.虚函数B.静态函数C. 构造函数D.析构函数38、 在下列各类函数中,()不是类的成员函数。B.构
9、造函数A.析构函数39、 在执行 int a3=1 , 2, 3, 4, 5, 6;语句后,a11的值是()。A.4B.1C. 2D.540、 下列不可以被重载的运算符是()。A.?:B.+C. -D.*41、 C+语言对C语言做了很多改进,C+语言相对于C语言的最根本的变化是()。A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D.弓|进了类和对象的概念42、 设 array 为一个数组,则表达式sizeof(array)/sizeof(array0)的结果为()。A. array 数组首地址C. array数组中每个元素所占的字节数43、将两个字符
10、串连接起来组成一个字符串时,选用A. strlen()C. strcat()44、函数调用不可以()。A.出现在一个表达式中C.作为一个函数的实参45、C+源程序文件的扩展名是()。A. .CPPC. .DLL46、 下列运算符中优先级最高的为()。A. !C.-=47、 有关构造函数的说法错误的是()。A.构造函数名字和类的名字一样C.构造函数无任何函数类型48、 通常的拷贝构造函数的参数是()。A.某个对象名B. array数组中元素个数D. array数组占的总字节数()函数。B. strcap()D. strcmp()B.出现在执行语句中D. 作为一个函数的形参B. .CD. .EXE
11、B. %D. &&B.构造函数在说明类变量时自动执行D.构造函数有且只有一个B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名A. if(s仁s2)B. if(s =s2)C. if(strcpy(s1,s2)D. if(strcmp(s1,s2)=0)50、在定义int a36;后,第10个元素是()。A. a24C. a31B. a13D. a42单选题答案1、A2、A3、D4、C5、D6、B7、C8、A9、A10、B11、C12、D13、C14、D15、B16、B17、A18、C19、D20、A21、C22、C23、B24、A25、C26、A27、B28、A29
12、、A30、C31、B32、C33、A34、B35、A36、C37、B38、D39、D40、A41.D42.B43. C44. D45. A46.A47.D48. C49. D50. B二、填空题1、 C+类中可以包含公有、私有和 三种具有不同访问控制权的成员。2、 在C+中有两种类型的注释符,一种是C语言中使用的注释符(/*/ ),另一种是 3、 是给对象取一个别名,它引入了对象的同义词。4、 语句 while(int i=0) i-;while循环的次数是 。5、 类模板的使用实际上是将类模板实例化成一个具体的 。6、 执行 操作将释放由P所指向的动态分配的数组空间。7、假定x=1,则表达式
13、(x<=1?20:30)的值为 。8、 表达式sqrt(81)和pow(6,3)的值分别为 和。9、 空串的长度为 ,存储它需要占用 个字节。10、 strlen("apple")的值为。11、 当一个类对象离开它的作用域时,系统将自动调用该类的 。12、 定义一个模板函数或模板类时要用到的第一个C+保留字是。13、假定用户没有给一个名为 AB的类定义构造函数,则系统为其隐含定义的构造函数为14、 C+冲默认main函数的返回类型是 ,所以在定义 main函数时可以不写返回值类型。15、 使用cin和cout进行输入输出操作的程序必须包含头文件 ,其语句格式为 。16
14、、假定 x=10.5,y=-4.6,则表达式 floor(fabs(x+y) 的值为。17、 对一个一维字符数组 a进行初始化的数据为"12345",则a0和a3元素对应的初值分别为 和。18、 对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现。19、随机函数rand()%20的值在至区间内。20、 类中数据和成员函数默认访问控制权类型为 。21、 假定一个类对象数组为A10,当离开它的作用域时,系统自动调用该类析构函数的次数为 。22、 若需要把一个函数“void F();”定义为一个类AB的友元函数,则应在类AB定义中加入一条语句:。
15、23、 假定一个类AB中有一个静态整数成员bb,在类外为它进行定义并初始化为0时,所使用的语句为。24、 在一个类的后缀加的运算符重载成员函数的定义中,带有 个整型参数。填空题答案1. 保护 2 . /3 .引用 4. 0次 5 .类6. delete p;7. 208. 9、2169. 0、110.511 .析构函数12. template13. AB()14.int15.iostream.h#include<iostream.h>16. 517. 1' 4'18.初始化表、函数体19.0、1920.私有21. 1022. friend void F();23.
16、int AB:bb=0;24.1三、判断题1、 循环语句的循环体可能一次都不执行。()2、 使用cin和cout进行输入输出操作的程序必须包含头文件math.h。()3、 C+源程序文件的扩展名是.exe。()4、 关键字中,用以说明类中公有成员的是private。()5、 一个类只能有一个对象。()6、拷贝构造函数不是类的成员函数。(&构造派生类的对象时,就要对基类数据成员、新增数据成员和成员对象的数据成员进行初始化。9、一个派生类可以同时有多个基类,这种情况称为单继承。10、抽象类不能实例化。(11、12、定义枚举类型的关键字是union。(在C+类中可以包含私有、公有和友元三种具
17、有不同访问控制权的成员。13、14、strcat()函数的作用是求字符串长度。15、说明静态数据成员时,前边要加关键字static。(16、成员函数可以重载。(17、delete的功能是动态分配内存。(18、关键字中,用以说明类中公有成员的是protected。(设有定义int x; double v;则5+x+v值的数据类型是int。(19、20、21、do-while循环可以写成 while循环。(22、所谓指令,就是计算机可以识别的命令。23、使用内联函数是以牺牲增大空间开销为代价的。流是一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动。类型兼容规则是指在需要基
18、类对象的任何地方,都可以使用公有派生类的对象来替代。24、25、内联函数的关键字为void。(26、友元关系可以继承。(27、new的功能是动态分配内存。(对象是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。28、29、绑定工作在编译连接阶段完成的情况称为静态绑定。30、使用I/O流的程序需要包含iostream.h 。(析构函数是在对象的生存期即将结束的时刻被自动调用的。判断题答案12、X3、x4、X5、X6、x7、X&"9、X10、"11、x12、X13、x14、X15、"16、"17、X18、x19、"20、&
19、quot;21、"22、"23、"24、"25、X四、阅读下列程序,请在答题卡上写出输出结果1、#in clude<iostream.h>void mai n()int x=1,y=2,z=3;x+=y+=z;cout<<(x<y?y:x)<<","cout<<(x<y?x+:y+)<<","cout<<y<<e ndl;输出结果:6,5,62、#in clude <iostream.h>void mai n
20、()int i;for(i=4;i<=10;i+)if(i%3=0)con ti nue;cout<<i;输出结果:4578103、#in clude<iostream.h>class CSampleprivate:int i;static int k;public:CSample();void Display();CSample:CSample()i=0;k+;void CSample:Display()cout<<"i="<<i<<",k="<<k<<e ndl
21、;int CSample:k=0;void mai n()CSample a,b;a. Display();b. Display();输出结果:i=0,k=2i=0,k=24、#in clude <iostream.h>void mai n()int x=1,y=0;switch(x)case 1:switch(y)case 0:cout<<"first "break;case 1:cout<<"sec ond ”;break;case 2:cout<<"thirdn"输出结果:first thi
22、rd5、#in clude<iostream.h>void mai n()int i,j; for(i=4;i>=1;i_)cout<<"*" for(j=1;j<=4-i;j+)cout<<"*"cout<<e ndl;输出结果:*6、#in clude<iostream.h>class CSampleint i;public:CSample();void Display(); CSample();CSample:CSample()cout<<"Co nstr
23、uctor"<<"," i=0;void CSample:Display()cout<<"i="<<i<<","CSample:CSample()cout<<"Destructor"<<e ndl;void mai n()CSample a;a.Display();输出结果:Con structor,i=0,Destructor7、#in clude<iostream.h>void Swap(i nt& a, i
24、nt& b);void mai n()int x(5), y(10);cout<< ” x= ” <<x<< ” ,y= ” <<y<<endl;Swap(x, y);cout<< ” x= ” <<x<< ” ,y= ” <<y<<endl;void Swap(i nt& a, i nt& b)int t;t=a;a=b;b=t;输出结果:x=5, y=10x=10, y=58#in clude <iostream.h>class Sam
25、plepublic:Sample( ) cout<< ” Constructor” <<endl;void fn(i nt i)static Sample c;cout<< ” i= ” <<i<<endl;void mai n()fn(10);fn(20);输出结果:Con structori=10i=209、#in clude<iostream.h>const int N=8;void mai n()int aN=1,2,3,4,5,6,7,8;int i,x;for(i=0; i<N/2; i+)x=ai; a
26、i=aN-1-i; aN-1-i=x;for(i=0; i<N; i+) cout<<ai;输出结果:8765432110、#in clude <iostream.h>class CSampleint i;public:CSample();CSample(i nt val);void Display();CSample();CSample:CSample()cout<<"C on structor1"<<e ndl; i=0;CSample:CSample(i nt val)cout<<"Co ns
27、tructor2"<<e ndl; i=val;void CSample:Display()cout<<"i="<<i<<e ndl;CSample:CSample()cout<<"Destructor"<<e ndl;void mai n()CSample a,b(10);a. Display();b. Display();输出结果:Con structor1Con structor2i=0i=10DestructorDestructor五、编程题C)的计1、 编写一个程
28、序输入一华氏温度,编程输出摄氏温度。已知:华氏温度(F)转换为摄氏温度(算公式为:C (F 32) *5/9#in clude<iostream.h>void mai n()float c,f;cout<<"华氏温度:"cin»f;c=(f-32)*5/9;cout<<"摄氏温度:"<<c<<e ndl;2、 编写一个程序将输入的一个三位正整数逆转,例如,输入123,输出321。#in clude<iostream.h>void mai n()int n,i,j,k;cou
29、t< <"输入一个三位正整数:"cin»n;i=n/100;求百位数n=n-i*100;j=n/10;/求十位数n=n -j*10;k=n;求个位数cout<<"逆转数:"<<k<<j<<i<<e ndl;(1)b24ac0,有两个相等实根;(2)b24ac0,有两个不等实根;(3)b24ac0,无实根(4)a 0,不是二次方程#in clude<iostream.h>#in clude<math.h>void mai n()float a,b,c,
30、d;cout<<"a="cin> >a;cout<<"b="cin> >b;cout<<"c="cin> >c;d=b*b-4*a*c;if(a=0)cout<<"不是二次方程!"<<endl;else if(d=0)cout<<" 一个实根:"<<-b/(2*a)<<endl;else if(d>0)cout<<"两个实根:"
31、<<(-b+sqrt(d)/(2*a)<<","<<(-b-sqrt(d)/(2*a)<<endl;elsecout<<"无实根! "<<endl;Student ,4、编写一个程序输入3个学生的英语和计算机成绩,并按总分从高到低排序。要求设计一个学生类其定义如下:class Stude ntint en glish,computer,total;public:void getscore();/获取一个学生成绩void display();/显示一个学生成绩;#in clude<
32、;iostream.h> class Stude ntint en glish,computer,total; public:void getscore();void display。;int retotal()return total;;void Stude nt:getscore()cout<<"输入英语成绩:"cin»en glish;cout<<"输入计算机成绩:"cin> 'computer;total=e nglish+computer;void Stude nt:display()总分=
33、"<<total<<e ndl;cout<<"英语="<<e nglish<<" 计算机="<<computer<<"void sort(Stude nt *p1,Stude nt *p2) 交换两个对象if(*p1)->retotal()<(*p2)->retotal()Stude nt *tmp=*p1;*卩仁*p2;*p2=tmp;void mai n()Stude nt *A3;for(i nt j=0;j<3;j+)A
34、j=new Student;cout<<"学生"<<j+1<<endl;Aj->getscore();int i;for(j=0;j<2;j+)for(i=0;i<2;i+)sort(A+i,A+i+1);cout<<endl<<"排序结果如下:"<<endl;for(i=0;i<3;i+)Ai->display();5、 编写一个程序,求下列分数序列的前15项之和。2 3 5 8 13 21J JJ JJJ1 2 3 5 8 13#in clude&l
35、t;iostream.h>void main()int i,m,n,k;double s=0;m=1;n=2;for(i=1;i<=15;i+)s=s+1.0* n/m;k=m;m=n;n=k+n;cout<<"s="<<s<<e ndl;6、编写一个程序,计算三角形、正方形的面积。(要求:抽象出一个基类base,在其中说明一个虚函数,用来求面积)#in clude<iostream.h>class baseprotected:int x,y;public:base(i nt x,i nt y)base:x=x;b
36、ase:y=y;virtual void disp()/ 定义一个接口cout<<"这个类没有面积"<<endl;class triangle:public base/定义三角形类,基类成员x为底边长,y为高public:tria ngle(i nt x,i nt y):base(x,y);void disp()cout<<"三角形面积:"<<x*y*0.5<<endl;class square:public base/定义正方形类,基类成员x 为边长public:square(i nt x):base(x,x);void disp()cout<<"正方形面积:"<<x*x<<endl;void mai n()base *p;tria ngle t(20,20);square s(20);p=&t;p->disp();p=&s;p->disp();7、 编写一个程序求“水仙花数”。“水仙花数”是指一个三位数,其各位数字的立方和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西省晋中市单招职业适应性考试题库及答案详解(基础+提升)
- 2026年巴音郭楞职业技术学院单招职业适应性考试题库附参考答案详解(研优卷)
- 2026年广州卫生职业技术学院单招职业倾向性测试题库带答案详解(新)
- 2026年广东省汕头市单招职业倾向性测试题库完整答案详解
- 2026年广西国际商务职业技术学院单招职业倾向性测试题库附参考答案详解ab卷
- 2026年山西老区职业技术学院单招职业技能考试题库带答案详解(突破训练)
- 2026年常州工程职业技术学院单招综合素质考试题库含答案详解(突破训练)
- 2026年广西培贤国际职业学院单招职业技能测试题库附答案详解(培优)
- 2026年广东省茂名市单招职业适应性考试题库含答案详解ab卷
- 2026年广东科学技术职业学院单招职业倾向性考试题库及答案详解(夺冠)
- 教育测量与评价 课件全套 朱德全 第1-15章 教育测量与评价概述- 教育测评结果的统计处理
- 路亚快艇转让协议书
- 高中英语跨学科教学活动设计
- 证书合作合同协议
- 尾矿坝工程项目施工方案
- 学校食堂副食品配送服务投标方案(技术方案)
- 数学竞赛辅导:《高中数学竞赛辅导班》教案
- T-ZRIA 002-2024 工业巡检四足机器人通.用技术条件
- OptiStruct结构分析与工程应用
- 柴油发电机施工方案
- 药物临床试验质量管理规范(GCP)
评论
0/150
提交评论