面向对象程序设计2261-[四川大学]《面向对象程序设计2261》21春在线作业1
试卷总分:100 得分:100
第1题,下面函数调用语句含有实参的个数为: ( )
func((exp1,exp2),(exp3,exp4,exp5))
A、1
B、2
C、4
D、5
正确答案:
第2题,要打开一个文件并从中读取数据,应该使用()类的对象
A、istream
B、ostream
C、ifstream
D、ofstream
正确答案:
第3题,用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:()
A、0
B、负数
C、正数
D、不确定
正确答案:
第4题,在下列关键字中,不能用来表示继承方式的是()
A、private
B、static
C、public
D、protected
正确答案:
多态性是通过()实现的
A、构造函数
B、析构函数
C、虚函数
D、函数重载
正确答案:
第6题,有如下定义:
int a[5]={1,3,5,7,9},*p=a;
下列表达式中不能得到数值 5 的是 ( )
A、a[2]
B、a[3]
C、*(p+2)
D、*p+4
正确答案:
第7题,假定AB为一个类,则执行”ABa(4),b[4],*p[5]”语句时,自动调用该类构造函数的次数为()
A、4
B、5
C、8
D、13
正确答案:
第8题,有如下类定义:
class Point{
private;
static int how_many;
};
___________ how_many=0;
要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是
A、ing
B、staticint
C、intPoint::
D、staticintPoint::
正确答案:
第9题,一个类如果没有定义任何函数,编译器不会自动为这个类产生()
A、拷贝构造函数
B、无参构造函数
C、输出流运算符
D、赋值运算符
正确答案:
多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递
A、第一个父类
B、第二个父类
C、派生类
D、以上都不是
正确答案:
第11题,C++函数的声明和定义可以分开,函数声明不需要()
A、返回类型
B、函数名奥鹏川大答案q599792222 或请进 opzy.net
C、参数表
D、函数体
正确答案:
若k为整形,则while循环执行( )次。
k=2; while(k==0) printf(“%d”,k); k–; printf(“\n”);
A、10
B、9
C、0
D、1
正确答案:
第13题,C++源文件的缺省扩展名为()
A、cpp
B、exe
C、obj
D、lik
正确答案:
第14题,以下对二维数组a的正确说明是:()
A、inta[3][];
B、floata(3,4);
C、doublea[1][4];
D、floata(3)(4);
正确答案:
下列哪个是C++语言的有效标识符?()
A、_No1
B、No、1
C、12345
D、int
正确答案:
第16题,当需要使用istrstream流类定义一个流类对象并联系一个字符串时,应在文件开始使用#include命令,使之包含()文件
A、iostream、h
B、iomanip、h
C、fstream、h
D、ststreh
正确答案:
第17题,C++异常处理机制中没有()
A、try
B、throw
C、catch
D、finally
正确答案:
第18题,有如下类定义:
class MyClass{
int value;
public:
MyClass(int n): value (n) {}
int gerValue()const{ return value;}
};
则类 MyClass 的构造函数的个数是 ( )
A、1个
B、2个
C、3个
D、4个
正确答案:
第19题,下列有关抽象类和纯虚函数的叙述中,错误的是()
A、拥有纯虚函数的类是抽象类,不能用来定义对象
B、抽象类的派生类若不实现纯虚函数,它也是抽象类
C、纯虚函数的声明以”=0;”结束
D、纯虚函数都不能有函数体
正确答案:
链表的基本单元是()
A、节点
B、头指针
C、尾指针
D、数据域
正确答案:
第21题,如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )
A、调用拷贝构造函数
B、调用整型参数的构造函数
C、调用赋值运算符
D、引起编译错误
正确答案:
第22题,有如下 4 个语句:
① cout~A~setfill(~*~)leftsetw(7)~B~endl;
② coutsetfill(~*~)leftsetw(7)~A~~B~endl;
③ cout~A~serfill(~*~)rightsetw(7)~B~endl;
④ coutsetfill(~*~)rightsetw(7)~A~~B~endl;
其中能显示 A******B 的是
A、①和③
B、①和④
C、②和③
D、②和④
正确答案:
第23题,数组名作为实参传递给形参时,数组名被处理为该数组的()
A、长度
B、元素个数
C、首地址
D、各元素的值
正确答案:
第24题,以下不能正确进行字符串赋初值的语句是()
A、charstr[5]=”good!”;
B、charstr[]=”good!”;
C、char*str=”good!”;
D、charstr[5]={‘g’,’o’,’o’,’d’};
正确答案:
有如下类和对象的定义:
class Constants{
public:
static double getPI(){return 3.1416;}
};
Constants constants;
下列各组语句中,能输出 3.1416 的是 ( )
A、coutconstants-getPI();和coutConstants::gerPI();
B、coutconstants.getPI();和coutConstants.getPI();
C、coutconstants-getPI();和coutConstants-getPI();
D、coutconstants.getPI();和coutConstants::getPI();
正确答案:
第26题,十进制数127转换成二进制数是()
A、11111111
B、01111111
C、10000000
D、11111110
正确答案:
第27题,在每个C++程序中都必须包含有这样一个函数,该函数的名称为()
A、main
B、MAIN
C、name
D、function
正确答案:
第28题,判断一个ofstream类对象file打开文件是否失败,应该判断()
A、创建文件流对象时是否抛出异常
B、open成员函数的返回值
C、feof成员函数的返回值
D、!file是否为真
正确答案:
第29题,父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么()
A、在子类中这两个函数构成重载关系
B、子类不会继承父类的这个函数
C、子类中的函数会覆盖父类中的函数
D、编译时会发生错误
正确答案:
在定义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]
正确答案:
第31题,关于公共静态数据成员,下面说法正确的是()
A、在main函数之前创建
B、跟某个具体对象无关
C、可以用类名和成员名直接访问
D、需要在类体外初始化
正确答案:,B,C,D
第32题,for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是()
A、两个分号
B、表达式1
C、表达式2
D、表达式3
正确答案:,C,D
第33题,C++中变量要求()
A、有明确的类型
B、先声明后使用
C、名字中不能使用下划线
D、严格区分大小写
正确答案:,B,D
第34题,类成员的访问属性可以是()
A、public
B、protected
C、private
D、default
正确答案:,B,C
第35题,设有定义语句: int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_( )、
A、for(i=0;i6;i++)printf(”%2d”,*(p++));
B、for(i=0;i6;i++)printf(”%2d”,*(p+i));
C、for(i=0;i6;i++)printf(”%2d”,*p++);
D、for(i=0;i6;i++)printf(”%2d”,(*p)++);
正确答案:,B,C
第36题,逻辑运算符两侧运算对象的数据类型只能是0或1。()
A、错误
B、正确
正确答案:
第37题,_int可以定义为用户标识符。()
A、错误
B、正确
正确答案:
第38题,C++语言的跳转语句中,break语句只应用于循环体中。()
A、错误
B、正确
正确答案:
第39题,字符串”ab\\\n”在机器中占6个字节。()
A、错误
B、正确
正确答案:
第40题,1.234e0为C++语言合法常量。()
A、错误
B、正确
正确答案: