C++复习题(2015)(2)

2019-03-29 18:36

7.下面关于循环语句的描述中,(B )是错误的。

A.循环体内可以包含有循环语句

B.循环体内必须同时出现break语句和continue语句 C.循环体内可以出现选择语句 D.循环体内可以是空语句 8.下面程序段(C)。

x=3; do {y=x--;

if(!y) {cout<<”x”; continue;}

cout<<”#”;}

while(x>=1 && x<=2); A.将输出## B.将输出###

C.是死循环 D.含有不合法的控制表达式

9.在函数的定义格式中,下面各组成部分中,(D )是可以省略的。

A.函数名 B.函数体 C.函数数据类型说明 D.函数参数 10.在函数的引用调用时,实参和形参应该是使用(C )。

A.变量值和变量 B.地址值和指针C.变量值和引用 D.地址值和引用 11.以下关于文件操作的叙述中,不正确的是(B )。

A.打开文件的目的是使文件对象与磁盘文件建立联系 B.文件读写过程中,程序将直接与磁盘文件进行数据交换 C.关闭文件的目的之一是保证将输出的数据写入硬盘文件 D.关闭文件的目的之一是释放内存中的文件对象

12. 若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则(B )不是对a数组元素的正确引用(其中0≤i<10)。

A.p[i] B.*(*(a+i)) C.a[p-a] D.*(&a[i]) 13. 以下程序的输出结果是(A )。

#include void main()

{char s[]=\int v1=0,v2=0,v3=0,v4=0; for (p;*p;p++) switch(*p) {

case 'a':v1++;break; case 'b':v3++;break; case 'e':v2++;break; default: v4++; }

cout<

A.1,2,2,5 B.4,7,5,8 C.1,5,3,10 D.8,8,8,8

14. 下列结构体定义,正确的是 。C

A. record { B. struct record {

int no; int no;

char num[16]; char num[16]; float score ; float score ; } ; }

C. struct record { D. struct record {

int no; int no

char num[16]; char num[16] float score ; float score

} ; }

15. 下列是构造函数的特点,(C )是错误的。

A.构造函数是一种成员函数,它具有一般成员函数的特点 B.构造函数的名称与其类名相同 C.构造函数必须指明其类型

D.一个类中可定义一个或多个构造函数 16. 关于友元函数的描述中,(A )是错的。

A. A. 友元函数是成员函数,它被说明在类体内 B. B. 友元函数可直接访问类中的私有成员 C. C. 友元函数破坏封装性,使用时尽量少用 D. D. 友元类中的所有成员函数都是友元函数 17. 下列对派生类的描述中,(C )是错误的。

A.A. 一个派生类可以作为另一个派生类的基类 B.B. 派生类至少应有一个基类

C.C. 基类中成员访问权限继承到派生类中都保持不变

D.D. 派生类的成员除了自已定义的成员外,还包含了它的基类成员

18. C++类体系中,能被派生类继承的有(B )。

A.构造函数 B.虚函数 C.友元函数 D.析构函数

19.关于下列虚函数的描述中,(C )是正确的。

A. 虚函数是一个static存储类的成员函数 B. 虚函数是一个非成员函数 C. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数

D. 派生类的虚函数与基类的虚函数应具有不同的类型或个数 20. 以下有关静态数据成员函数的叙述不正确的是(B )。

A.静态成员函数属于整个类

B.对静态成员函数的引用不允许使用对象名

C.在静态成员函数中不能直接引用类的非静态成员 D.使用类名可以直接调用其静态成员函数

21. 下列有关运算符重载的描述中,(B )是正确的。

A.运算符重载可改变其优先级 B.运算符重载不改变其语法结构 C.运算符重载可改变其结合性 D.运算符重载可改变其操作数的个数 22.对new运算符的下列描述中,(B )是错误的。

A. 它可以动态创建对象和对象数组 B. 用它创建对象数组时必须指定初始值 C. 用它创建对象时要调用构造函数

D. 用它创建的对象可以使用运算符delete来释放 23.下列是为字符数组赋字符串的语句组,其中错误是(A )。 A.char s[10]; s=”program”; B.char s[]=”program”;

C.char s[10]=”Hello!”; D.char s[10];strcpy(s,”hello!”); 24.当调用函数时,实参是一个一维数组名a,则向函数传送的是(D )。

A.数组的长度 B.数组所有元素的值

C.数组元素a[0]的值 D.数组元素a[0]的地址 25. 下列有关类的说法不正确的是( C)。

A. A. 对象是类的一个实例

B. B. 任何一个对象只能属于一个具体的类 C. C. 一个类只能有一个对象

D. D. 类与对象的关系和数据类型与变量的关系相似 26、下面关于类概念的描述中,( D )是错误的。

A)类是抽象数据类型的实现 B)类是具有共同行为的若干对象的统一描述体 C)类是创建对象的样板 D)类就是C语言中的结构体类型 27、面向对象程序设计思想的主要特征中不包括 (D ) 。

A)封装性 B)多态性 C)继承性 D)功能分解,逐步求精 28、在C++中,函数原型不能标识 (D ) 。

A)函数的返回类型 B)函数参数的个数 C)函数参数类型 D)函数的功能 29、有关析构函数的说法不正确的是 (B )。

