川大20年秋《面向对象程序设计2261》在线作业2【答案】奥鹏作业满分答案
《面向对象程序设计2261》在线作业2
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.执行语句 char ch[] = "Hello"; char * p = &ch[0]; cout<<*p 结果是输出 ( )。
A.一个地址
B.H
C.Hello
D.乱码
2.C++函数的声明和定义可以分开,函数声明不需要()
A.返回类型
B.函数名
C.参数表
D.函数体
3.二叉查找树按()遍历时访问到节点的数据是排好序的
A.前序
B.中序
C.后序
D.层次
4.下列排序算法中,平均效率最低的排序算法是()
A.插入法
B.冒泡法
C.选择法
D.快速排序法
5.在每个C++程序中都必须包含有这样一个函数,该函数的名称为()
A.main
B.MAIN
C.name
D.function
6.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:()
A.0
B.负数
C.正数
D.不确定
7.如果在try块中用throw"error";语句抛出一个异常,则参数类型是()的catch块能够捕获这个异常。
A.char*
B.constchar*
C.Char
D.constchar
8.已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=0);
D.Valueoperator+(Valuev=value,inti=0);
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.以下不能正确进行字符串赋初值的语句是()
A.charstr[5]="good!";
B.charstr[]="good!";
C.char*str="good!";
D.charstr[5]={‘g',‘o',‘o',‘d'};
11.两个指针变量不可以()
A.相加
B.比较
C.相减
D.指向同一地址
12.C++异常处理机制中没有()
A.try
B.throw
C.catch
D.finally
13.数组名表示的是数组的()
A.类型
B.用途
C.地址
D.长度
14.数组名作为实参传递给形参时,数组名被处理为该数组的()
A.长度
B.元素个数
C.首地址
D.各元素的值
15.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )
A.调用拷贝构造函数
B.调用整型参数的构造函数
C.调用赋值运算符
D.引起编译错误
16.假定a为一个短整型(shortint)数组名,则元素a[8]的地址为()
A.a+4
B.a+8
C.a+16
D.a+32
17.private访问属性限制对象的成员可以在()中访问
A.本类的成员函数
B.main函数
C.父类的成员函数
D.子类的成员函数
21.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()
A.增加了一些ABC运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
19.使用流控制符()需要头文件
A.endl
B.hex
C.setw
D.left
20.若有说明: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
21.队列的最大特征是()
A.先进先出
B.后进先出
C.自动排序
D.大数优先
22.函数的形参是()
A.全局变量
B.局部变量
C.静态变量
D.部变量
23.下列有关抽象类和纯虚函数的叙述中,错误的是()
A.拥有纯虚函数的类是抽象类,不能用来定义对象
B.抽象类的派生类若不实现纯虚函数,它也是抽象类
C.纯虚函数的声明以“=0;”结束
D.纯虚函数都不能有函数体
24.在定义inta[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.如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是()
A.1
B.2
C.3
D.4
26.十进制数127转换成二进制数是()
A.11111111
B.01111111
C.10000000
D.11111110
27.要打开一个文件并从中读取数据,应该使用()类的对象
A.istream
B.ostream
C.ifstream
D.ofstream
28.执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~;
A.24
B.25
C.26
D.50
29.C++泛型编程通过()实现
A.void
B.template
C.NULL
D.typedef
30.下面是一个模板声明的开始部分: templute<typename T> double __ 由此可知 ( )
A.这可能是一个函数模板的声明
B.这可能是一个类模板的声明
C.这既可能是一个函数模板的声明,也可能是一个类模板的声明
D.这肯定是一个错误的模板声明
川大20年秋《面向对象程序设计2261》在线作业2【答案】奥鹏作业多选题答案
二、多选题 (共 5 道试题,共 20 分)
31.构造函数()
A.函数名只能是类名
B.返回类型可以是任意的
C.参数个数和类型可以是任意的
D.在对象创建时自动调用
32.面向对象的编程方法的主要特征包括()
A.封装
B.继承
C.多态
D.消息
33.类成员的访问属性可以是()
A.public
B.protected
C.private
D.default
34.for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是()
A.两个分号
B.表达式1
C.表达式2
D.表达式3
35.流程控制语句有()几种
A.条件语句
B.循环语句
C.分支语句
D.表达式语句
三、判断题 (共 5 道试题,共 20 分)
36.字符串"ab "在机器中占6个字节。()
37.重载函数形参个数可以不同。()
38.结构化程序设计的基本方法是递归法。()
39.宏名必须用大写字母表示。()
40.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。()
川大20年秋《面向对象程序设计2261》在线作业2【答案】奥鹏作业标准满分答案