C语言程序设计阶段作业一二.docx
《C语言程序设计阶段作业一二.docx》由会员分享,可在线阅读,更多相关《C语言程序设计阶段作业一二.docx(19页珍藏版)》请在冰豆网上搜索。
C语言程序设计阶段作业一二
第一阶段作业
一、单项选择题(共20道小题,共100.0分)
1.以下不是C++关键字的是______。
A.new
B.char
C.try
D.get
知识点:
单选题
学生答案:
[D;]
得分:
[5]
试题分值:
5.0
提示:
2.判断字符型变量ch是否为大写英文字母,应该使用表达式( )。
A.ch>='A'&ch<='Z'
B.ch<='A'||ch>='Z'
C.'A'<=ch<='A'
D.ch>='A'&&ch<='Z'
知识点:
第二章单选题
学生答案:
[D;]
得分:
[5]
试题分值:
5.0
提示:
3.设inta=3,b=2;,则++a*b的结果是( )。
A.2
B.3
C.8
D.5
知识点:
第二章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
4.下列十六进制整型常量的写法中,错误的是( )。
A.0xaf
B.0
C.0X1b
D.0xAE
知识点:
第二章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
5.在为类FunType重载运算符+=时,重载函数的最后一个语句是
return *this;
关于这个重载函数,下列表述中错误的是( )。
A.它的名称是operator+=
B.它的返回值类型是FunType或FunType&
C.它的形参表只包含一个形参定义
D.它是类FunType的友元函数
知识点:
第六章单选题
学生答案:
[D;]
得分:
[5]
试题分值:
5.0
提示:
6.已知针对类AX定义了一个唯一的运算符函数,使得对于AX的对象ax,表达式ax-5和5-ax都能正确求值。
有鉴于此,下列表述中错误的是( )。
A.该运算符函数是类AX的成员函数
B.该运算符函数的形参表中有两个参数
C.该运算符函数的函数名是operator-
D.利用类AX的构造函数可将5转换成一个AX对象
知识点:
第六章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
7.假定为类X成功地重载了++、=、-和[]等运算符,则其中肯定属于成员函数的运算符是( )。
A.-和=
B.[]和++
C.=和[]
D.++和[]
知识点:
第六章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
8.在下列运算符中,只能作为二元运算符重载的是( )。
A.+
B.-
C.*
D./
知识点:
第六章单选题
学生答案:
[D;]
得分:
[5]
试题分值:
5.0
提示:
9.以下代码的运行结果是( )。
#include
usingnamespacestd;
#defineMINUS(x) -x
intmain()
{
inta=1,b=2,c=3;
cout< return0;
}
A.3
B.5
C.-7
D.-9
知识点:
第七章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
10.以下关于外部变量和外部函数的说法,错误的是( )。
A.外部变量的声明可以是引用性的声明
B.静态变量和静态函数即使使用extern声明,它们的使用范围仍然被限定在定义文件中
C.外部变量可以为多个源文件所共享
D.外部函数和外部变量在声明时,都不能省略关键词extern
知识点:
第七章单选题
学生答案:
[D;]
得分:
[5]
试题分值:
5.0
提示:
11.下面程序实现的功能是( )。
#include
voidmain()
{
inti=1,sum(0);
loop:
if(i<=100)
{
sum+=i, i++;
gotoloop;
}
cout<}
A.输出100以内的偶数
B.计算并输出100以内自然数的和
知识点:
第三章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
12.下面程序运行的结果是( )。
#include
usingnamespacestd;
voidmain()
{
inti;
for(i=1;i<=4;i++){
if(i%2)
cout<<"*";
elsecontinue;
cout<<"#";
}
cout<<"$"<}
A.*$
B.$
C.#*#*$
D.*#*#$
知识点:
第三章单选题
学生答案:
[D;]
得分:
[5]
试题分值:
5.0
提示:
13.下列运算符中,优先级最高的是_____。
A.++
B.[]
C.%
D.&&
知识点:
第四章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
14.有如下的枚举类型声明语句,声明后fri的值是_____。
enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};
A.5
B.6
C.7
D.8
知识点:
第四章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
15.有如下说明:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是( )。
A.*p+9
B.*(p+8)
C.*p+=9
D.p+8
知识点:
第四章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
16.有如下程序段:
inti=0,j=1;
int&r=i; //①
r=j; //②
int*p=&i; //③
*p=&r; //④
其中会产生编译错误的语句是( )。
A.④
B.③
C.②
D.①
知识点:
第四章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
17.语句int*p=&k;定义了指针p,与这个语句等效的语句序列是_____。
A.int*p;p=&k;
B.int*p;p=k;
C.int*p;*p=&k;
D.int*p;*p=k;
知识点:
第四章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
18.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是_____。
A.intvect[]={30,50,-88}
B.intvect[]={30,50,-88,0,0}
C.intvect[5]={30,50,-88}
D.intvect[5]={30,50,-88,0,0}
知识点:
第四章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
19.结构体和联合体的所有成员变量和成员函数均默认为_____类型。
A.public
B.private
C.protected
D.void
知识点:
第五章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
20.下列关于this指针的叙述中,正确的是( )。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
知识点:
第五章单选题
学生答案:
[D;]
得分:
[5]
试题分值:
5.0
提示:
第二阶段作业
一、单项选择题(共20道小题,共100.0分)
1.下面是两个类的声明:
classAA
{
intx;
public:
AA(intn):
x(n){}
};
classBB
{
staticinta;
constintb;
AAc;
public:
BB(int,int,int);
};
在定义构造函数BB:
:
BB(int,int,int)时,必须通过初始化列表中加以初始化的数据成员包括( )。
A.a和b
B.a和c
C.b和c
D.a、b和c
知识点:
第八章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
2.有如下程序:
#include
usingnamespacestd;
classBase{
private:
voidfun1()const{cout<<"fun1";}
protected:
voidfun2()const{cout<<"fun2";}
public:
voidfun3()const{cout<<"fun3";}
};
classDerived:
protectedBase{
public:
voidfun4()const{cout<<"fun4";}
};
intmain(){
Derivedobj;
obj.fun1(); //①
obj.fun2(); //②
obj.fun3(); //③
obj.fun4(); //④
return0;
}
其中违反类成员访问控制权限的语句是( )。
A.①②③④
B.①②③
C.②③④
D.①④
知识点:
第八章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
3.基类中的某些成员在派生类中的访问属性与派生方式无关,这些成员必然是原基类中的( )。
A.公有成员
B.私有成员
C.保护成员
D.继承的私有成员
知识点:
第八章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
4.有如下程序:
#include
usingnamespacestd;
classBase{
public:
voidfun(){cout<<"Base:
:
fun"<};
classDerived:
publicBase{
public:
voidfun()
{ _____________ //显式调用基类的成员函数fun()
cout<<"Derived:
:
fun"< }
};
程序中画线处正确的语句是( )。
A.fun();
B.Base.fun();
C.Base:
:
fun();
D.Base->fun();
知识点:
第八章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
5.对于const关键字修饰对象的说法,下列哪一个说法是正确的( )。
A.不能用一般的成员函数来访问
B.可以用一般的成员函数来访问
C.可以访问const成员函数
D.不能访问const成员函数
知识点:
第九章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
6.有如下程序:
#include
usingnamespacestd;
classMyClass{
public:
MyClass(){++count;}
~MyClass(){--count;}
staticintgetCount(){returncount;}
private:
staticintcount;
};
intMyClass:
:
count=0;
intmain(){
MyClassobj;
cout< MyClass*ptr=newMyClass;
cout<:
getCount();
deleteptr;
cout<:
getCount();
return0;
}
程序的输出结果是( )。
A.121
B.232
C.221
D.122
知识点:
第九章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
7.有如下程序:
#include
usingnamespacestd;
classA{
public:
staticinta;
voidinit(){a=1;}
A(inta=2){init();a++;}
};
intA:
:
a=0;
Aobj;
intmain()
{
cout< return0;
}
运行时输出的结果是( )。
A.0
B.1
C.2
D.3
知识点:
第九章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
8.下列哪一个只能访问静态成员变量,静态成员函数和类以外的函数和数据,而不能访问类中非静态成员变量( )。
A.静态函数
B.虚函数
C.构造函数
D.析构函数
知识点:
第九章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
9.关于静态数据成员的特性,下列哪一个说法是错误的( )。
A.静态数据成员不是所有对象所共有的
B.静态数据成员在类体外进行初始化
C.声明静态数据成员时要在变量名前加关键字static来修饰
D.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符
知识点:
第九章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
10.下列关于抽象类的表述中正确的是( )。
A.没有函数成员的类称为抽象类
B.含有虚函数成员的类称为抽象类
C.含有纯虚函数成员的类称为抽象类
D.用abstract修饰的类称为抽象类
知识点:
第十章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
11.下列关于纯虚函数的表述中正确的是( )。
A.纯虚函数是只有接口没有实现的虚函数
B.含有纯虚函数的类不能用于定义对象,因此没有构造函数
C.纯虚函数的声明就是在虚函数声明的尾部加上修饰“=0”
D.派生类必须实现基类中声明的纯虚函数
知识点:
第十章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
12.虚函数必须是类的( )。
A.成员函数
B.友元函数
C.静态函数
D.析构函数
知识点:
第十章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
13.有如下程序:
#include
usingnamespacestd;
classBase
{
public:
voidfun(){cout<<"Base:
:
fun"<};
classDerived:
publicBase
{
voidfun()
{
______________ //显式调用基类的函数fun()
cout<<"Derived:
:
fun"< }
};
程序中下画线处缺失的语句是( )。
A.fun();
B.Base.fun();
C.Base:
:
fun();
D.Base->fun();
知识点:
第十章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
14.下列关于虚函数的表述中正确的是( )。
A.只有用virtual修饰的成员函数才是虚函数
B.派生类中覆盖虚函数的重定义函数仍然是虚函数
C.对虚函数的调用都是动态绑定的
D.使用虚函数主要是为了提高运行效率
知识点:
第十章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
15.执行语句序列
ofstreamoutfile("DATA.DAT");
if(<条件>)cout<<"OK";elsecout<<"FAIL";
后,如果文件打开成功,显示“OK”,否则显示“FAIL”。
由此可知,上面if语句的<条件>应当是( )。
A.outfile.fail()或outfile
B.outfile.good()或!
outfile
C.outfile.good()或outfile
D.outfile.fail()或!
outfile
知识点:
第十一章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
16.有以下程序:
#include
#include
usingnamespacestd;
intmain(){
cout< return0;
}
执行后的输出结果是( )。
A.##OK123
B.##OK#123
C.OK##123
D.OK##123#
知识点:
第十一章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
17.对于语句cout<A.“cout”是一个输出流对象
B.“endl”的作用是回车换
C.“<<”称做提取运算符
D.“x”是一个变量
知识点:
第十一章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示:
<<为插入运算符。
18.I/O流中的预定义流对象包括( )。
A.cin、cout、cerr、clog
B.cin、cout、cerr、ios
C.cin、cout、ios、clog
D.cin、ios、cerr、clog
知识点:
第十一章单选题
学生答案:
[A;]
得分:
[5]
试题分值:
5.0
提示:
19.以下关于异常处理的说法,正确的是( )。
A.异常的抛出和处理,必须在同一个函数中完成
B.C++运行系统可以处理程序没有处理的异常
C.每个try语句只能和一个catch语句一起使用
D.异常不能被传播
知识点:
第十二章单选题
学生答案:
[B;]
得分:
[5]
试题分值:
5.0
提示:
20.以下不属于异常处理可以解决的问题的是( )。
A.环境条件出现意外
B.用户操作不当
C.出现编译错误
D.除数为零
知识点:
第十二章单选题
学生答案:
[C;]
得分:
[5]
试题分值:
5.0
提示: