C语言程序设计阶段作业一二.docx

上传人:b****5 文档编号:7024883 上传时间:2023-01-16 格式:DOCX 页数:13 大小:18.98KB
下载 相关 举报
C语言程序设计阶段作业一二.docx_第1页
第1页 / 共13页
C语言程序设计阶段作业一二.docx_第2页
第2页 / 共13页
C语言程序设计阶段作业一二.docx_第3页
第3页 / 共13页
C语言程序设计阶段作业一二.docx_第4页
第4页 / 共13页
C语言程序设计阶段作业一二.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言程序设计阶段作业一二.docx

《C语言程序设计阶段作业一二.docx》由会员分享,可在线阅读,更多相关《C语言程序设计阶段作业一二.docx(13页珍藏版)》请在冰豆网上搜索。

C语言程序设计阶段作业一二.docx

C语言程序设计阶段作业一二

C++语言程序设计阶段作业一、二

第一阶段作业

一、单项选择题(共20道小题,共100.0分)

1.以下不是C++关键字的是______。

A.new

B.char

C.try

D.get

2.判断字符型变量ch是否为大写英文字母,应该使用表达式()。

A.ch>='A'&ch<='Z'

B.ch<='A'||ch>='Z'

C.'A'<=ch<='A'

D.ch>='A'&&ch<='Z'

3.设inta=3,b=2;,则++a*b的结果是()。

A.2

B.3

C.8

D.5

4.下列十六进制整型常量的写法中,错误的是()。

A.0xaf

B.0

C.0X1b

D.0xAE

5.在为类FunType重载运算符+=时,重载函数的最后一个语句是

return*this;

关于这个重载函数,下列表述中错误的是()。

A.它的名称是operator+=

B.它的返回值类型是FunType或FunType&

C.它的形参表只包含一个形参定义

D.它是类FunType的友元函数

6.已知针对类AX定义了一个唯一的运算符函数,使得对于AX的对象ax,表达式ax-5和5-ax都

能正确求值。

有鉴于此,下列表述中错误的是()。

A.该运算符函数是类AX的成员函数

B.该运算符函数的形参表中有两个参数

C.该运算符函数的函数名是operator-

D.利用类AX的构造函数可将5转换成一个AX

对象

7.假定为类X成功地重载了++、=、-和[]等运算符,则其中肯定属于成员函数的运算符是()。

A.-和=

B.[]和++

C.=和[]

D.++和[]

8.在下列运算符中,只能作为二元运算符重载的是()。

A.+

B.-

C.*

D./

9.以下代码的运行结果是()。

#include<iostream>

usingnamespacestd;

#defineMINUS(x)-x

intmain()

{

inta=1,b=2,c=3;

cout<<MINUS(a+b)*c<<endl;

return0;

}

A.3

B.5

C.-7

D.-9

10.以下关于外部变量和外部函数的说法,错误的是()。

A.外部变量的声明可以是引用性的声明

B.静态变量和静态函数即使使用extern声明,它们的使用范围仍然被限定在定义文件中

C.外部变量可以为多个源文件所共享

D.外部函数和外部变量在声明时,都不能省略关键词extern

11.下面程序实现的功能是()。

#include<iostream.h>

voidmain()

{

inti=1,sum(0);

loop:

if(i<=100)

{

sum+=i,i++;

gotoloop;

}

cout<<sum<<endl;

}

A.输出100以内的偶数

B.计算并输出100以内自然数的和

12.下面程序运行的结果是()。

#include<iostream>

usingnamespacestd;

voidmain()

{

inti;

for(i=1;i<=4;i++){

if(i%2)

cout<<"*";

elsecontinue;

cout<<"#";

}

cout<<"$"<<endl;

}

A.*$

B.$

C.#*#*$

D.*#*#$

13.下列运算符中,优先级最高的是_____

A.++

B.[]

C.%

D.&&

14.有如下的枚举类型声明语句,声明后fri的值是_____。

enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};

A.5

B.6

C.7

D.8

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

16.有如下程序段:

inti=0,j=1;

int&r=i;//①

r=j;//②

int*p=&i;//③

*p=&r;//④

其中会产生编译错误的语句是()。

A.④

B.③

C.②

D.①

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;

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}

19.结构体和联合体的所有成员变量和成员函数均默认为_____类型。

A.public

B.private

C.protected

D.void

20.下列关于this指针的叙述中,正确的是()。

A.任何与类相关的函数都有this指针

B.类的成员函数都有this指针

C.类的友元函数都有this指针

D.类的非静态成员函数才有this指针

第二阶段作业

一、单项选择题(共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

2.有如下程序:

#include<iostream>

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.①④

3.基类中的某些成员在派生类中的访问属性与派生方式无关,这些成员必然是原基类中的(

A.公有成员

B.私有成员

C.保护成员

D.继承的私有成员

4.有如下程序:

#include<iostream>

usingnamespacestd;

classBase{

public:

voidfun(){cout<<"Base:

:

fun"<<endl;}

};

classDerived:

publicBase{

public:

voidfun()

{_____________//显式调用基类的成员函数fun()

cout<<"Derived:

:

fun"<<endl;

}

};

程序中画线处正确的语句是()。

A.fun();

B.Base.fun();

C.Base:

:

fun();

D.Base->fun();)。

5.对于const关键字修饰对象的说法,下列哪一个说法是正确的()。

A.不能用一般的成员函数来访问

B.可以用一般的成员函数来访问

C.可以访问const成员函数

D.不能访问const成员函数

6.有如下程序:

#include<iostream>

usingnamespacestd;

classMyClass{

public:

MyClass(){++count;}

~MyClass(){--count;}

staticintgetCount(){returncount;}

private:

staticintcount;

};

intMyClass:

:

count=0;

intmain(){

MyClassobj;

cout<<obj.getCount();

MyClass*ptr=newMyClass;

cout<<MyClass:

:

getCount();

deleteptr;

cout<<MyClass:

:

getCount();

return0;

}

程序的输出结果是()。

A.121

B.232

C.221

D.122

7.有如下程序:

#include<iostream>usingnamespacestd;classA{

public:

staticinta;

voidinit(){a=1;}

A(inta=2){init();a++;}};

intA:

:

a=0;

Aobj;

intmain()

{

cout<<obj.a;

return0;

}

运行时输出的结果是()。

A.0

B.1

C.2

D.3

8.下列哪一个只能访问静态成员变量,静态成员函数和类以外的函数和数据,而不能访问类中非静

态成员变量()。

A.静态函数

B.虚函数

C.构造函数

D.析构函数

9.关于静态数据成员的特性,下列哪一个说法是错误的()。

A.静态数据成员不是所有对象所共有的

B.静态数据成员在类体外进行初始化

C.声明静态数据成员时要在变量名前加关键字static来修饰

D.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符

10.下列关于抽象类的表述中正确的是()。

A.没有函数成员的类称为抽象类

B.含有虚函数成员的类称为抽象类

C.含有纯虚函数成员的类称为抽象类

D.用abstract修饰的类称为抽象类

11.下列关于纯虚函数的表述中正确的是()。

A.纯虚函数是只有接口没有实现的虚函数

B.含有纯虚函数的类不能用于定义对象,因此没有构造函数

C.纯虚函数的声明就是在虚函数声明的尾部加上修饰“=0”

D.派生类必须实现基类中声明的纯虚函数

12.虚函数必须是类的()。

A.成员函数

B.友元函数

C.静态函数

D.析构函数

13.有如下程序:

#include<iostream>

usingnamespacestd;

classBase

{

public:

voidfun(){cout<<"Base:

:

fun"<<endl;}

};

classDerived:

publicBase

{

voidfun()

{

______________//显式调用基类的函数fun()

cout<<"Derived:

:

fun"<<endl;

}

};

程序中下画线处缺失的语句是()。

A.fun();

B.Base.fun();

C.Base:

:

fun();

D.Base->fun();

14.下列关于虚函数的表述中正确的是()。

A.只有用virtual修饰的成员函数才是虚函数

B.派生类中覆盖虚函数的重定义函数仍然是虚函数

C.对虚函数的调用都是动态绑定的

D.使用虚函数主要是为了提高运行效率

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

16.有以下程序:

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmain(){

cout<<setfill('#')<<setw(4)<<"OK"<<123<<endl;

return0;

}

执行后的输出结果是()。

A.##OK123

B.##OK#123

C.OK##123

D.OK##123#

17.对于语句cout<<endl<<x;中的各个组成部分,下列解释中错误的是()。

A.“cout”是一个输出流对象

B.“endl”的作用是回车换

C.“<<”称做提取运算符

D.“x”是一个变量

18.I/O流中的预定义流对象包括()。

A.cin、cout、cerr、clog

B.cin、cout、cerr、ios

C.cin、cout、ios、clog

D.cin、ios、cerr、clog

19.以下关于异常处理的说法,正确的是()。

A.异常的抛出和处理,必须在同一个函数中完成

B.C++运行系统可以处理程序没有处理的异常

C.每个try语句只能和一个catch语句一起使用

D.异常不能被传播

20.以下不属于异常处理可以解决的问题的是()。

A.环境条件出现意外

B.用户操作不当

C.出现编译错误

D.除数为零

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1