兰大《面向对象程序设计》21秋平时作业2
试卷总分:100 得分:100
一、单选题 (共 13 道试题,共 52 分)
1.下列关于函数参数的叙述中,正确的是()。
A.在函数原型中不必声明形参类型
B.函数的实参和形参共享内存空间
C.函数形参的生存期与整个程序的运行期相向
D.函数的形参在函数被调用时获得初始值
2.若数组名作实参而指针变量作形参,函数调用时实参传给形参的是( )
A.数组的长度
B.数组第一个元素的值
C.数组所有元素的值
D.数组第一个元素的地址
3.若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是()
A.*p=&a
B.scanf(“%lf”,p)
C.*p=&a
D.scanf(“%f”,p)
E.p=&a
F.scanf(“%lf”,*p)
G.p=&a
H.scanf(“%lf”,p)
4.设x和y均为bool量,则x&&y为真的条件是()。
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
5.决定C++语言中函数的返回值类型的是()
A.return语句中的表达式类型
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义该函数时所指定的数据类型
6.类的继承方式是()
A.abc
B.acb
C.cab
D.cba
7.C++语言的跳转语句中,对于break和continue说法正确的是()
A.break语句只应用于循环体中
B.continue语句只应用于循环体中
C.break是无条件跳转语句,continue不是
D.break和continue的跳转范围不够明确,容易产生问题。
8.下列的符号常变量定义中,错误的定义是( )。
A.const M=10;
B.constint M=20;
C.const char ch;
D.const bool mark=true
9.在C++语言中,数据封装要解决的问题是()
A.数据的规范化
B.便于数据转换
C.避免数据丢失
D.防止不同模块之间数据的非法访问
10.设有数组定义: char array[]="China";,则数组 array所占的空间为()。
A.4个字节
B.5个字节
C.6个字节
D.7个字节
11.以下能正确定义字符串的语句是()
A.charstr[]={‘\064'}
B.charstr=”\x43”
C.charstr=”
D.charstr[]=”\0”
12.已知函数 f 的原型是 void f(int *a, long & b);,变量 v1、v2 的定义是: int v1; long v2; 下列调用语句中正确的是()
A.f(v1,&v2)
B.f(v1,v2)
C.f(&v1,&v2)
D.f(&v1,v2)
13.有以下程序 fun(char p[][10]) {int n=0,i; for(i=0;i<7;i++) if(p[i][0]=='T') n++; return n; } main() { char str[][10]={“Mon”, “Tue”, “Wed”, “Thu”,”Fri”,”Sat”,”Sun”}; printf(“%d\n”,fun(str)); } 程序执行后的输出结果是()
A.1
B.2
C.3
D.0
二、多选题 (共 2 道试题,共 8 分)
14.重载运算符不能改变原运算符的()。
A.操作数个数
B.原有优先级
C.结合特性
D.操作方式
15.在VC中,若定义一个函数的返回类型为void ,一下叙述正确的是()
A.用语句调用函数
B.用表达式调用函数
C.没有返回值
D.通过return语句可以返回指定值
三、判断题 (共 10 道试题,共 40 分)
16.没有返回值或者返回值为空是一回事。
17.数据成员在初始化列表中的书写顺序无关紧要,但初始化列表对数据成员初始化的执行次序就是类中定义数据成员的次序。
18.sizeof(int)是函数调用。
19.static成员函数不能用const修饰,但是可以声明为虚函数。
20.虚函数声明只能出现在类声明的函数原型中。
21.若静态成员函数中调用了一个函数f,那么f 一定不是虚函数。( )
22.sizeof(int)是函数调用。
23.在C++中,允许用变量对数组进行初始化。
24.在C++语言中,函数重载是通过静态联编实现的。
25.当继承方式是私有继承时,类外部通过派生类的对象可以直接访问到基类的任何成员。