川大c语言设计第二次作业,川大网院18春《面向对象程序设计》第二次作业答案...

首页 - 我的作业列表 - 《面向对象程序设计》第二次作业答案

欢迎你,江陵(DD1171X7001)

你的得分: 100.0

完成日期:2018年03月19日 20点13分

说明: 每道小题选项旁的标识是标准答案。

一、单项选择题。本大题共30个小题,每小题 2.0 分,共60.0分。在每小题给出的选项中,只有一项是符合题目要求的。

1.

C++源文件的缺省扩展名为( )。

A.

cpp

B.

exe

C.

obj

D.

lik

2.

程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用( )符号作为分隔符。

A.

空格或逗号

B.

逗号或回车

C.

逗号或分号

D.

空格或回车

3.

在每个C++程序中都必须包含有这样一个函数,该函数的名称为( )

A.

main

B.

MAIN

C.

name

D.

function

4.

假定a 为一个短整型(short int)数组名,则元素a[8]的地址为( )

A.

a+4

B.

a+8

C.

a+16

D.

a+32

5.

假定AB 为一个类,则执行“AB a(4),b[4],*p[5]”语句时,自动调用该类构造函数的次数为( )

A.

4

B.

5

C.

8

D.

13

6.

当需要使用istrstream流类定义一个流类对象并联系一个字符串时,应在文件开始使用#include命令,使之包含( )文件

A.

iostream、h

B.

iomanip、h

C.

fstream、h

D.

ststrea、h

7.

执行下列语句段后,输出字符“*”的个数是 ( )

for (int i=50; i>1; I-=2)cout<

A.

24

B.

25

C.

26

D.

50

8.

有如下定义:

int a[5]={1,3,5,7,9},*p=a;

下列表达式中不能得到数值 5 的是 ( )

A.

a[2]

B.

a[3]

C.

*(p+2)

D.

*p+4

9.

已知函数 f 的原型是 void f(int *a, long & b);,变量 v1、v2 的定义是:

int v1; loong v2;

下列调用语句中正确的是 ( )

A.

f(v1, &v2)

B.

f(v1, v2)

C.

f(&v1, &v2)

D.

f(&v1, v2)

10.

有如下类定义:

class Point{

private;

static int how_many;

};

___________ how_many=0;

要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是

A.

ing

B.

static int

C.

int Point::

D.

static int Point::

11.

在下列关键字中,不能用来表示继承方式的是 ( )

A.

private

B.

static

C.

public

D.

protected

12.

已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是( )

A.

Value operator+(Value v, int i);

B.

Value operator+(Value v=value, int i);

C.

Value operator+(Value vint i=0);

D.

Value operator+(Value v=value, int i=0);

13.

下面是一个模板声明的开始部分:

templute double __

由此可知 ( )

A.

这可能是一个函数模板的声明

B.

这可能是一个类模板的声明

C.

这既可能是一个函数模板的声明,也可能是一个类模板的声明

D.

这肯定是一个错误的模板声明

14.

有如下 4 个语句:

① cout<

② cout<

③ cout<

④ cout<

其中能显示 A******B 的是 ( )

A.

①和③

B.

①和④

C.

②和③

D.

②和④

15.

有如下类定义:

class MyClass{

int value;

public:

MyClass(int n): value (n) {}

int gerValue()const{ return value;}

};

则类 MyClass 的构造函数的个数是 ( )

A.

1 个

B.

2 个

C.

3 个

D.

4 个

16.

有如下类和对象的定义:

class Constants{

public:

static double getPI(){return 3.1416;}

};

Constants constants;

下列各组语句中,能输出 3.1416 的是 ( )

A.

cout<getPI();和 cout<<:gerpi>

B.

cout<

C.

cout<getPI();和 cout<getPI();

D.

cout<

17.

若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的是( )

A.

p1=&m,p2=&p1

B.

p1=&m;p2=&n;*p1=*p2

C.

p1=&m;p1=p2

D.

p1=&m;*p2=*p1

18.

C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是( )

A.

增加了一些新的运算符

B.

允许函数重载,并允许设置缺省参数

C.

规定函数说明符必须用原型

D.

引进了类和对象的概念

19.

若已定义int a=5;下面对(1),(2)两个语句正确理解的是( )

(1)int *p=&a; (2)*p=a;

A.

(1)(2)中的*P含义相同,都表示给指针变量P 附值

B.

(1)(2)的执行结果都是把变量a的地址值赋给指针变量P

C.

(1)在对P进行说明的同时进行初始化,使P指向a,(2)将变量a的值赋给指针变量P

D.

(1)在对P进行说明的同时进行初始化,使P指向a,(2)将变量a的值赋给*P

20.

下列有关抽象类和纯虚函数的叙述中,错误的是 ( )

A.

拥有纯虚函数的类是抽象类,不能用来定义对象

B.

抽象类的派生类若不实现纯虚函数,它也是抽象类

C.

纯虚函数的声明以“=0;”结束

D.

纯虚函数都不能有函数体

21.

下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<

A.

cout<

B.

cout<

C.

cout<

D.

cout<

22.

下面函数调用语句含有实参的个数为: ( )

func((exp1,exp2),(exp3,exp4,exp5))

A.

1

B.

2

C.

4

D.

5

23.

设有定义int x; float v;,则10+x+v值的数据类型是 ( )

A.

int

B.

double

C.

float

D.

不确定

24.

在定义int a[3][4][2];后,第10个元素是( )

A.

a[2][1][2]

B.

a[1][0][1]

C.

a[2][0][1]

D.

a[2][2][1]

25.

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

A.

_No1

B.

No、1

C.

12345

D.

int

26.

下面的选项中正确的赋值语句是(char a[5],*p=a;)。 ( )

A.

p=“abcd”;

B.

a=“abcd”;

C.

*p=“abcd”;

D.

*a=“abcd”;

27.

若k为整形,则while循环执行( )次。

k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”);

A.

10

B.

9

C.

0

D.

1

28.

数组名作为实参传递给形参时,数组名被处理为该数组的( )。

A.

长度

B.

元素个数

C.

首地址

D.

各元素的值

29.

两个指针变量不可以( )。

A.

相加

B.

比较

C.

相减

D.

指向同一地址

30.

以下对二维数组a的正确说明是:( )

A.

int a[3][];

B.

float a(3,4);

C.

double a[1][4];

D.

float a(3)(4);

二、多项选择题。本大题共5个小题,每小题 4.0 分,共20.0分。在每小题给出的选项中,有一项或多项是符合题目要求的。

1.

构造函数( )。

A.

函数名只能是类名

B.

返回类型可以是任意的

C.

参数个数和类型可以是任意的

D.

在对象创建时自动调用

2.

关于公共静态数据成员,下面说法正确的是( )。

A.

在main函数之前创建

B.

跟某个具体对象无关

C.

可以用类名和成员名直接访问

D.

需要在类体外初始化

3.

两个同名函数构成重载关系,只要( )不同。

A.

返回类型

B.

参数个数

C.

参数类型

D.

函数头后有无const

4.

模板定义中的类型参数可以用作( )。

A.

局部变量类型

B.

函数参数类型

C.

函数返回值类型

D.

数据成员类型

5.

设有定义语句: int x[6]={2,4,6,8,5,7},*p=x,i;

要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_( )、

A.

for(i=0;i<6;i++)printf(“%2d”,*(p++));

B.

for(i=0;i<6;i++)printf(“%2d”,*(p+i));

C.

for(i=0;i<6;i++)printf(“%2d”,*p++);

D.

for(i=0;i<6;i++)printf(“%2d”,(*p)++);

三、判断题。本大题共5个小题,每小题 4.0 分,共20.0分。

1.

逻辑运算符两侧运算对象的数据类型只能是0或1。 ( )

2.

宏名必须用大写字母表示。 ( )

3.

C++程序从上机到得到结果的几个操作步骤依次是:编辑、编译、连接、运行。 ( )

4.

字符串"ab\\\n"在机器中占6个字节。 ( )

5.

1.234e0为C++语言合法常量。 ( )

@Copyright2007 四川大学网络教育学院版权所有

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值