C语言、C++考试试题_第1页
C语言、C++考试试题_第2页
C语言、C++考试试题_第3页
C语言、C++考试试题_第4页
C语言、C++考试试题_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

判断题

1.字符串'hello,world”在内存中存放时,占用11个字节的空间。错

2.在私有继承中,基类中所有成员对派生类都是不可见的。错

3.当函数的返回值是数组类型的,传递的是数组第一个元素的地址。错

4.类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。

5.虚函数不能是类的静态成员。对

6.友元函数是在类声明中由关键字friend修饰说明的类的成员函数对

7.友元函数说明在类体内,它是一种成员函数。(错)

8.友元类必须被说明为公有成员。(错)

9.纯虚函数是在基类中说明的虚函数,它在该基类中没有定义具体的操作内容。(对)

10.析构函数不能被继承。(对)

11.C++语言支持封装性和继承性,不支持多态性。(错)

12.关系运算符可•以用来比较两个字符的大小,也可用来比较两个字符串的大小。(错)

13.字符串"sdfgh”的长度是5。(对)

14.引用和指针都可作函数参数。(对)

01.什么是类的实现?

团类的实现就是对这些数据成员进行操作,通过成员函数来操作.告诉编译器具体怎么操作

数据成员,成员函数具体用来做什么的.类的实现包括:类的数据成员的初始化,以及类的函

数成员的实现。

02.为什么要引入构造函数和析构函数?

ra

ra3.什么叫虚基类?有什么作用?

04.什么是多态性,在C++中是如何实现多态的?

ra5.文档类的主要作用是什么?视图类提供的主要函数有哪些?

填空题:

1.面向对象的特征是封装、继承和多态。

2.采用mail加函数申请的内存,采用free函数释放;new操作符申请的内存,采用

delete函数释放。

3.在C++中,对于构造函数和析构函数来说,构造函数是可以重载的,而一析构函数—

是不可以重载的。

4.声明友元的关键字是friend。

5.派生类对基类的继承有三种方式:公有继承、保护继承和私有继承。

6.要想访问基类的private成员变量,只能通过基类提供的_3且函数—进行间接访问。

7.C++语言支持的两种多态性分别是编译时的多态性和运行时的多态性。

8.由const修饰的对象称为常对象.

9.已知int*p=NULL,使用new为指针P申请一个存储大小为10的存放int型的空间,代

码为p=newint[10]。

10、在C++中,函数的参数传递的方式有传值、传指针和引用。

11、类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的

_数据成员,共同行为被描述为类中的成员函数。

12、对类中的成员函数和属性的访问是通过_public_、_private和_protected

—这3个关键字来控制的。

一个完整程序中必须有一个名为main的函数。

2.用于输出表达式值的标准输出流对象是cout。

3.一个函数的函数体就是一条复合语句。

4.执行switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下

执行,当碰到下一个标号位置时(停止/不停止)不停止执行。

5.当在程序中执行到continue语句时,将结束所在循环语句中循环休的一次执行。

6.在switch语句中,每个语句标号所含关键字case后面的表达式必须是常晟表达式.

7.除了赋值运算符外,其他重载的运算符都可以被派生类继承。

8.一个双单目运算符作为类的成员函数重载时有个参数;如果作为独立函数重

载,则有2个参数。

9.•个类的成员函数也可以成为另•个类的友元函数,这时的友元说明必须在函数名前加

上friend的限定。

10.静态数据成员必须在所有函数的定义体外进行初始化

1、以下能正确定义数组并正确赋初值的语句是(D)

A.intN=5,b[N][N];

B.inta[2]={{lL{3},{4},{5});

C.intc⑵口={{1,2},{3,4}};

D.intd[3][2]={{l,2}43,4});

2、下列给字符数组进行的初始化中,不正确的是(D)

A.charsl[]="abcd";

B.chars2[3]=fxWT};

C.chars3[]={'a';x';y7\0'};

D.chars4[6]={"xyz","mnp"J;

3、通常的拷贝构造函数的参数是(C)

A.某个对象名B.某个对象成员名

C.某个对象的引用D.某个对象的指针名

4、关于构造函数特点的描述中,错误的是(A)

A.定义构造函数必须指出类型

B.构造函数的名字与该类的类名相同

C.一个类中可定义。至多个构造函数

D.构造函数是一种成员函数

5、下面程序的运行结果为(C)

#include<iostream.h>

intadd(inta,intb);

voidmain()

externintx,y;

cout«add(x,y)«endl;

}

intx=20,y=5;

intadd(inta,intb)

ints=a+b;

returns;

A.20B.5C.25D.编译会提示出错信息

6、关于常成员的描述中,错误的是(B)

A.常成员包含常数据成员和常成员函数两种

B.常数据成员必须是公有的

C.常数据成员要使用构造函数成员初始化列表进行初始化

