福师《c 语言程序设计》在线作业二,18春福师《C++语言程序设计》在线作业二答案...

福师《C  语言程序设计》在线作业二-0005

试卷总分:100    得分:0

一、 单选题 (共 20 道试题,共 40 分)

1.如果类A被说明成类B的友元,则()。

A.类A的成员即类B的成员

B.类B的成员即类A的成员

C.类A的成员函数不得访问类B的成员

D.类B不一定是类A的友元

2.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:

A.AB  operator+(AB  & a , AB  & b)

B.AB  operator+(AB  & a)

C.operator+(AB  a)

D.AB  & operator+( )

3.下列哪个是C++语言的有效标识符?

A._No1

B.No.1

C.12345

D.int

4.如有int a=11;则表达式(a++*1/3)的值是()

A.0

B.3

C.4

D.12

5.下面对于友元函数描述正确的是()。

A.友元函数的实现必须在类的内部定义

B.友元函数是类的成员函数

C.友元函数破坏了类的封装性和隐藏性

D.友元函数不能访问类的私有成员

6.文件包含中被包含的文件的扩展名( )

A.必须为 .h

B.不能用 .h

C.必须是 .c

D.不一定是 .h

7.以下函数的返回结果是( )int function(char *x) { char *p=x; while(*p++); return(p-x-1); }

A.求字符串的长度

B.将字符串x连接到字符串p后面

C.将字符串x复制到字符串p中

D.将字符串x反向存放

8.下列各函数中, ()不是类的成员函数

A.构造函数

B.析构函数

C.友元函数

D.复制构造函数

9.下面四个运算符中,优先级最低的是()。

A.()

B..

C.->

D.++

10.设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是( )。

A.g(f(3));

B.f(g(3));

C.g(f(3)+2);

D.p= f(g(3)+1);

11.关于异常和C++提供的异常处理机制。不正确的说法是( )

A.若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现

B.使用dyname cast操作符可能会发生异常

C.异常可以用catch捕获处理

D.异常可以是对象,也可以是普通函数

12.以下各选项组中,均是C++语言关键字的组是_________。

A.public operator this

B.shod string static

C.it while>=

D.private cout printf

13.下列运算符中,( )运算符在C++中不能重载

A.&&

B.[]

C.::

D.new

14.下面关于数组的初始化正确的是()。

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’}

15.结构化程序设计的3种结构是_________。

A.顺序结构、选择结构、转移结构

B.分支结构、等价结构、循环结构

C.多分支结构、赋值结构、等价结构

D.顺序结构、选择结构、循环结构

16.下列do-while循环的循环次数是( ):  已知:int i=5  do{ cout<

A.0

B.2

C.5

D.无限次

17.下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %d\n”,i,j);( )

A.3 3

B.4 4

C.3 4

D.4 3

18.下列说法正确的是_________。

A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

B.内联函数在编译时是将该函数的月标代码插入每个调用该函数的地方

C.类的内联函数必须在类体内定义

D.类的内联函数必须在类体外通过加关键字inline定义

19.要声明一个有10个int型元素的数组,正确的语句是( )

A.int a[10];

B.int a[2,5];

C.int a[];

D.int *a[10];

20.类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,那么下列说法正确的是_______。

A.类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数。

B.一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间。

C.只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象。

D.类A和类B中的同名虚函数的返回值类型必须完全一致。

二、 判断题 (共 20 道试题,共 40 分)

1.C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取传地址方式。

A.错误

B.正确

2.静态就是让变量和函数在生命的区域内成为私有。( )

A.错误

B.正确

3.常量不能作为左值使用。

A.错误

B.正确

4.类模板的使用实际士:是将类模板实例化成一个具体的类。

A.错误

B.正确

5.inline函数表示编译器一定会将函数体直接插入到调用此函数的地方,这样可以加快程序的运行速度。

A.错误

B.正确

6.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。

A.错误

B.正确

7.typedef定义一个新的数据类型,在建立一个tepedef类型时同时分配内存空间( )

A.错误

B.正确

8.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。( )

A.错误

B.正确

9.程序设计的目标在正确的前提下,其重要性排列次序依次为:可读,可维护,可移植和高效( )

A.错误

B.正确

10.C++中函数声明就是函数原型。( )

A.错误

B.正确

11.关键字friend用于声明友元。

A.错误

B.正确

12.对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的函数体实现。

A.错误

B.正确

13.类是一种类型,它封装了数据和操作。

A.错误

B.正确

14.C++语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。

A.错误

B.正确

15.输出字符指针就是输出字符串。

A.错误

B.正确

16.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( )

A.错误

B.正确

17.若类A是类B的友员类,且类B是类C的友员类,那么类A也是类C的友员类。

A.错误

B.正确

18.NULL是空指针值,它不指向任何地方。( )

A.错误

B.正确

19.通过使用不同的类型参数,函数模板可以生成不同类型的函数( )

A.错误

B.正确

20.在面向对象的程序设计中,类描述的是具有相似性质的一组对象。

A.错误

B.正确

三、 多选题 (共 10 道试题,共 20 分)

1.下列关于构造函数的描述中,正确的是______。

A.构造函数可以设置默认参数

B.构造函数在定义类对象时自动执行

C.构造函数可以是内联函数

D.构造函数不可以重载

2.下面关于指针变量和引用变量的说法正确的是______。

A.指针变量存放的是内存地址,并且可以置为0

B.定义引用变量时,必须同时指明具体被引用的对象或变量

C.使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址

D.类中的数据成员可以是指针变量,但不能是引用变量

3.下列说法中错误的是______。

A.不允许设置参数的默认值

B.设置参数的默认值只能在定义函数时设置

C.设置参数的默认值时,应该设置右边的参数

D.设置参数的默认值时,应该全部参数都设置

4.下列哪种函数不可以是虚的______。

A.自定义的构造函数

B.拷贝构造函数

C.静态成员函数

D.析构函数

5.在进行完成任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中不能用于检测输入流状态的操作函数名称是______。

A.fail

B.eof

C.bad

D.good

6.下列哪些是类的特性______。

A.多态性

B.继承性

C.封装性

D.虚拟性

7.函数调用可以______。

A.出现在一个表达式中

B.出现在执行语句中

C.作为一个函数的实参

D.作为一个函数的形参

8.下列说法中正确的是______。

A.在一个函数中,可以有多条return语句

B.函数的定义不能嵌套,但函数的调用可以嵌套

C.函数必须有返回值

D.即使在不同的函数中,也不可以使用相同名字的变量

9.下面哪些保留字可以作为函数的返回类型______。

A.void

B.int

C.new

D.long

10.以下不正确的描述是______。

A.函数的定义可以嵌套,函数的调用不可以嵌套

B.函数的定义不可以嵌套,函数的调用可以嵌套

C.函数的定义和函数的调用均可以嵌套

D.函数的定义和函数的调用均不可以嵌套

80ffda8eb520d0296f5f1758576641e4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值