复习Word下载.docx

上传人:b****4 文档编号:18454622 上传时间:2022-12-16 格式:DOCX 页数:20 大小:23.09KB
下载 相关 举报
复习Word下载.docx_第1页
第1页 / 共20页
复习Word下载.docx_第2页
第2页 / 共20页
复习Word下载.docx_第3页
第3页 / 共20页
复习Word下载.docx_第4页
第4页 / 共20页
复习Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

复习Word下载.docx

《复习Word下载.docx》由会员分享,可在线阅读,更多相关《复习Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

复习Word下载.docx

正确答案D

若有二维数组inta[n][m];

其中n、m是常量则a[i][j]之前的元素个数是()

A.j*n+i

B.i*m+j

C.j*n+i-1

D.i*m+j-1

正确答案B

有以下程序段:

charb[]="

Hello,you"

b[2]=0;

cout<

b<

则执行后,其输出结果是

_______。

正确答案第1空:

He

定义了int型二维数组a[3][4]后,数组元素a[1][1]前的数组元素个数为

正确答案第1空:

5

有以下定义:

chars1[20]="

Good!

"

chars2[15]="

AB"

则strlen(strcpy(s1,s2))的值为:

2

有如下程序段:

charC[20]="

examination"

C[4]=0;

c<

执行这个程序段的输出是

exam

在程序运行过程中,数组的大小(或元素的个数)不变。

正确答案正确

若有定义:

inta[][3]={0,1,2,3,4,5,6,7};

,则数组a包含9个元素。

正确答案正确

inta[][5]={0,1,2,3,4,5,6,7,8};

正确答案错误

chars[]="

student"

则s包含7个元素。

在函数内部定义数组时,如果没给任何数组元素设定初始值,则所有元素的初值不确定。

在函数内部定义数组时,如果给数组的部分元素设定了初始值,则其余元素的初值不确定。

正确答案错误

在函数外部定义数组(即全局数组)时,如果给数组的部分元素设定了初始值,则其余元素的初值不确定。

在函数外部定义数组(即全局数组)时,数组元素的默认初始值为0。

调用函数时,被调函数修改了形参数组元素的值,对应的实参数组元素值不改变。

调用函数时,被调函数修改形参数组元素的值,实际上就是修改主调函数中实参数组的元素。

调用函数时,被调函数的形参数组与主调函数的实参数组重合,即为同一内存空间。

定义包含n个元素的整型x数组可表示如下:

intn;

cin>

>

n;

intx[n];

在函数内部定义(整形型或浮点型)数组时,如果给数组的部分元素设定了初始值,则系统将其余元素的初值设为0。

在使用函数strlen计算一个字符串的长度时,不包含其中空格符的个数。

有关内联函数不正确的说法是________。

A.可加快程序的运行速度

B.可缩短执行代码

C.增强源程序的可读性

D.增强源程序的可维护性

C++语言的编译系统对宏命令的处理是()。

A.在程序运行时进行

B.在程序连接时进行

C.和C++程序的其它语句同时进行编译

D.在对源程序中其它成分正式编译之前进行

若程序中定义了以下函数

doublemyadd(doublea,doubleB)