D.常对象只能调用它的常成员函数,不能调用其它的成员函数

类中能访问静态成员的函数是(B)

A.虚函数B.静态成员函数C.构造函数D.析构函数

7.关于对象概念的描述中,说法错误的是(A)

A.对象就是C语言中的结构体

B.对象代表着正在创建的系统中的一个实体

C.对象是类的一个变量

D.对象之间的信息传递是通过消息进行的

8.有关多态性说法不正确的是(C)

A.C++语言的多态性分为编译时的多态性和运行时的多态性

B.编译时的多态性可通过函数重载实现

C.运行时的多态性可通过模板和虚困数实现

D.实现运行时多态性的机制称为动态多态性

9.关于友元函数的描述中,错误的是(B)

A.友元函数不是成员函数

B.友元函数只能访问类中私有成员

C.友元函数破坏隐藏性,尽量少用

D.友元函数说明在类体内,使用关键字friend

10.类中定义的成员默认访问属性为(B)

A.publicB.privateC.protectedD.friend

11.拷贝构造函数的参数是(C)

A.某个对象名B.某个对象的成员名

C.某个对象的引用名D.某个对象的指针名

12.下列有关重载函数的说法中正确的是(Q

A.重载函数必须具有不同的返回值类型B.重载函数参数个数必须相同

c.重:载函数必须有不同的形参列表D.重载函数名可以不同

13、关于友元函数的描述中,错误的是(B)

A.友元函数不是成员函数

B.友元函数只能访问类中私有成员

C.友元函数破坏隐藏性,尽量少用

D.友元函数说明在类体内,使用关键字friend

14、如果有intx,*p;floaty,*q;则下面操作正确的是(C)

A.p=xB.p=q

C.p=&xD.p=&y

15、定义析构函数时,应该注意(C)

(A)其名与类名完全相同(B)返回类型是void类型

(C)无形参,也不可重载(D)函数体中必须有delete语句

16、引入友元的主要目的是为了(C)

A)增强数据安全性B)提高程序的可靠性

Q提高程序的效率和灵活性D)保证类的封装性

17、假定AB为一个类,则执行ABx;语句时将自动调用该类的(B)

A)有参构造函数B)无参构造函数Q拷贝构造函数D)赋值重载函数

18、一个const对象(B)。

A)能访问所有成员函数B)只能访问const成员函数

C)也能访问volatile成员函数D)能访问const和volatile成员函数

7.关于虚函数的描述中,正确的是(D)o

A.虚函数是一个静态成员函数

B.虚函数是一个非成员函数

C.虚函数即可以在函数说明定义,也可以在函数实现时定义

D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型

8.派生类的对象对•它的哪一类基类成员是可以访问的?(A)

A.公有继承的基类的公有成员

B.公有继承的基类的保护成员

C.公有继承的基类的私有成员

D.保护继承的基类的公有成员

9.阅读下列程序片断:

chars[]=//ABCD/:*p=s;

cout«p[3];

有关上述程序的输出结果,正确的判断是(D)。

A.p⑶引用格式有误,不能输出

B.输出值不定

C.输出C

D.输出D

10.阅读以下函数:

fun(char*sl,char*s2)

(

inti=0;

while(sl[i]==s2[i]&&s2[i]!='\0')i++;

returni;

)

此函数的功能是(c)。

A.将s2所指字符串赋给si

B.比较si和s2所指字符串的大小,若si比S2大,函数值为1,否则函数值为0

C.比较si和S2所指字符串是否相等,若相等,函数值为1,否则函数值为0

D,比较si和S2所指字符串长度,若si比S2长,函数值为1,否则函数值为0

关于函数的调用下面不正确的是(A)o

A.由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行

B.函数的调用可以在任意函数之间进行,只要有需要

C.一个函数可以自己调用自己

D.函数返回时可以不必带返回值,这时函数在定义时其类型应用void表示

关于函数的声明和定义正确的是(C)。

A.函数的声明是必须的,只有这样才能保证编译系统对调用表达式和函数之间的参数进行

检测,以确保参数的传递正确

B.函数的定义和声明可以合二为一,可以只有函数定义即可

C.函数在声明时,其参数标识符可省略,但参数的类型、个数与顺序不能省略

D.函数的存储类型为外部型,所以可以在其他函数中被调用,它在定义时象其他外部变最

一样,可以在其他困数内定义

用于•类中虚成员函数说明的关键字是(B)。

A.publicB.virtualC.protectedD.private

???有如下程序段:

inti=5;

while(inti=0){cout«"*";i-;}

运行时输出的个数是(A)

A.OB.lC.5D.无穷

运算符重载时不需要保持的性质是(B)

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

有如下类定义和变量定义:

classA{

public:

A(){data=O;}

~A(){}

intGetData()const{returndata;}

voidSetData(intn){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论