A) 析构函数有且仅有一个 B) 析构函数和构造函数一样可以有形参 C) 析构函数的功能是用来释放一个对象 D) 析构函数无任何函数类型 30、已知X类.则当程序执行到语句,X array[3];时,调用了( D )次构造函

数。

A)0 B)1 C)2 D)3

31、类定义的内容允许被其他对象无限制地存取是( C )。

A)private 部分 B)protected 部分 C)public 部分 D)以上都不对 32、关于new运算符的下列描述中,( D )是错误的.。

A) 它可以用来动态创建对象和对象数组

B) 使用它创建对象或对象数组,可以使用运算符DELETE删除 C) 使用它创建对象时要调用构造函数

D) 使用它调用对象数组时不许指定初始值

???33、对于下面程序段,表达式正确的是( B )。

class Base {public:int b;}; class Base1:public base{ }; class Base2:public base{ };

class Derived:public base1,public base2{public:int fun ( );}; Derived d;

A) d. Base1::b B)d. Base ::b C) d.b D) d. Base :: fun( )

34、可以用p.a的形式访问派生类对象p 的基类成员a其中a是( D )。

A)私有继承的公有成员B)公有继承的私有成员 C)公有继承的保护成员D)公有继承的公有成员 35、下列关于C++类的描述中错误的是 (C ) 。 A)类与类之间可以通过一些手段进行通信和联络

B)类用于描述事物的属性和对事物的操作 C)类与类之间必须是平等的关系,

D)类与类之间可以通过封装而具有明确的独立性 36、下列描述中哪个是正确的( B )。 A)私有派生的子类无法访问父类的成员

B)类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A

的成员对类C是不可访问的

C)私有派生类不能作为基类派生子类

D)私有派生类的所有子孙类将无法继续继承该类的成员

37、下列关于构造函数说法不正确的是(C )。

A)构造函数必须与类同名 B)构造函数可以省略不写

C)构造函数必须有返回值 D)在构造函数中可以对类中的成员进行初始化 38、如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是( D )。

A)一元运算符 B)二元运算符

C)选项A)和选项B)都可能 D)重载错误 39、在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是(D )。 A)一元成员运算符 B)二元成员运算符

C)一元友元运算符 D)选项B)和选项C)都可能 40、一个类的友元函数能够访问该类的( D )。

A)私有成员 B)保护成员 C)公有成员 D)所有成员 41、下列关于类定义的说法中,正确的是(A )。

A)类定义中包括数据成员和函数成员的声明 B)类成员的缺省访问权限是保护的 C) 数据成员必须被声明为私有的 D)成员函数只能在类体外进行定义

42、^通过运算符重载,可以改变运算符原有的(A )。

A)操作数类型 B)操作数个数 C)优先级 D)结合性

43、在C++语言中,数据封装要解决的问题是( D )。 A) 数据的规范化 B)便于数据转换 C)避免数据丢失 D)防止不同模块之间数据的非法访问 44、对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( D )。

A)公有类型 B)私有类型 C)保护类型 D)友元类型 45、在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( C )。

A)友元函数 B)虚函数 C)构造函数 D) 析构函数 46、类的析构函数的作用是( D )。 A)一般成员函数的初始化 B)类的初始化 C)对象的初始化 D)删除类创建的对象 47、下列说法正确的是(B )。

A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

B) 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C)类的内联函数必须在类体内定义

D)类的内联函数必须在类体外通过加关键字inline定义 48、下列对派生类的描述中,错误的是( D )。 A)一个派生类可以作为另一个派生类的基类

B) 派生类至少有一个基类

C)派生类的成员除了自己的成员外,还包含了它的基类的成员 D)派生类中继承的基类成员的访问权限到派生类保持不变 49、运算符的重载是对已有的运算符赋予多重含义,因此(A )。

A)可以对基本类型(如int 类型)的数据,重新定义“+”运算符的含义 B) 可以改变一个已有运算符的优先级和操作数个数 C)只能重载C++中已经有的运算符,不能定义新运算符 D)C++中已经有的所有运算符都可以重载 50、如果类A被说明成类B的友元,则(D )。

A)类A 的成员即是类B的成员 B) 类B的成员即是类A的成员

C)类A的成员函数不得访问类B的成员 D)类B不一定是类A的友元 51、不能作为重载函数的调用的依据是(D )。

A)参数的个数 B) 参数的类型C)函数的类型 D)函数的名称 52、下列字符列中,可作为C++语言程序自定义标识符是(B)。

A.switch B.file C.break D.do

53、运算符 +、<=、=、% 中,优先级最低的运算符是(C )。

A. + B.<= C.= D.%

54、设变量m,n,a,b,c,d均为0,执行(m = a==b)||(n=c==d)后,m,n的值是(D)。

A.0,0 B. 0,1 C. 1,0 D. 1,1

55、字符串”vm\\x43\\\\\\np\\102qu”的长度是(B )。

A. 8 B. 9 C. 16 D. 17

56、设有代码“int a = 6;”,则执行了语句“a + = a - = a*a;”后,变量a的值是(D )。

A.0 B. -24 C. -40 D. –60

57、void main()

{ int x=-1; do

{x=x*x;} while(!x);}

下列说法正确的是(C )。 A.是死循环 B.循环执行两次 C.循环执行一次 D.有语法错误

58、下面有关for循环的正确描述是(D )。

A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用大括号括

起来


C++复习题(2015)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:上海市旅游十二五规划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: