|
一、多选题(共 10 道试题,共 40 分。) V 1. 以下不正确的描述是()。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
CD
2. 以下说法中不正确的是()。
A. C++语言程序总是从第一个函数开始执行
B. C++语言程序总是从main()函数开始执行
C. C++语言程序中的main()函数必须放在程序的开始部分
D. 在C++语言程序中,要调用的函数必须在main()函数中定义
CD
3. 假定一条定义语句为“int a[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则正确的语句为()。
A. x=pa[3];
B. x=*(a+3);
C. x=a[3];
D. x=*pa+3;
BC
4. 下列说法中错误的是()。
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
CD
5. 下列对引用的陈述中正确的是()。
A. 每一个引用都是其所引用对象的别名,因此必须初始化
B. 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D. 不需要单独为引用分配存储空间
BD
6. 若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w; 则对w数组元素合法引用是()。
A. pw[0][0]
B. *(pw[1]+2)
C. *(w[0]+2)
D. *(pw+1)[2]
BC
7. 关于封装,下列说法中正确的是()。
A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体
B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C. 通过封装,每个对象都成为相对独立的实体
D. 通过封装,对象的属性都是不可见的
BC
8. 请选出不合法的C++语言赋值语。
A. i++;
B. a=a mod b
C. a=/b;
D. k=int(a+b);
C
9. 关于局部变量,下面说法错误的是()。
A. 定义该变量的程序文件中的函数都可以访问
B. 定义该变量的函数中的定义处以下的任何语句都可以访问
C. 定义该变量的复合语句中的定义处以下的任何语句都可以访问
D. 定义该变量的函数中的定义处以上的任何语句都可以访问
BD
10. 假定有“struct BOOK{char title[40];float price;};BOOK *book;”,则正确的语句为()。
A. BOOK *x=new book;
B. BOOK x={"C++Programming",27.0};
C. BOOK *x=new BOOK;
D. BOOK *x=book;
CD
二、单选题(共 10 道试题,共 30 分。) V 1. 在派生类中定义的析构函数与它所属的基类( )
A. 定有关
B. 一定无关
C. 以上都不对
2. 设 char ch; 以下正确的赋值语句是( )
A. Ch=’123’;
B. ch=’xff’;
C. ch=’\08’;
D. ch=’\’;
3. ( )只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量。
A. 静态函数
B. 虚函数
C. 构造函数
D. 静态成员函数
4. 类模板的使用实际上是将类模板实例化成一个具体的( )
A. 类
B. 对象
C. 函数
D. 模板类
5. 以下关于循环体的描述中,( )是错误。
A. 循环体中可以出现break语句和continue语句子
B. 循环体中还可以出现循环语句
C. 循环体中不能出现goto语句
D. 循环体中可以出现switch语句
6. 下列说明中 const char *ptr; ptr应该是( ).
A. 指向字符常量的指针
B. 指向字符的常量的指针
C. 指向字符串常量的指针
D. 指向字符串的常量指针
7. 已知f1(int )是类A的公有成员函数,p是指向成员函数f1()的指针,采用( )是正确的。
A. p=f1
B. p=A::f1
C. p=A::f1()
D. p=f1()
8. 下列十六进制的整型常数表示中,( )是错误的。
A. 0xaf
B. 0X1b
C. 2fx
D. 0xAE
9. 下列的各类函数中,( )不是类的成员函数。
A. 构造函数
B. 析构函数
C. 友元函数
D. 拷贝初始化构造函数
10. 若要定义一个只允许该源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是( )。
A. extern
B. register
C. auto
D. Static
三、判断题(共 10 道试题,共 30 分。) V 1. 在C++语言中,非保值转换应用强制类型转换。
A. 错误
B. 正确
2. 假定AB为一个类,则执行“AB a(4),b[3],*p[2];”语句时,自动调用该类构造函数3次。
A. 错误
B. 正确
3. C++程序中,通常使用const来定义符号常量,定义时必须指出类型。
A. 错误
B. 正确
4. 对于全局函数int f(void),与其完全等价的函数原型为const int f()。
A. 错误
B. 正确
5. 构造函数的初始化列表中的内容,不会影响构造对象中成员数据的初始化顺序。
A. 错误
B. 正确
6. 输出字符指针就是输出字符串。
A. 错误
B. 正确
7. 若在类Base和派生类Derived中,分别声明一个同名的整型成员变量int x;,那么通过Derived类的实例对象,不可能输出基类Base中的变量x的值。
A. 错误
B. 正确
8. 一个对象必属于某个类。
A. 错误
B. 正确
9. C++语言和C语言都是面向对象的程序设计语言。
A. 错误
B. 正确
10. 每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。
A. 错误
B. 正确
|
|