川大《面向对象程序设计2261》21秋在线作业1[正确答案]单选题答案
《面向对象程序设计2261》21秋在线作业1-00001
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.两个指针变量不可以()
A.相加
B.比较
C.相减
D.指向同一地址
2.执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~;
A.24
B.25
C.26
D.50
3.有如下类和对象的定义: 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();
4.队列的最大特征是()
A.先进先出
B.后进先出
C.自动排序
D.大数优先
5.C++函数的声明和定义可以分开,函数声明不需要()
A.返回类型
B.函数名
C.参数表
D.函数体
6.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递
A.第一个父类
B.第二个父类
C.派生类
D.以上都不是
7.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为()
A.myclassoperator++();
B.myclass& operator++();
C.myclassoperator++(int);
D.myclass& operator++(int);
正确选项:--------
8.private访问属性限制对象的成员可以在()中访问
A.本类的成员函数
B.main函数
C.父类的成员函数
D.子类的成员函数
正确选项:--------
9.在下列关键字中,不能用来表示继承方式的是()
A.private
B.static
C.public
D.protected
正确选项:--------
10.已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=0);
D.Valueoperator+(Valuev=value,inti=0);
正确选项:--------
11.执行语句 char ch[] = "Hello"; char * p = &ch[0]; cout<<*p 结果是输出 ( )。
A.一个地址
B.H
C.Hello
D.乱码
12.若有定义:intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是()
A.&aa[0]+1
B.&aa[1]
C.&aa[0]++
D.aa+1
正确选项:--------
13.如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是()
A.1
B.2
C.3
D.4
正确选项:--------
14.多态性是通过()实现的
A.构造函数
B.析构函数
C.虚函数
D.函数重载
15.有如下 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.②和④
正确选项:--------
16.以下对二维数组a的正确说明是:()
A.inta[3][];
B.floata(3,4);
C.doublea[1][4];
D.floata(3)(4);
17.假定a为一个短整型(shortint)数组名,则元素a[8]的地址为()
A.a+4
B.a+8
C.a+16
D.a+32
正确选项:--------
18.在每个C++程序中都必须包含有这样一个函数,该函数的名称为()
A.main
B.MAIN
C.name
D.function
19.父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么()
A.在子类中这两个函数构成重载关系
B.子类不会继承父类的这个函数
C.子类中的函数会覆盖父类中的函数
D.编译时会发生错误
20.函数的形参是()
A.全局变量
B.局部变量
C.静态变量
D.部变量
正确选项:--------
21.下面是一个模板声明的开始部分: templute<typename T> double __ 由此可知 ( )
正确选项:--------
A.这可能是一个函数模板的声明
B.这可能是一个类模板的声明
C.这既可能是一个函数模板的声明,也可能是一个类模板的声明
D.这肯定是一个错误的模板声明
22.若有说明: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
23.下面函数调用语句含有实参的个数为: ( ) func((exp1,exp2),(exp3,exp4,exp5))
A.1
B.2
C.4
D.5
24.链表的基本单元是()
A.节点
B.头指针
C.尾指针
D.数据域
正确选项:--------
25.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
26.C++源文件的缺省扩展名为()
A.cpp
B.exe
C.obj
D.lik
正确选项:--------
27.下列排序算法中,平均效率最低的排序算法是()
A.插入法
B.冒泡法
C.选择法
D.快速排序法
正确选项:--------
28.设有定义intx;floatv;,则10+x+v值的数据类型是()
A.int
B.double
正确选项:--------
C.float
D.不确定
29.以下不能正确进行字符串赋初值的语句是()
A.charstr[5]="good!";
B.charstr[]="good!";
C.char*str="good!";
D.charstr[5]={‘g',‘o',‘o',‘d'};
正确选项:--------
30.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:()
A.0
B.负数
C.正数
D.不确定
川大《面向对象程序设计2261》21秋在线作业1[正确答案]多选题答案
二、多选题 (共 5 道试题,共 20 分)
31.C++中变量要求()
A.有明确的类型
B.先声明后使用
C.名字中不能使用下划线
D.严格区分大小写
正确选项:--------
32.两个同名函数构成重载关系,只要()不同
A.返回类型
B.参数个数
C.参数类型
D.函数头后有无const
33.面向对象的编程方法的主要特征包括()
A.封装
B.继承
C.多态
D.消息
正确选项:--------
34.for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是()
A.两个分号
B.表达式1
C.表达式2
D.表达式3
正确选项:--------
35.流程控制语句有()几种
A.条件语句
B.循环语句
C.分支语句
D.表达式语句
正确选项:--------
三、判断题 (共 5 道试题,共 20 分)
36.逻辑运算符两侧运算对象的数据类型只能是0或1。()
37.结构化程序设计的基本方法是递归法。()
38.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。()
39.宏名必须用大写字母表示。()
40.1.234e0为C++语言合法常量。()
川大《面向对象程序设计2261》21秋在线作业1[正确答案]奥鹏资讯分享: