川大《面向对象程序设计2261》22春在线作业2【资料答案】

可做奥鹏全部院校在线离线作业毕业论文QQ:3230981406 微信:aopopenfd777

发布时间:2022-09-03 20:12:56来源:admin浏览: 28 次

《面向对象程序设计2261》22春在线作业2-00001

试卷总分:100  得分:100

一、单选题 (共 30 道试题,共 60 分)

1.两个指针变量不可以()

A.相加

B.比较

C.相减

D.指向同一地址


2.有如下类定义: class MyClass{ int value; public: MyClass(int n): value (n) {} int gerValue()const{ return value;} }; 则类 MyClass 的构造函数的个数是 ( )

A.1个

B.2个

C.3个

D.4个


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

A.inta[3][];

B.floata(3,4);

C.doublea[1][4];

D.floata(3)(4);


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

A.a+4

B.a+8

C.a+16

D.a+32


5.若有定义:intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是()

A.&aa[0]+1

B.&aa[1]

C.&aa[0]++

D.aa+1


6.如果短整型的长度是2字节,有一个短整型指针p的值是0xFFED1200,那么p+1的值为()

A.0xFFED1201

B.0xFFED1202

C.0xFFED1203

D.0xFFED1204


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

A.长度

B.元素个数

C.首地址

D.各元素的值


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

A.Valueoperator+(Valuev,inti);

B.Valueoperator+(Valuev=value,inti);

C.Valueoperator+(Valuevinti=0);

D.Valueoperator+(Valuev=value,inti=0);


9.如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是()

A.1

B.2

C.3

D.4


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

A._No1

B.No、1

C.12345

D.int


11.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为()

A.myclassoperator++();

B.myclass& operator++();

C.myclassoperator++(int);

D.myclass& operator++(int);


12.二叉查找树按()遍历时访问到节点的数据是排好序的

A.前序

B.中序

C.后序

D.层次


13.十进制数127转换成二进制数是()

A.11111111

B.01111111

C.10000000

D.11111110


14.若k为整形,则while循环执行( )次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”);

A.10

B.9

C.0

D.1


15.执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~;

A.24

B.25

C.26

D.50


16.下列排序算法中,平均效率最低的排序算法是()

A.插入法

B.冒泡法

C.选择法

D.快速排序法


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

A.private

B.static

C.public

D.protected


18.如果在try块中用throw"error";语句抛出一个异常,则参数类型是()的catch块能够捕获这个异常。

A.char*

B.constchar*

C.Char

D.constchar


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

A.iostream、h

B.iomanip、h

C.fstream、h

D.ststreh


20.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()

A.cout<<left<<setfill(~*~)<<357;

B.cout<<left<<setw(5)<<357;

C.cout<<left<<setw(5)<<"ABCDE";

D.cout<<left<<"ABCDE";


21.下面是一个模板声明的开始部分: templute<typename T> double __ 由此可知 ( )

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

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

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

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


22.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递

A.第一个父类

B.第二个父类

C.派生类

D.以上都不是


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

A.main

B.MAIN

C.name

D.function


24.有如下类和对象的定义: class Constants{ public: static double getPI(){return 3.1416;} }; Constants constants; 下列各组语句中,能输出 3.1416 的是 ( )

A.cout<<constants->getPI();和cout<<Constants::gerPI();

B.cout<<constants.getPI();和cout<<Constants.getPI();

C.cout<<constants->getPI();和cout<<Constants->getPI();

D.cout<<constants.getPI();和cout<<Constants::getPI();


25.下面函数调用语句含有实参的个数为: ( ) func((exp1,exp2),(exp3,exp4,exp5))

A.1

B.2

C.4

D.5


26.父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么()

A.在子类中这两个函数构成重载关系

B.子类不会继承父类的这个函数

C.子类中的函数会覆盖父类中的函数

D.编译时会发生错误


27.C++异常处理机制中没有()

A.try

B.throw

C.catch

D.finally


28.有如下 4 个语句: ① cout<<~A~<<setfill(~*~)<<left<<setw(7)<<~B~<<endl; ② cout<<setfill(~*~)<<left<<setw(7)<<~A~<<~B~<<endl; ③ cout<<~A~<<serfill(~*~)<<right<<setw(7)<<~B~<<endl; ④ cout<<setfill(~*~)<<right<<setw(7)<<~A~<<~B~<<endl; 其中能显示 A******B 的是

A.①和③

B.①和④

C.②和③

D.②和④


29.C++函数的声明和定义可以分开,函数声明不需要()

A.返回类型

B.函数名

C.参数表

D.函数体


30.多态性是通过()实现的

A.构造函数

B.析构函数

C.虚函数

D.函数重载


二、多选题 (共 5 道试题,共 20 分)

31.类成员的访问属性可以是()

A.public

B.protected

C.private

D.default


32.面向对象的编程方法的主要特征包括()

A.封装

B.继承

C.多态

D.消息


33.设有定义语句: 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)++);


34.for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是()

A.两个分号

B.表达式1

C.表达式2

D.表达式3


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

A.返回类型

B.参数个数

C.参数类型

D.函数头后有无const


三、判断题 (共 5 道试题,共 20 分)

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


37.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。()


38._int可以定义为用户标识符。()


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


40.C++语言的跳转语句中,break语句只应用于循环体中。()



奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777


作业咨询 论文咨询
微信客服扫一扫

回到顶部