2020年秋学堂在线《C++语言程序设计基础(2020秋)》课后章节测试答案_第1页
2020年秋学堂在线《C++语言程序设计基础(2020秋)》课后章节测试答案_第2页
2020年秋学堂在线《C++语言程序设计基础(2020秋)》课后章节测试答案_第3页
2020年秋学堂在线《C++语言程序设计基础(2020秋)》课后章节测试答案_第4页
2020年秋学堂在线《C++语言程序设计基础(2020秋)》课后章节测试答案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章绪论第2章C+简单程序设计(一)第2章C+简单程序设计(二)第3章函数第4章类与对象第5章数据的共享与保护第6章数组、指针与字符串(一)第6章数组、指针与字符串(二)单选题(1分)C+语言是()A机器语言B汇编语言C面向过程的高级语言D面向对象的高级语言ABCD正确答案D单选题(1分)面向对象的程序设计方法的主要优势在于A编写硬件接口程序B编写小规模的数值计算程序C开发大型系统D开发函数库ABCD正确答案C单选题(1分)在C+中,实现封装性需借助于A枚举B类C数组D函数正确答案B单选题(1分)在面向对象方法中,不属于”对象”基本特点的是A一致性B分类性C多态性D标识唯一性正确答案A单选题

2、(1分)关于编程下列说法错误的是A编程需要用一种程序设计语言B编程就是软件开发的全部工作C编写面向对象的程序最好选用面向对象的语言D编程完成之后需要进行测试正确答案B单选题(1分)计算机最小的存储单位是bitA正确B错误AB正确答案A填空题(1分)255(10)转换为二进制为正确答案:11111111填空题(1分)0.101(2)转化为十进制为正确答案:0.625填空题(2分)写出-56(10)的八位二进制原码:八位二进制补码:正确答案:10111000正确答案:11001000多选题(2分)以下属于C+语言的特点是:(多选)A支持面向对象程序设计B支持泛型程序设计C支持面向过程程序设计正确答

3、案ABC多选题(2分)以下字符串可以作为标识符的是(多选)AB123CC+DDefineEintFCout正确答案ADF填空题(1分)C风格字符串”C+”在内存中占用的字节数是正确答案:4单选题(1分)符号常量在定义时一定要初始化(ATrueBfalse正确答案A单选题(1分)以下哪个属于算术运算符:AAB%CD|正确答案B单选题(1分)控制格式的标志位中,转换为十六进制形式的标志位是AdecBhexCoctDws正确答案B单选题(1分)控制格式输入输出的操纵符中,设置域宽的是?AwsBoctCsetfill()Dsetw()正确答案D单选题(1分)为了避免嵌套的if-else语句的二义性,C

4、语言规定else总是与组成配对关系A缩排位置相同的ifB在其之前未配对的ifC在其之前最近的未配对的ifD同一行上的if正确答案C填空题(1分)switchcase语句中,case语句后的表达式可以是变量。(填是或否)正确答案:否填空题(1分)swichcase语句中,case分支中的语句可以是多个语句且不需要大括号。(填是或否)正确答案:是填空题(1分)while语句后的表达式在值为true的时候会执行语句。(填是或否)正确答案:是单选题(1分)以下叙述正确的是Ado-while语句构成的循环不能用其它语句构成的循环来代替Bdo-while语句构成的循环只能用break语句退出C用do-wh

5、ile语句构成的循环,在while后的表达式为true时结束循环D用do-while语句构成的循环在while后的表达式为false时结束循环正确答案D多选题(2分)下列程序计算1+2+3+.+9,请补充代码intsum=0;forinti=1;i!-10;_)sum丰二i;Ai+B-iCi+=1正确答案AC单选题(1分)以下程序能否实现求10以内所有正奇数之和intsum=0;For(inti=1;i10;i+2)sum#二i;A可以B不可以正确答案B填空题(1分)enumWeekdaySUN=7,MONJTUE,WED,THUrFRI,SAT:TUE的值为:正确答案:9填空题(1分)enu

6、mWeekdaySUN=7rMON=1,TUE,WED,THUrFRI,5AT;TUE的值为:正确答案:2单选题(1分)单选题voidtest()return;函数test定义如上,是否正确()A是B否正确答案A单选题(1分)question(inta)returna;函数question定义如上,它缺失了()A返回值类型B函数名C形式参数表D语句序列正确答案A单选题(1分)已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则AFA必须定义在FB之前BFB必须定义在FA之前C若FA定义在FB之后,则FA的原型必须出现在FB的定义之前D若FB定义在FA之后,则FB的原型必须出现在FA的定

