C++试题及答案文档格式.docx

上传人:b****5 文档编号:15936167 上传时间:2022-11-17 格式:DOCX 页数:55 大小:54.98KB
下载 相关 举报
C++试题及答案文档格式.docx_第1页
第1页 / 共55页
C++试题及答案文档格式.docx_第2页
第2页 / 共55页
C++试题及答案文档格式.docx_第3页
第3页 / 共55页
C++试题及答案文档格式.docx_第4页
第4页 / 共55页
C++试题及答案文档格式.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

C++试题及答案文档格式.docx

《C++试题及答案文档格式.docx》由会员分享,可在线阅读,更多相关《C++试题及答案文档格式.docx(55页珍藏版)》请在冰豆网上搜索。

C++试题及答案文档格式.docx

a[0]+i*d,其中d为该数组类型所占的字节数,TurboC++中int占二字节,而VC++中是4字节。

4、假定a为一个整型数组名,则元素a[4]的字节地址为 

a[4]=a[0]+4*4 

A.a+4 

B.a+8 

C.a+16 

D.a+32

此题应注意的是:

在C++中、假定一下全是int型的数据则a(4)一个整型变量空间赋初值为4、而b[3]则代表长度为3的数组、其中有3个数值、而指针并不分配空间而是指向空间中的数据。

5、假定AB为一个类,则执行“AB 

a(4),b[3],*p[2];

”语句时,自动调用该类构造函数的次数为 

所以其值为:

4次 

A.3 

B.4 

C.6 

D.9

operator运算符重载用的其中&

的意思有三种:

1、位与2、取地址符3、表引用引用即为别名

6、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:

A. 

AB 

operator+(AB 

a,AB 

b) 

B. 

a)//应该是表示引用

C. 

a) 

D. 

operator+()

二、填空题)

1、C++语言中的每条基本语句以 

作为结束符,每条复合语句以 

作为结束符。

2、执行“cout 

<

<

char('

A'

+2)<

endl;

”语句后得到的输出结果为 

ASCII码的应用 

3、float《单精度》和double《双精度》类型的大小分别为 

和 

4、算术表达式 

对应的C++表达式为 

5、关系表达式x+y>

5的相反表达式为 

x+y<

=5 

6、假定一个一维数组的定义为“char 

*a[8]---(指针数组);

”,则该数组所含元素的个数为 

,所占存储空间的字节数为 

32 

//char一个字符占4个字节char(*a)[5]--(数组指针)

7、变量分为全局和局部两种, 

局部 

变量没有赋初值时,其值是不确定的。

8、假定a是一个二维数组,则a[i][j]的指针访问方式为 

*(a[i]+j) 

或者为:

*(*(a+i)+j) 

所以在C++中可以实现:

a[i]=a+i;

//double为8个字节、int为:

4个字节指针在32位系统中所占的字节为4

//所以其运算结果为:

4+8+4*2=20,即为一般结构体所占空间的计算方法就是累加所有的字节数

9、假定一个结构类型定义为

“struct 

D{int 

a;

union{int 

b;

double 

c;

};

*d[2];

”,

则该类型的大小为 

24 

字节。

10、对一个类中的数据成员的初始化可以通过构造函数中的 

初始化表 

实现,也可以通过构造函数中的 

函数体 

实现。

11、假定AB为一个类,则执行“AB 

a[10];

”语句时,系统自动调用该类的构造函数的次数为 

10 

《因为要分配至少十个空间出来》 

构造函数的作用就是起到初始化的作用

12、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为 

AB:

:

bb 

即相当于bb属于AB类 

三、给出下列程序运行后的输出结果

1、#include<

iostream.h>

voidSB(charch){

switch(ch){

case'

a'

cout<

"

well!

;

break;

B'

b'

good!

C'

c'

pass!

default:

bad!

}

}

voidmain(){

chara1='

a2='

a3='

f'

SB(a1);

SB(a2);

SB(a3);

SB('

);

SB(a1):

good

SB(a2)pass

SB(a3)bad

SB(‘A’)well 

2、#include<

#include<

string.h>

//大写字符的范围从A-Y\Z为:

65-90

//小写字符的范围从a-z为:

97-122即小写要比大写多:

32

char*a[5]={"

student"

"

worker"

cadre"

soldier"

peasant"

};

char*p1,*p2;

p1=p2=a[0];

for(inti=0;

i<

5;

i++){

if(strcmp(a[i],p1)>

0)p1=a[i];

//strcmp比较字符串内置函数

if(strcmp(a[i],p2)<

0)p2=a[i];

p1<

'

'

p2<

workercadre找到最大和最小的

3、

//考全局变量与局部变量的关系

inta=5;

//定义全局变量

inta=10,b=20;

a<

b<

//10、20

inta=0,b=0;

for(inti=1;

6;

a+=i;

b+=a;

//执行加过程

}

//15155

//1020

4、#include<

iomanip.h>

intLB(int*a,intn){//int型的指针未初始化的为0,

ints=1;

n;

i++)

s*=*a++;

returns;

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

intb=LB(a,5)+LB(&

a[3],3);

b="

//240

5、C++中结构体的应用

//输入输出流的预处理命令

//字符串的预处理命令

//定义结构体Worker同C#一样的

structWorker{

charname[15];

//姓名

intage;

//年龄

floatpay;

//工资

Workerx;

//定义结构体的实例化对象

/*在C++中如果是在堆上申请得用NEW和DELETE

如果是在栈上的话,就不能用NEW。

Char*p;

这样的也是有很多的

而且还有拷贝构造和赋值构造,拷贝的好像比较少,主要是赋值

char*p=q;

还有引用

char*&

p=q;

*/

char*t="

liouting"

//定义指针*t

intd=38;

floatf=493;

//字符串拷贝strcpy(a,b)把b的内容复制到a

strcpy(x.name,t);

//即把*t指向地址的内容复制给x.Name

x.age=d;

x.pay=f;

用结构体来显示人员的详细信息:

x.name<

x.age<

x.pay<

//liouting38493

6、此题主要用于考类的继承调用以及变量的释放顺序

//有关类的继承以及调用

classA{

inta;

public:

A(intaa=0){a=aa;

~A(){cout<

DestructorA!

}//Destructor破坏者、垃圾回收销毁机制

//类B继承与类A

classB:

publicA{

intb;

B(intaa=0,intbb=0):

A(aa){b=bb;

~B(){cout<

DestructorB!

Bx(5),z(6,7);

//在C++中后定义的变量将先被释放。

x,z相当于类B的实例化对象同栈的思想,

答案:

A(5)B(5,0),A(6),B(6,7)~B()~A()~B(),~A()

四、写出下列每个函数的功能

intSA(inta,intb){

if(a>

b)return1;

elseif(a==b)return0;

elsereturn-1;

比较大小

2、floatFI(intn)

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

当前位置:首页 > 解决方案 > 其它

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

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