川大《面向对象程序设计2261》21春在线作业2[答案]满分答案
《面向对象程序设计2261》21春在线作业2
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.private访问属性限制对象的成员可以在()中访问
A.本类的成员函数
B.main函数
C.父类的成员函数
D.子类的成员函数
正确答案:-----
2.在定义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]
正确答案:-----
3.在每个C++程序中都必须包含有这样一个函数,该函数的名称为()
A.main
B.MAIN
C.name
D.function
正确答案:-----
4.数组名作为实参传递给形参时,数组名被处理为该数组的()
A.长度
B.元素个数
C.首地址
D.各元素的值
正确答案:-----
5.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()
A.增加了一些ABC运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
正确答案:-----
6.以下对二维数组a的正确说明是:()
A.inta[3][];
B.floata(3,4);
C.doublea[1][4];
正确答案:-----
D.floata(3)(4);
正确答案:-----
7.二进制数00001001跟01000011异或的结果为()
A.01001011
B.00000001
C.01001010
D.01001100
正确答案:-----
8.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递
A.第一个父类
B.第二个父类
C.派生类
D.以上都不是
正确答案:-----
9.判断一个ofstream类对象file打开文件是否失败,应该判断()
A.创建文件流对象时是否抛出异常
B.open成员函数的返回值
C.feof成员函数的返回值
D.!file是否为真
正确答案:-----
10.下列哪个是C++语言的有效标识符?()
A._No1
B.No、1
C.12345
D.int
正确答案:-----
11.如果短整型的长度是2字节,有一个短整型指针p的值是0xFFED1200,那么p+1的值为()
正确答案:-----
A.0xFFED1201
正确答案:-----
B.0xFFED1202
正确答案:-----
C.0xFFED1203
正确答案:-----
D.0xFFED1204
正确答案:-----
12.若已定义inta=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
正确答案:-----
13.下面不支持下标操作的容器是()
A.vector
B.deque
正确答案:-----
C.list
D.map
正确答案:-----
14.抽象类指的是()
A.没有任何成员的类
B.只有成员函数没有数据成员的类
C.有虚函数的类
D.有纯虚函数的类
正确答案:-----
15.执行语句 char ch[] = "Hello"; char * p = &ch[0]; cout<<*p 结果是输出 ( )。
A.一个地址
B.H
C.Hello
D.乱码
正确答案:-----
16.队列的最大特征是()
A.先进先出
B.后进先出
C.自动排序
D.大数优先
正确答案:-----
17.已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=0);
D.Valueoperator+(Valuev=value,inti=0);
正确答案:-----
21.如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是()
A.1
B.2
C.3
D.4
正确答案:-----
19.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )
A.调用拷贝构造函数
B.调用整型参数的构造函数
C.调用赋值运算符
D.引起编译错误
正确答案:-----
20.二叉查找树按()遍历时访问到节点的数据是排好序的
A.前序
B.中序
C.后序
D.层次
正确答案:-----
21.一个类如果没有定义任何函数,编译器不会自动为这个类产生()
A.拷贝构造函数
B.无参构造函数
C.输出流运算符
D.赋值运算符
正确答案:-----
22.如果在try块中用throw"error";语句抛出一个异常,则参数类型是()的catch块能够捕获这个异常。
A.char*
B.constchar*
C.Char
D.constchar
正确答案:-----
23.下列排序算法中,平均效率最低的排序算法是()
A.插入法
B.冒泡法
C.选择法
D.快速排序法
正确答案:-----
24.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为()
A.myclassoperator++();
B.myclass& operator++();
C.myclassoperator++(int);
D.myclass& operator++(int);
正确答案:-----
25.执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~;
正确答案:-----
A.24
B.25
C.26
D.50
正确答案:-----
26.C++泛型编程通过()实现
A.void
B.template
正确答案:-----
C.NULL
D.typedef
正确答案:-----
27.已知函数 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)
正确答案:-----
28.下面函数调用语句含有实参的个数为: ( ) func((exp1,exp2),(exp3,exp4,exp5))
A.1
B.2
C.4
D.5
正确答案:-----
29.若k为整形,则while循环执行( )次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“ ”);
正确答案:-----
A.10
B.9
C.0
D.1
正确答案:-----
30.C++异常处理机制中没有()
A.try
B.throw
C.catch
D.finally
正确答案:-----
川大《面向对象程序设计2261》21春在线作业2[答案]多选题答案
二、多选题 (共 5 道试题,共 20 分)
31.两个同名函数构成重载关系,只要()不同
A.返回类型
B.参数个数
C.参数类型
D.函数头后有无const
正确答案:-----
32.构造函数()
A.函数名只能是类名
B.返回类型可以是任意的
C.参数个数和类型可以是任意的
D.在对象创建时自动调用
正确答案:-----
33.关于公共静态数据成员,下面说法正确的是()
A.在main函数之前创建
B.跟某个具体对象无关
C.可以用类名和成员名直接访问
D.需要在类体外初始化
正确答案:-----
34.流程控制语句有()几种
A.条件语句
B.循环语句
C.分支语句
D.表达式语句
正确答案:-----
35.模板定义中的类型参数可以用作()
A.局部变量类型
B.函数参数类型
C.函数返回值类型
D.数据成员类型
正确答案:-----
三、判断题 (共 5 道试题,共 20 分)
36._int可以定义为用户标识符。()
37.字符串"ab "在机器中占6个字节。()
38.逻辑运算符两侧运算对象的数据类型只能是0或1。()
39.宏名必须用大写字母表示。()
40.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。()
川大《面向对象程序设计2261》21春在线作业2[答案]历年参考题目如下:
《面向对象程序设计2261》18春在线作业1-0001
试卷总分:100 得分:0
一、 单选题 (共 30 道试题,共 60 分)
1.以下不能正确进行字符串赋初值的语句是()
A.charstr[5]="good!";
B.charstr[]="good!";
C.char*str="good!";
D.charstr[5]={‘g',‘o',‘o',‘d'};
2.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为()
A.myclassoperator++();
B.myclass& operator++();
C.myclassoperator++(int);
D.myclass& operator++(int);
3.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()
A.cout<<left<<setfill(~*~)<<357;
B.cout<<left<<setw(5)<<357;
C.cout<<left<<setw(5)<<"ABCDE";
D.cout<<left<<"ABCDE";
4.在每个C++程序中都必须包含有这样一个函数,该函数的名称为()
A.main
B.MAIN
C.name
D.function
5.下列有关抽象类和纯虚函数的叙述中,错误的是()
A.拥有纯虚函数的类是抽象类,不能用来定义对象
B.抽象类的派生类若不实现纯虚函数,它也是抽象类
C.纯虚函数的声明以“=0;”结束
D.纯虚函数都不能有函数体
6.下面不支持下标操作的容器是()
A.vector
B.deque
C.list
D.map
7.要打开一个文件并从中读取数据,应该使用()类的对象
A.istream
B.ostream
C.ifstream
D.ofstream
8.二叉查找树按()遍历时访问到节点的数据是排好序的
A.前序
B.中序
C.后序
D.层次
9.一个类如果没有定义任何函数,编译器不会自动为这个类产生()
A.拷贝构造函数
B.无参构造函数
C.输出流运算符
D.赋值运算符
10.程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用()符号作为分隔符
A.空格或逗号
B.逗号或回车
C.逗号或分号
D.空格或回车
11.多态性是通过()实现的
A.构造函数
B.析构函数
C.虚函数
D.函数重载
12.两个指针变量不可以()
A.相加
B.比较
C.相减
D.指向同一地址
13.假定a为一个短整型(shortint)数组名,则元素a[8]的地址为()
A.a+4
B.a+8
C.a+16
D.a+32
14.private访问属性限制对象的成员可以在()中访问
A.本类的成员函数
B.main函数
C.父类的成员函数
D.子类的成员函数
15.在下列关键字中,不能用来表示继承方式的是()
A.private
B.static
C.public
D.protected
16.抽象类指的是()
A.没有任何成员的类
B.只有成员函数没有数据成员的类
C.有虚函数的类
D.有纯虚函数的类
17.C++函数的声明和定义可以分开,函数声明不需要()
A.返回类型
B.函数名
C.参数表
D.函数体
18.执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~;
A.24
B.25
C.26
D.50
19.在定义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]
20.已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=0);
D.Valueoperator+(Valuev=value,inti=0);
21.链表的基本单元是()
A.节点
B.头指针
C.尾指针
D.数据域
22.下列排序算法中,平均效率最低的排序算法是()
A.插入法
B.冒泡法
C.选择法
D.快速排序法
23.C++源文件的缺省扩展名为()
A.cpp
B.exe
C.obj
D.lik
24.有如下类定义: class Point{ private; static int how_many; }; ___________ how_many=0; 要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是
A.ing
B.staticint
C.intPoint::
D.staticintPoint::