秋福师《C++语言程序设计》在线作业一.docx
《秋福师《C++语言程序设计》在线作业一.docx》由会员分享,可在线阅读,更多相关《秋福师《C++语言程序设计》在线作业一.docx(13页珍藏版)》请在冰豆网上搜索。
秋福师《C++语言程序设计》在线作业一
【奥鹏】[福建师范大学]福师《C++语言程序设计》在线作业一
试卷总分:
100得分:
100
第1题,以下各选项企图说明一种新的类型名,其中正确的是()
A、typedefv1int;
B、typedefv2=int;
C、typedefintv3;
D、typedefv4:
int;
第2题,虚函数使用关键字()
A、virtual
B、static
C、public
D、private
第3题,在C++语言中,数据封装要解决的问题是_________。
A、数据的规范化
B、便于数据转换
C、避免数据丢失
D、防止不同模块之间数据的非法访问
第4题,在C++语言中,为了使得类中的某些数据成员及某些成员函数的返回值能取任意类型,应使用______。
()
A、虚基类
B、抽象类
C、类模板
D、类
第5题,以下叙述中正确的是()。
A、构成C++语言程序的基本单位是类
B、可以在一个函数中定义另一个函数
C、main()函数必须放在其他函数之前
D、所有被调用的函数一定要在调用之前进行定义
第6题,下面关于break语句的描述中,不正确的是_________。
A、break可以用于循环体内
B、break语句可以在for循环语句中出现多次
C、break语句可以在switch语句中出现多次
D、break语句可用于if条件判断语句内
第7题,设a=1,b=2,则(a++)+b与a+++b这两个表达式的值分别为()。
A、3,3
B、3,4
C、4,3
D、4,4
第8题,C++语言的跳转语句中,对于break和continue说法正确的是()。
A、break语句只应用与循环体中
B、continue语句只应用与循环体中
C、break是无条件跳转语句,continue不是
D、break和continue的跳转范围不够明确,容易产生问题
第9题,C++程序的执行总是从哪里开始的?
A、main函数
B、第一行
C、头文件
D、函数注释
第10题,类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,那么________。
A、类C的继承方式只能采用public继承。
B、可改用单继承的方式实现类C的同样功能。
C、类A和类B至少有一个是抽象类。
D、类A和类B至少有一个是虚基类。
第11题,下列程序的输出结果为()。
#includeiostreamvoidmain(){char*a[]={"hello","the","world"};char**pa=a:
pa++;cout*paendl;}
A、hello
B、the
C、world
D、hellotheworld
第12题,已知:
f1(int)是类A的公有成员函数,函数p是指向成员函数f1()的指针,采用()是正确的。
A、p=f1
B、p=A:
:
f1
C、p=A:
:
f1()
D、p=f1()
第13题,下列哪种用法不能体现类A和类B之间的组合关系_________。
A、类A中声明数据成员Bb;
B、类A中声明数据成员B*b;
C、类A中声明数据成员constB&b;
D、类A中声明成员函数Bfunc(B&obj);
第14题,下面描述中,表达错误的是()。
A、公有继承时基类中的public成员在派生类中仍是public的
B、公有继承是基类中的private成员在派生类中仍是private的
C、公有继承时基类中的protected成员在派生类中仍是protected的
D、私有继承时基类中的public成员在派生类中是private的
第15题,在C++语言中,对函数参数默认值描述正确的是()。
A、函数参数的默认值只能设定一个
B、一个函数的参数若有多个,则参数默认值的设定可以不连续
C、函数参数必须设定默认值
D、在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值
第16题,已知下列语句中的x和y都是int型变量,其中不正确的语句是()
A、y+=++x;
B、++x+=y;
C、y=x++;
D、x++=y;
第17题,下面关于数组的初始化正确的是_________。
A、charstr[]={'a','b','c'}
B、charstr[2]={'a','b','c'}
C、charstr[2][3]={{'a','b'},{'e','d'},{'e','f'}}
D、charstr[]={'a','b','c'}
第18题,下列程序段循环次数是()。
intx=-10;while(++x)coutxendl;
A、9
B、10
C、11
D、无限
第19题,能正确表示x=3或者x1的关系表达式是()
A、x=3orx1
B、x=3|x1
C、x=3||x1
D、x=3&&x1
第20题,在下列运算符中,优先级最低的是()
A、||
B、!
=
C、
D、+
第21题,对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的函数体实现。
A、错误
B、正确
第22题,基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。
A、错误
B、正确
第23题,C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。
()
A、错误
B、正确
第24题,对于全局函数intf(void),与其完全等价的函数原型为constintf()。
A、错误
B、正确
第25题,程序设计的目标在正确的前提下,其重要性排列次序依次为:
可读,可维护,可移植和高效()
A、错误
B、正确
第26题,在一个函数中,不允许定义与结构体类型的成员相同名的变量。
()
A、错误
B、正确
第27题,在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问。
A、错误
B、正确
第28题,当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。
A、错误
B、正确
第29题,执行if(x=0||x=0)cout"abcd";elsecout"wxyz";屏幕上显示的是dcab。
A、错误
B、正确
第30题,字符型变量用来存放字符常量,可以存放多个字符。
()
A、错误
B、正确
第31题,面向对象的模型中,最基本的概念是对象和函数。
A、错误
B、正确
第32题,带extern的变量说明是变量声明,不是变量定义。
()
A、错误
B、正确
第33题,用new动态申请的内存是在堆中分配的,而不是在栈中分配的。
A、错误
B、正确
第34题,NULL与void*是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。
而void*是一种类型,是一种无任何类型的指针。
()
A、错误
B、正确
第35题,C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取传地址方式。
A、错误
B、正确
第36题,C++语句constchar*constp="hello",,所定义的指针p和它所指的内容都不能被改变。
A、错误
B、正确
第37题,在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。
()
A、错误
B、正确
第38题,变量必须先定义,后使用。
A、错误
B、正确
第39题,假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。
()
A、错误
B、正确
第40题,私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。
()
A、错误
B、正确
第41题,对C++语言和C语言的兼容性,描述不正确的是______。
A、C++兼容C
B、C++部分兼容C
C、C++不兼容C
D、C兼容C++
C,D
第42题,函数调用可以______。
A、出现在一个表达式中
B、出现在执行语句中
C、作为一个函数的实参
D、作为一个函数的形参
B,C
第43题,关于函数重载,下列描述错误的是______。
A、函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B、函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C、函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
D、函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
C,D
第44题,下列说法中正确的是______。
A、在一个函数中,可以有多条return语句
B、函数的定义不能嵌套,但函数的调用可以嵌套
C、函数必须有返回值
D、即使在不同的函数中,也不可以使用相同名字的变量
B
第45题,在进行完成任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中不能用于检测输入流状态的操作函数名称是______。
A、fail
B、eof
C、bad
D、good
C,D
第46题,下面哪些保留字可以作为函数的返回类型______。
A、void
B、int
C、new
D、long
B,D
第47题,下列关于构造函数的描述中,正确的是______。
A、构造函数可以设置默认参数
B、构造函数在定义类对象时自动执行
C、构造函数可以是内联函数
D、构造函数不可以重载
B,C
第48题,使用值传递方式将实参传给形参,下列说法不正确的是______。
A、形参是实参的备份
B、实参是形参的备份
C、形参和实参是同一对象
D、形参和实参无联系
C,D
第49题,考虑函数原型voidtest(inta,intb=7,charz='*'),下面的函数调用中,属于合法调用的是______。
A、test(5)
B、test(5,8)
C、test(6,'#')
D、test(0,0,'*')
B,D
第50题,下列哪种函数不可以是虚的______。
A、自定义的构造函数
B、拷贝构造函数
C、静态成员函数
D、析构函数
B,C