15秋北邮C语言程序设计作业Word格式.docx
《15秋北邮C语言程序设计作业Word格式.docx》由会员分享,可在线阅读,更多相关《15秋北邮C语言程序设计作业Word格式.docx(38页珍藏版)》请在冰豆网上搜索。
关于这个重载函数,下列表述中错误的是()。
它的名称是operator+=
它的返回值类型是FunType或FunType&
它的形参表只包含一个形参定义
它是类FunType的友元函数
第六章单选题
8、以下代码的运行结果是()。
#include<
iostream>
usingnamespacestd;
#defineMINUS(x)-x
intmain()
{
inta=1,b=2,c=3;
cout<
<
MINUS(a+b)*c<
endl;
return0;
}
3
5
-7
-9
第七章单选题
9、以下关于外部变量和外部函数的说法,错误的是()。
外部变量的声明可以是引用性的声明
静态变量和静态函数即使使用extern声明,它们的使用范围仍然被限定在定义文件中
外部变量可以为多个源文件所共享
外部函数和外部变量在声明时,都不能省略关键词extern
10、下面程序实现的功能是()。
iostream.h>
voidmain()
inti=1,sum(0);
loop:
if(i<
=100)
sum+=i,i++;
gotoloop;
}
cout<
sum<
输出100以内的偶数
计算并输出100以内自然数的和
第三章单选题
11、下面程序运行的结果是()。
#include<
voidmain()
inti;
for(i=1;
i<
=4;
i++){
if(i%2)
"
*"
;
elsecontinue;
#"
$"
*$
$
#*#*$
*#*#$
12、执行下面语句序列的输出的结果是()。
inti=0;
while(i<
25)i+=3;
i;
24
25
27
28
13、在分支语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。
switch
elseif
if
case
14、int、float、char、double四种类型的数据在一起做四则运算结果是_____类型。
int
float
double
第四章单选题
15、下列运算符中,优先级最高的是_____。
++
[]
%
&
&
16、结构体和联合体的所有成员变量和成员函数均默认为_____类型。
public
private
protected
void
第五章单选题
17、定义结构体的关键字是_____。
union
class
struct
18、有如下的程序:
cstring>
classMyString
public:
MyString(constchar*s);
~MyString(){delete[]data;
}
protect:
unsignedlen;
char*data;
};
MyString:
:
MyString(constchar*s)
len=strlen(s);
data=newchar[len+1];
strcpy(data,s);
MyStringa("
C++Programming"
);
MyStringb(a);
在运行上面的程序时出错,出错的原因是()。
构造函数的实参不允许是本类的对象
没有定义实现深层复制(深拷贝)的拷贝构造函数
构造对象a时实参与形参类型不符
系统不能生成缺省的拷贝构造函数
19、要求通过函数实现一种不太复杂的功能,并且要加快执行速度,则选用()。
内联函数
重载函数
递归函数
嵌套函数
20、若有下面的函数调用:
fun(a+b,3,max(n-1,b))
则fun的实参个数是()。
4
6
1、下面是两个类的声明:
classAA
intx;
AA(intn):
x(n){}
classBB
staticinta;
constintb;
AAc;
BB(int,int,int);
在定义构造函数BB:
BB(int,int,int)时,必须通过初始化列表中加以初始化的数据成员包括()。
a和b
a和c
b和c
a、b和c
第八章单选题
2、有如下程序:
classBase{
private:
voidfun1()const{cout<
"
fun1"
protected:
voidfun2()const{cout<
fun2"
voidfun3()const{cout<
fun3"
classDerived:
protectedBase{
voidfun4()const{cout<
fun4"
intmain(){
Derivedobj;
obj.fun1();
//①
obj.fun2();
//②
obj.fun3();
//③
obj.fun4();
//④
其中违反类成员访问控制权限的语句是()。
①②③④
①②③
②③④
①④
3、基类中的某些成员在派生类中的访问属性与派生方式无关,这些成员必然是原基类中的()。
公有成员
私有成员
保护成员
继承的私有成员
4、有如下程序:
voidfun(){cout<
Base:
fun"
publicBase{
voidfun()
{_____________//显式调用基类的成员函数fun()
Derived:
程序中画线处正确的语句是()。
fun();
Base.fun();
Base:
fun();
Base->
5、对于const关键字修饰对象的说法,下列哪一个说法是正确的( )。
不能用一般的成员函数来访问
可以用一般的成员函数来访问
可以访问const成员函数
不能访问const成员函数
第九章单选题
6、有如下程序:
classMyClass{
MyClass(){++count;
~MyClass(){--count;
staticintgetCount(){returncount;
staticintcount;
intMyClass:
count=0;
MyClassobj;
obj.getCount();
MyClass*ptr=newMyClass;
MyClass:
getCount();
deleteptr;
程序的输出结果是()。
121
232
221
122
7、有如下程序:
classA{
voidinit(){a=1;
A(inta=2){init();
a++;
intA:
a=0;
Aobj;
obj.a;
运行时输出的结果是()。
1
2
8、下列哪一个只能访问静态成员变量,静态成员函数和类以外的函数和数据,而不能访问类中非静态成员变量( )。
静态函数
虚函数
构造函数
析构函数
9、关于静态数据成员的特性,下列哪一个说法是错误的( )。
静态数据成员不是所有对象所共有的
静态数据成员在类体外进行初始化
声明静态数据成员时要在变量名前加关键字static来修饰
引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符
10、下列关于抽象类的表述中正确的是()。
没有函数成员的类称为抽象类
含有虚函数成员的类称为抽象类
含有纯虚函数成员的类称为抽象类
用abstract修饰的类称为抽象类
第十章单选题
11、下列关于纯虚函数的表述中正确的是()。
纯虚函数是只有接口没有实现的虚函数
含有纯虚函数的类不能用于定义对象,因此没有构造函数
纯虚函数的声明就是在虚函数声明的尾部加上修饰“=0”
派生类必须实现基类中声明的纯虚函数
12、虚函数必须是类的()。
成员函数
友元函数
13、有如下程序:
classBase
classDerived:
publicBase
______________//显式调用基类的函数fun()
程序中下画线处缺失的语句是()。
14、下列关于虚函数的表述中正确的是()。
只有用virtual修饰的成员函数才是虚函数
派生类中覆盖虚函数的重定义函数仍然是虚函数
对虚函数的调用都是动态绑定的
使用虚函数主要是为了提高运行效率
15、执行语句序列
ofstreamoutfile("
DATA.DAT"
if(<
条件>
)cout<
OK"
elsecout<
FAIL"
后,如果文件打开成功,显示“OK”,否则显示“FAIL”。
由此可知,上面if语句的<
应当是()。
outfile.fail()或outfile
outfile.good()或!
outfile
outfile.good()或outfile
outfile.fail()或!
第十一章单选题
16、有以下程序:
iomanip>
intmain(){
setfill('
#'
)<
setw(4)<
<
123<
endl;
执行后的输出结果是()。
##OK123
##OK#123
OK##123
OK##123#
17、对于语句cout<
endl<
x;
中的各个组成部分,下列解释中错误的是()。
“cout”是一个输出流对象
“endl”的作用是回车换
“<
”称做提取运算符
“x”是一个变量
为插入运算符。
18、I/O流中的预定义流对象包括()。
cin、cout、cerr、clog
cin、cout、cerr、ios
cin、cout、ios、clog
cin、ios、cerr、clog
19、以下关于异常处理的说法,正确的是()。
异常的抛出和处理,必须在同一个函数中完成
C++运行系统可以处理程序没有处理的异常
每个try语句只能和一个catch语句一起使用
异常不能被传播
第十二章单选题
20、以下不属于异常处理可以解决的问题的是()。
环境条件出现意外
用户操作不当
出现编译错误
除数为零
以下不是C++关键字的是______。
下列字符串中,正确的C++标识符是______。
判断字符型变量ch是否为大写英文字母,应该使用表达式()。
ch>
='
A'
ch<
Z'
||ch>
'
=ch<
ch<
下列语句中,错误的是()。
在16位计算机中,一个shortint型数据所占用的内存长度为()字节。
8
在为类FunType重载运算符+=时,重载函数的最后一个语句是
关于运算符重载,下列表述正确的是()。
可以针对基本类型的数据,重新定义“*”的含义
通过运算符重载可以改变运算符的操作数个数
只能重载C++中已有的运算符
C++中所有的运算符都可以重载
在重载一个运算符时,其运算符函数的参数表中没有任何参数,这说明该运算符函数是()。
将一个一元运算符重载为全局函数
将一个一元运算符重载为成员函数
将一个二元运算符重载为全局函数
将一个二元运算符重载为成员函数
如果表达式--j*k中的“--”和“*”都是作为友元重载的运算符,采用运算符函数调用格式,该表达式还可表示为()。
operator*(j.operator--(),k)
operator*(operator--(j),k)
j.operator--().operator*(k)
k.operator*(operator--(j))
假设名字空间A中有函数voidf(),且名字空间A被嵌套在名字空间B中,则以下哪一项实现了对函数f()的访问()。
A.B.f();
B.A.f();
A:
B:
f();
B:
A:
f()
下面程序运行时,如果输入的整数是231,那么,输出的结果是()。
voidmain(void)
intn,right_digit;
Enterthenumber:
cin>
>
n;
do
{right_digit=n%10;
right_digit;
n/=10;
while(n!
=0);
231
123
321
132
在分支语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。
下列运算符中,优先级最高的是_____。