{return(a+B);

并将其放在调用语句之后,则在调用之前应该对该函数进行声明,以下选项中错误的说明是________。

A.doublemyadd(doublea,B);

B.doublemyadd(double,double);

C.doublemyadd(doubleb,doubleA);

D.doublemyadd(doublex,doubley);

设函数fun的定义形式为voidfun(charch,floatx){…},则以下对函数fun的调用语句中,正确的是_______。

A.fun("

abc"

3.0);

B.t=fun('

D'

16.5);

C.fun('

65'

2.8);

D.fun(32,32);

以下关于函数的叙述中正确的是______。

A.每个函数都可以被其它函数调用(包括main函数)

B.每个函数都可以被单独编译

C.每个函数都可以单独运行

D.在一个函数内部可以定义另一个函数

下列叙述中正确的是

A.全局变量的作用域一定比局部变量的作用域范围大

B.静态类别变量的生存期贯穿于整个程序的运行期间

C.函数的形参都属于全局变量

D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值

使用值传递方式将实参传给形参,下列说法正确的是

A.形参是实参的备份

B.实参是形参的备份

C.形参和实参是同一对象

D.形参和实参无联系

不能放在声明区的语句是__________。

A.if语句

B.变量定义语句

C.函数声明语句

D.类定义语句

在下面的函数声明中,存在着语法错误的是

A.voidbc(inta,int);

B.voidbc(int,int);

C.voidbc(int,intx=5);

D.voidbc(intx;

inty);

下列叙述中错误的是(  )。

A.一个函数中可以有多条return语句

B.调用函数必须在一条独立的语句中完成

C.函数中通过return语句使函数值返回

D.主函数名main也可以带形参

下面说法不正确的是______。

A.C++程序就是由许多函数组成的。

B.一个程序必须有且只有一个主函数。

C.操作系统可以调用主函数,程序中的其他函数也可以调用主函数。

D.被调用的函数简称为被调函数。

下列函数中,正确的递归函数是(  )。

A.intFun(intn){

if(n<

1)

return1;

else

returnn*Fun(n+1);

B.intFun(intn){

if(abs(n)<

1)

returnn*Fun(n/2);

C.intFun(intn){

if(n>

return1;

returnn*Fun(n*2);

D.intFun(intn){

returnn*Fun(n-1);

关于作用域与生存周期,说法错误的是()。

A.局部变量只在定义它的函数体中有效

B.全局变量的作用域是整个程序

C.局部变量在定义它的函数第1次被调用时初始化,以后可以直接使用

D.全局变量只初始化1次

关于内联函数,以下说法正确的是。

()

A.内联函数不需要经过编译

B.内联函数适用于函数体比较复杂的情况

C.内联函数不能提高程序的执行效率

D.声明内联函数只需要在函数声明前加inline关键字

在C++中,关于下列设置参数默认的描述中,()是正确的。

A.不允许设置参数的默认值。

B.设置参数默认值只能在定义函数时设置。

C.设置参数默认值时,应该是先设置右边的再设置左边的。

D.设置参数默认值时,应该全部参数都设置。

下列存储类标识符中,()的可见性与存在性不一致。

A.extern

B.auto

C.内部static;

D.register

引入内联函数的目的是为了()。

A.节省空间

B.提高函数调用的效率

C.方便变量的使用

D.扩大局部变量的使用范围

在一个被调用函数中,关于return语句使用的描述,()是错误的。

A.被调用函数中可以不用return语句。

B.被调用函数中可以使用多个return语句。

C.被调用函数中,如果有返回值,就一定要有return语句。

D.被调用函数中,一个return语句可返回多个值给调用函数。

在C++中,关于下列设置参数默认值的描述中,()是正确的。

A.不允许设置参数的默认值

B.设置参数默认值可以在定义函数时设置

C.设置参数默认值时,应该是先设置左边的再设置右边的

D.设置参数默认值时,应该全部参数都设置

对于void类型函数,调用时不可作为().

A.自定义函数体中的语句

B.循环体里的语句

C.if语句的成分语句

D.表达式

下列说法不正确的是().

A.主函数main中定义的变量在整个文件或程序中有效

B.不同函数中,可以使用相同名字的变量

C.形式参数是局部变量

D.在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效

若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是().

A.函数调用可以作为独立的语句存在

B.函数调用可以作为一个函数的实参

C.函数调用可以出现在表达式中

D.函数调用可以作为一个函数的形参

已知:

intm=10;

下列表示引用的方法中,正确的是()。

A.int&

x=m;

B.int&

x=10;

C.int&

x;

D.float&

t=&

m

有函数原型voidfun2(int);

下面选项中,不正确的调用是()。

A.inta=21;

fun2(a);

B.inta=15;

fun2(a*3);

C.intb=100;

fun2(&

b);

D.fun2(256);

以下叙述中不正确的是(  )。

A.C++程序中的预处理命令行都以#号开始

B.宏定义中的宏名可用大写字母或小写字母

C.宏替换不占用运行时间,只占编译时间

D.使用带参数的宏时,参数的类型应与宏定义时的一致

以下不是构造函数特征的是()。

A.构造函数的函数名与类名相同

B.构造函数可以重载

C.构造函数可以设置默认参数

D.构造函数必须指定类型说明

以下有关析构函数的叙述,不正确的是()。

A.在一个类只能定义一个析构函数

B.析构函数和构造函数一样可以有形参

C.析构函数不允许用返回值

D.析构函数名前必须冠有符号“~”

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

A.构造函数是一种成员函数,它具有一般成员函数的特点

B.构造函数的名称与其类名相同

C.构造函数必须指明其类型

D.一个类中可定义一个或多个构造函数

正确答案C

下面对静态数据成员的描述中,正确的是()。

A.静态数据成员可以在类体内进行初始化

B.静态数据成员不可以在类体内进行初始化

C.静态数据成员不能受private控制符的作用

D.静态数据成员不可以直接用类名调用

有关类与对象的说法不正确的是______。

A.类是同类对象的定义

B.对象是类的具体化实例

C.类包含对象的具体属性值

D.类包含同类对象的属性名

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

A.其名与类名完全相同

B.返回类型是void类型

C.无形参,也不可重载

D.函数体中必须有delete语句

下面对于析构函数的描述错误的是()。

A.类中有且仅有一个析构函数。

B.析构函数可以有形参。

C.析构函数没有函数类型。

D.析构函数在对象消失时被自动执行。

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

A.构造函数必须与类同名

B.构造函数可以省略不写

C.构造函数必须有返回值

D.在构造函数中可以对类中的成员进行初始化

下面对于常数据成员的描述正确的是()

A.常数据成员可以不初始化,并且不能更新。

B.常数据成员必须初始化,并且不能更新。

C.常数据成员可以不初始化,并且可以被更新。

D.常数据成员必须初始化,并且可以更新。

下面类的定义中,有()处错误。

classMyClass

private:

inti=0;

public:

voidMyClass();

~MyClass(intValue);

};

A.1

B.2

C.3

D.4

已知类MyClass声明如下:

classMyClass

intn;

MyClass(intk):

n(k){}

intgetValue()const{returnn;

}

在下列数组定义中正确的是()。

A.MyClassxl[2];

B.MyClassx2[2]={newMyClass

(1),newMyClass

(2)};

C.MyClass*x3[2];

D.MyClass*x4[2]={MyClass

(1),MyClass

(2));

设已定义类SS,下列关于该类的常对象定义语句中,错误的是()。

A.constSSs;

B.SSconsts;

C.SSconsts(0);

D.SSs(0)const;

正确答案D

下列情况中,不会调用拷贝构造函数的是______。

A.用一个对象去初始化同一类的另一个新对象时

B.将类的一个对象赋予该类的另一个对象时

C.函数的形参是类的对象,调用函数进行形参和实参结合时

D.函数的返回值是类的对象,函数执行返回调用时

下列程序用string1类来实现如下功能:

统计从键盘输入的不超过1000个的连续的可印刷字符的个数,完成程序空缺部分。

#include<

iostream>

usingnamespacestd;

classstring1{

char*p;

int

len,n;

string1(char*p1=NULL)

{①;

length()

{

n=0;

while(*p++)n++;

②;

char

p[1000];

cin>

p;

string1

p1(p);

m;

eqoac(○,3)3;

m<

_______

p=p1

returnn

m=p1.length()

复制构造函数只有一个参数,且该参数是对该类对象的_______。

引用

在C++中定义类时,通常是利用_______描述对象的特征。

数据成员

有如下类定义:

classPoint

staticinthm;

int______hm=0;

要初始化Point类的静态成员hm,以上语句横线处应填入的内容是

Point:

:

在C++中定义类时,通常利用_______描述对象的行为。

成员函数

假定用户只为类AB定义了一个构造函数“AB():

a(0),b(0){}”,则定义该类对象x的定义语句“ABx();

”是

假定用户只为类AB定义了一个构造函数“AB():

a(0),b(0){}”,则定义该类对象x的定义语句“ABx;

语句“C*p;

”定义了一个对象指针p,则说明标识符C是一个类名。

this指针存储的值是当前被调用的成员函数所在的对象的地址。

类是一种数据结构,系统会给类分配存储空间。

静态成员变量的初始化只能在类体外进行。

构造函数名与类名相同,且没有返回值。

描述对象属性的类的成员,称为成员函数。

构造函数的调用次序

首先调用基类构造函数,调用顺序按照它们被继承时声明的顺序(从左向右)。

然后调用成员对象的构造函数,调用顺序按照它们在类中声明的顺序。

最后,执行派生类的构造函数体中的语句。

main主要的,主函数

bool定义布尔型变量

break跳出循环或switch语句

caseswitch语句中使用

char定义字符型变量

class定义类

const定义常量

continue继续,结束本次循环

default缺省的,用于switch语句

delete释放由new分配的内存

do执行,dowhile循环

double定义双精度实型变量

ifelse如果。

就。

否则。

float定义浮点型实型变量

for一种循环语句

friend定义友元

inline定义内联函数

int定义整型变量

long定义长整型变量

new动态分配内存

operator运算符,用于运算符重载

private私有的

protected保护的

public公有的

return返回,用于在函数体内使函数得到一个返回值

short定义短整型变量

signed定义有符号的变量

sizeofxx的大小,用于得到一个变量的字节数

static静态的

struct定义结构体

switch一种多分支语句

template模板,定义模板函数或模板类使用的关键字

this成员函数内的一个指针

typedef为一种数据类型定义一个别名

typename使用类似class,用于模板类或模板函数的定义

unsigned定义无符号变量

using使用

virtual虚函数定义

void空的,表示函数无返回值

while当。

的时候,一种循环结构

include包含头文件命令

define宏定义命令

stringC++模板库已定义的类,用于定义字符串对象

substr子串,string类的成员函数,用于得到一个子串

find找到,string类的成员函数,用于查找一个子串

size大小,长度,string类的成员函数,用于得到字符串长度

swap交换,string类的成员函数,用于交换两个对象内容

complexC++模板库已定义的类,用于定义复数对象

real实部complex类对象的数据成员

imag虚部complex类对象的数据成员

vector向量,C++模板库已定义的类,用于定义向量对象

capacity容量,vector类的成员函数,得到向量中的可存放数据个数

empty空的,vector类的成员函数,判断向量是否空

front前面的,vector类的成员函数,得到向量中的最前对象

back后面的,vector类的成员函数,得到向量中的最后对象

push_back插入最后,vector类的成员函数,在向量末尾插入一个数据

insert插入,vector类的成员函数,向向量的指定位置插入一个数据

pop_back弹出,vector类的成员函数,删除向量中最后一个数据

erese删除,vector类的成员函数,删除向量中的指定数据

clear清空,vector类的成员函数,删除向量中的所有数据

copy泛型算法的一种,复制

reverse_copy泛型算法的一种,逆向复制

find泛型算法的一种,查找

sort泛型算法的一种,排序

algorithm算法,使用泛型算法时需要包含的头文件

functional本意:

功能的,使用降序排序时需要包含的头文件

io输入输出

iostream输入输出流

ostream输出流

istream输入六

fstream文件流

iomanip使用带参数输出格式控制符时需要包含的头文件

dec十进制

oct八进制

hex十六进制

endl行结束,换行

setiosflags设置输出格式

setprecision设置输出精度

setw设置输出宽度

setfill设置填充字符

left左侧

right右侧

scientific用科学计数法显示输出结果

showpoint显示小数点

strcopy字符串复制

strlen字符串长度

二义性问题

在继承时,基类之间、或基类与派生类之间发生成员同名时,将出现对成员访问的不确定性——同名二义性。

当派生类从多个基类派生,而这些基类又从同一个基类派生,则在访问此共同基类中的成员时,将产生另一种不确定性——路径二义性。

解决同名二义的方法

当派生类与基类有同名成员时,派生类中的成员将屏蔽基类中的同名成员。

􀁺

若未特别指明,则通过派生类对象使用的都是派生类中的同名成员;

如要通过派生类对象访问基类中被屏蔽的同名成员,应使用基类名限定(:

静态绑定(静态联编)

–联编工作出现在编译阶段,用对象名或者类名来限定要调用的函数。

动态绑定

–联编工作在程序运行时执行,在程序运行时才确定将要调用的函数。

虚函数

虚函数是动态绑定的技术基础。

是非静态的成员函数。

在类的声明中,在函数原型之前写virtual

virtual只用来说明类声明中的原型,不能用在函数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1