7、义之前正确答案D单选题(1分)判断题若函数定义在调用点之前,可以不另外声明,这句话是否正确(A是B否正确答案A填空题(1分)例3-2的程序中,如果运行时输入01101001,power()函数会执行次?正确答案:4填空题(1分)例3-3的程序中的aretan()函数,如果执行aretan(1/5.0),那么函数中while循环的循环体最后次被执行后,i的值是多少填入符合题目要求的i的值(整数):正确答案:21填空题(1分)在symm函数中,当输入参数n二233时循环内部执行了次。正确答案:3单选题(1分)以下说法中,错误的项是()A实参可以是常量、变量,但不可以是表达式B实参类型必须与形参相符

8、C值传递是传递参数值,即单向传递D引用传递可以实现双向传递正确答案A单选题(1分)#ineludeusingnamespaeestd;voidfunetion2(intn);voidfunetion1(intn)if(n=0)return;funetion2(n-2);voidfunetion2(intn)if(n=0)return;funetion1(n-1);intmain()funetion1(5);return0;下列关于程序运行情况的描述中,正确的是Afunction1运行1次,function2运行2次Bfunction1运行2次,function2运行1次Cfunction1运行

9、2次,function2运行3次Dfunction1运行2次,function2运行2次正确答案D单选题(1分)算斐波那契数列第n项的定义如下:intfib(intn)if(n=0)return1;elseif(n=1)return2;elsereturnfib(n-1)+fib(n-2);若执行函数调用表达式fib(2),函数fib被调用次数是A1B2C3D4正确答案C填空题(1分)写出函数调用f(3,5)的返回值:正确答案正确答案Bintf(inta,intb)if(ab)returnf(b-a),a);elseif(a=b)return2*a;elsereturnf(f(a/2,b),f

10、(b,b%2);正确答案:2填空题(1分)例3-9课后习题函数comm在输入为n=5,k=9时的返回值为:正确答案:0填空题(1分)例3-10课后习题当盘子个数为10时,hanoi函数一共被调用了次。正确答案:1023单选题(1分)在()时为形参分配存储空间。A函数声明B函数定义C函数调用正确答案C单选题(1分)题目包含多个选项,但学生只能选择一个答案可以作为双向传递的是()传递A值B引用正确答案正确答案B判断题(1分)可以定义指向引用的指针.正确答案X单选题(1分)题目包含多个选项,但学生只能选择一个答案。判断以下说法是否正确:当需要编写含有可变参数的函数时,若参数类型不同,可选择使用标准库

11、中的initializerist类型A正确B错误正确答案B单选题(1分)要求通过函数实现一种不太复杂的功能,并且要加快执行速度,则选用A内联函数B重载函数C递归函数D嵌套函数正确答案A单选题(1分)类内实现好的成员函数是内联函数,在类体外实现的函数不能是内联函数A正确B错误单选题(1分)已知程序中有以下声明:intnonconst_var=100;constintconst_var1=2;constintconst_var2=nonconst_var;则下述代码中正确的是:Aconstexprintconstexpr_var1=3+const_var1*4;Bconstexprintconst

12、expr_var2=3+nonconst_var*4;Cconstexprintconstexpr_var3=3+const_var2*4;正确答案A单选题(1分)判断下面的函数定义中错误的是:Afloatvolume(floatx=1.0,floaty=1.0,floatz=1.0)returnx*y*z;Bfloatvolume(floatx,floaty=1.0,floatz)returnx*y*z;Cfloatvolume(floatx,floaty=1.0,floatz=1.0)returnx*y*z;Dfloatvolume(floatx,floaty,floatz)returnx

13、*y*z;正确答案B单选题(1分)例3-15中的getVolume函数,如果直接调用inta二getVolume();后,会有什么样的结果?A编译运行正确,a的值为0B编译运行正确,a的值为6C编译报错D运行出错正确答案c单选题(1分)函数intadd(inta,intb);和intadd(intc,intd);定义在同一文件中,是否能编译通过.A否B正确答案A多选题(2分)两个重载函数可以有哪些地方不相同?A函数名B参数个数c参数类型正确答案BC填空题(1分)通过查阅系统函数完成下列程序,输入一个浮点数,输出其绝对值。本题答案fabs或者abs都算对#include#includeusing

14、namespacestd;intmain(void)floatn;cinn;coutfabs(n)endl;return0;正确答案:cmath单选题(1分)抽象使得协同工作的开发人员可以更多地关注他人的代码功能而非代码实现A对B错正确答案A单选题(1分)可以在类外使用成员访问运算符.访问私有变量或方法A对B错正确答案B填空题(3分)视频的例子中,如果先后调用myClock.setTime(8,30,30);myClock.setTime(10);myClock.showTime();程序的输出是什么(:)正确答案:10正确答案:0正确答案:0单选题(1分)在C+中,编译系统自动为一个类生成缺

15、省构造函数的条件是A该类没有定义任何有参构造函数B该类没有定义任何无参构造函数C该类没有定义任何构造函数33D该类没有定义任何成员函数正确答案c单选题(1分)视频的例子中,如果将main函数中的Clockc(0,0,0);替换成Clockc;会有什么结果?A编译运行正确,输出为0:0:0B编译运行正确,输出为不确定的值C编译报错D运行出错正确答案C单选题(1分)#includeusingnamespacestd;classNamecharname20;public:Name()strcpy(name,);cout?;Name(char*fname)strcpy(name,fname);cout

16、?;intmain()Namenames3=Name(张三),Name(李四);return0;运行此程序输出符号?的个数是A0B1C2D正确答案D单选题(1分)有如下的程序:#include#includeusingnamespacestd;classMyStringpublic:MyString(constchar*s);MyString()deletedata;protected:unsignedlen;char*data;MyString:MyString(constchar*s)len=strlen(s);data=newcharlen+1;strcpy(data,s);intmai

17、n()MyStringa(C+Programming);MyStringb(a);return0;在运行上面的程序时出错,出错的原因是()。A构造函数的实参不允许是本类的对象B没有定义实现深层复制(深拷贝)的拷贝构造函数C构造对象a时实参与形参类型不符D系统不能生成缺省的拷贝构造函数正确答案B单选题(1分)已知类MyClass的定义如下:classMyClassprivate:intnum;public:MyClass(intd):num(d)MyClass(constMyClass&original):num(original.num)friendvoidprint(MyClassC)cou

18、tC.num;且有如下程序段:MyClassc(5);MyClass*p1;p1=&c;print(*p1);print(c);运行这个程序段的过程中,对类MyClass的复制构造函数的调用次数是A4B3C2D1正确答案C单选题(1分)intmain()Studentt1;Studentt2(t1);/1Studentt3=t1;/2return0;Student为表示学生的类且未重载赋值操作符,则上述程序中有调用复制构造函数的是:A1B2C1和2正确答案c单选题(1分)单选题提供了单选按钮,学生只能选择一个认为正确的答案。可以向析构函数中传入参数以完成对象被删除前的一些清理工作A正确B错误正

19、确答案B单选题(1分)下列关于类成员对象构造函数调用顺序的叙述中,正确的是A与它们在初始化列表中的顺序相同B与它们在类中声明的顺序相同c与析构函数的调用顺序相同D顺序不确定正确答案B填空题(1分)视频中的程序中,每调用一次参数为两个Point的Line类的构造函数,要执行几次Point类的复制构造函数?输入执行次数(整数):正确答案:4单选题(1分)前向引用声明某个类后,可在之后的其他类的成员函数中将该类作为参数类型使用A22正确答案A填空题(4分)在UML中,虚线箭头表示,实线空心三角形表示,实线空心菱形表示,实线实心菱形表示。继承依赖组成聚集共享聚集(请依次填入大写字母序号)正确答案:B正

20、确答案:A正确答案:D正确答案:C多选题(2分)以下关于结构体和联合体说法正确的是A结构体的缺省访问权限是publicB在C+中,结构体可以有函数成员C联合体各成员共用同一组内存单元D联合体中任何两个成员可以同时有效正确答案ABC单选题(1分)在视频中的的如下的定义:enumclassCategoryGeneral=1,Pistol,MachineGun,Cannon;Pistol的值为:A0B1C正确答案c单选题(1分)inti=1;intmain()inti=2;coutiendl;return0;以下程序输出为:A2B1正确答案B单选题(1分)使用static声明的局部变量的生存期是()

21、A整个程序B从函数中声明开始到函数结束c从函数中声明开始到程序结束D以上都不对正确答案A填空题(1分)关键字声明静态数据成员为整个类所有,在定义时通过关键字声明正确答案:static单选题(1分)静态函数不可直接访问对象的变量A对B错正确答案A单选题(1分)下面关于友元的描述中,错误的是A友元函数可以访问该类的私有数据成员B一个类的友元类中的成员函数都是这个类的友元函数C友元可以提高程序的运行效率D若A是B的友元类,则B类可以访问A类的私有成员正确答案D单选题(1分)下列关于常成员的说法不正确的是哪一个A常数据成员必须进行初始化,并且不能被更新B常数据成员可以在定义时直接初始化(C+11)C常

22、成员函数不可以被非常对象调用D常数据成员通过构造函数的成员初始列表进行初始化正确答案C单选题(1分)以下关于外部变量和外部函数的说法,错误的是A外部变量的声明可以是引用性的声明B静态变量和静态函数即使使用extern声明,它们的使用范围仍然被限定在定义文件中C外部变量可以为多个源文件所共享D外部函数和外部变量在声明时,都不能省略关键词extern正确答案D单选题(1分)以下哪一个不在标准C+库中A微软基础类(MFC)B容器类与抽象容器类(ADT)C存储管理类D错误管理正确答案A单选题(1分)以下关于预处理的说法,错误的是A预处理在编译前进行B预处理指令需要分号结尾C每条预处理指令必须单独占用一

23、行D预处理指令可以出现在程序的任何位置正确答案B单选题(1分)初始化一个二维数组staticinta34=1,0,6,0,0,11;a0的值为:-未答A1B0C6D11正确答案B单选题(1分)判断:已知一个已初始化的一维数组a,数组长度为6,则可以引用数组元素进行赋值操作,如a0二a2+a3a2*3.A正确B错误正确答案B单选题(1分)已知数组arr的定义如下intarr5=1,2,3,4,5;下列语句中值不是2的是A*arr+1B*(arr+1)Carr1D*arr正确答案D单选题(1分)将数组做函数参数时,在函数体内对形参数组数据的修改将会直接影响实参数组?A是B否正确答案A单选题(1分)

24、使用Pointa3二Point(1,2),Point(3,4),Point()时,系统调用了次Point类的默认构造函数?A1B2C3D4正确答案A填空题(1分)如果x是整型变量,则合法的形式是答案填大写字母&(x+5)水X&半xD.正确答案:D单选题(1分)以下关于地址和指针的叙述中正确的是A可以取变量的地址赋值给同类型的指针变量B可以取常量的地址赋值给同类型的指针变量C可以取一个指针变量的地址赋给本指针变量,这样就使得指针变量指向自身D所有指针变量如果未赋初值,则自动赋空值NULL正确答案A多选题(2分)已知inta10,*pa=a;则选项中等效的有(多选题):AaiB*(pa+i)C*(

25、a+i)Dpai正确答案ABCD单选题(1分)已知Point*pa2;则pa0和pa1A两个Point类型元素B两个Point指针类型元素正确答案B单选题(1分)以下说法不正确的是:A以指针作为函数参数可以实现数据的双向传递B只有指向常量的指针才能作为函数的形参C当数组名作为函数的参数时,则退化为一个指针正确答案B单选题(1分)关于指针类型的函数,下列说法正确的是:A可以返回非静态局部变量的地址B可以返回主调函数中合法的地址C子函数中通过new操作取得的地址不能作为返回值D子函数中通过new操作取得的地址不存在安全隐患单选题(1分)要定义一个引用变量p使之引用类MyClass的一个对象,正确的

26、定义语句是AMyClassp=MyClass;BMyClassp=newMyClass;CMyClassp=newMyClass;DMyClassa,p=a;正确答案D单选题(1分)于C+的动态存储分配,下列说法正确的是?Anew和delete是C+语言中专门用于动态内存分配和释放的函数B动态分配的内存空间也可以被初始化C当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new正确答案B单选题(1分)为了动态声明一个内容为”string”的字符串,下列语句中正确的是Acharstr=newchar10;strcpy(str,string);Bchar*str=newchar10;strcpy(str,string);Cchar*str=newchar(s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论