c++课后答案.docx

上传人:b****4 文档编号:4457293 上传时间:2022-12-01 格式:DOCX 页数:11 大小:20.96KB
下载 相关 举报
c++课后答案.docx_第1页
第1页 / 共11页
c++课后答案.docx_第2页
第2页 / 共11页
c++课后答案.docx_第3页
第3页 / 共11页
c++课后答案.docx_第4页
第4页 / 共11页
c++课后答案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

c++课后答案.docx

《c++课后答案.docx》由会员分享,可在线阅读,更多相关《c++课后答案.docx(11页珍藏版)》请在冰豆网上搜索。

c++课后答案.docx

c++课后答案

参考答案

1.1简答题

(1)什么事面向对象?

如何理解面向对象中的一些基本概念:

对象、类、继承、封装、包含、消息、多态性等。

答:

面向对象是一种运用对象、类、继承、封装、包含、消息传递、多态性等概念来构造系统的软件开发方法。

对象是对待解决问题(问题域)中的客观事物的抽象表示,它是面向对象程序的基本要素。

类是具有相同属性和服务的若干对象的集合。

继承体现的是类与类之间的分类结构,一个新类可以从现有的类中派生,这个过程称为类继承。

封装是把过程(操作或功能)和数据包围起来。

包含是指将一个复杂类中包含若干个简单类的对象。

消息是对象发出的服务请求,消息的发送者是一个要求提供服务的对象,而消息的接受者是一个能够提供服务的对象,通过消息传递时限对象之间的通信。

多态性是指不同对象发送同一消息,根据对象的类型不同而完成不同的行为。

1.2选择填空

(1)C

(2)D(3)A(4)A(5)B

1.3判断

(1)√

(2)X(3)√(4)X(5)√(6)√(7)X(8)X(9)X(10)X

1.4分析下列程序的输出结果

#include

voidmain()

{

cout<<”BeiJing”<<””;

cout<<”ShangHai”<

cout<<”TianJing”<

}

输出结果如下:

BeiJingShangHai

TianJing

2.1简答题

(19)什么是字符数组?

字符数组与字符串有何不同?

答:

字符数组是数组元素为字符类型的一种数组。

字符数组可以用来存放多个字符,也可以用来存放字符串。

字符数组中存放的是字符还是字符串,其区别在于数组元素中是否有字符串的结束符。

2.2选择填空

(1)B

(2)C(3)A(4)BC(5)D(6)D(7)C(8)C(9)B(10)C

2.3判断

(1)X

(2)√(3)X(4)X(5)X(6)√(7)√(8)√(9)X(10)√

2.4分析下列程序的输出结果

(1)

#include

voidmain()

{

inta=90;

floatb=34.92f;

charc='B';

doubled;

d=12.7865;

cout<

cout<

}

输出结果为:

90;34.92;12.7865

67,65

(2)

#include

voidmain()

{

staticinta[]={3,4,5,6,7,8};

doubled[5]={1.2,3.4,5.6};

intab[4][2]={{2,3},{4,5},{6,7},{8,9}};

cout<

cout<

cout<

}

输出结果为:

3,4,5,8

5.6,0,溢出

5,8,2

3.1简答题

(16)C++语言中类型转换有哪些规定?

答:

两个操作数的类型不一致时,转换的原则是将低类型转化为高类型。

short型和char型自动转换为int型,float型自动转换为double型。

强制转换时暂时的,仅在被强制时才进行转换,不被强制式仍保持原来类型。

3.2选择填空

(1)D

(2)A(3)D(4)D(5)D(6)D(7)C(8)AD(9)D(10)D

3.3选择填空

(1)√

(2)X(3)X(4)√(5)X(6)X(7)X(8)X(9)√(10)X

3.4分析下列程序的输出结果

(1)

#include

voidmain()

{

unsignedinta=026,b=0x3b;

cout<<(a|b)<<','<<(a^b)<

cout<<(a&b)<<','<<(~a^~b)<

cout<<(a<<=2)<<','<<(b>>=4)<

}

输出结果为:

63,45

18,45

88,3

(2)

#include

voidmain()

{

inti(10),j(8);

cout<<++i-j--<

i=10,j=8;

cout<<(i=i*=j)<

i=10,j=8;

cout<<(i=3/2*(j=3-2))<

i=10,j=8;

cout<<(i&j|1)<<','<<(i+i&0xff)<

}

输出结果为:

3

80

1

9,20

4.2简答题

(1)C

(2)A(3)B(4)D(5)D(6)A(7)C(8)B(9)B(10)D

4.3判断

(1)X

(2)√(3)X(4)X(5)√(6)√(7)√(8)√(9)√(10)X

4.4分析下列程序的输出结果

(1)

#include

voidmain()

{

inta(50);

while(--a)

{

if(a==40)

break;

if(a%2==0||a%3==0)

continue;

cout<

}

}

输出结果如下:

49

47

43

41

(2)

#include

voidmain()

{

inta(5);

do

{

a++;

cout<<++a<

if(a==10)break;

}while(a==9);

cout<<"ok\n"

}

输出结果如下:

7

ok

5.1简答题

(1)函数的定义格式是如何规定的?

函数定义格式中有哪些组成部分是可以省略的?

答:

函数的定义格式如下:

   <类型><函数名>(<参数表>)

   {

    <若干条语句>

   } 

<类型>为函数返回值类型,若为void,则为过程调用;<参数表>中的参数为形参,在函数被调用时进行初始化,从而从被调用处获得数据。

函数定义格式中形参可以省略。

(6)C++程序中除传值调用外,还有什么调用方式?

答:

引用调用。

(8)什么是内联函数?

为什么要引入内联函数?

答:

在一般函数的函数头前加关键字inline的函数称为内联函数。

引入内联函数的原因是为了解决程序中一些函数体代码不是很大,但又频繁地被调用的函数的函数调用的效率问题。

(9)什么是重载函数?

定义重载函数时应注意些什么问题?

答:

重载函数是指同一个函数名对应着多个函数实现的函数。

定义重载函数时要注意参数个数或者参数类型不同。

5.2选择填空

(1)D

(2)A(3)B(4)D(5)D(6)C(7)B(8)A(9)C(10)B

5.3判断

(1)√

(2)√(3)X(4)√(5)X(6)√(7)X(8)√(9)X(10)√

5.4分析下列程序的输出结果

(7)

#include

voidswap(int&,int&);

voidmain()

{

inta(5),b(10);

swap(a,b);

cout<<"a="<

}

voidswap(int&x,int&y)

{

inttemp;

temp=x;

x=y;

y=temp;

}

输出结果如下:

a=10,b=5

(8)

#include

voidprint(int),print(char),print(char*);;

voidmain()

{

intm(2000);

print('m');

print(m);

print("good");

}

voidprint(charx)

{

cout<

}

voidprint(char*x)

{

cout<

}

voidprint(intx)

{

cout<

}

输出结果如下:

m

2000

good

6.1简答题

(14)什么是引用?

它与指针有何区别?

答:

引用是变量的别名。

区别在于:

指针通过地址间接访问某个变量,引用通过别名直接访问某个变量;

引用必须初始化,一旦被初始化后不得再作为其他变量的别名;

(15)引用有何用处?

答:

用做函数的参数或函数的返回值。

6.2选择填空

(1)ACD

(2)D(3)D(4)D(5)C(6)D(7)A(8)(9)A(10)C(11)A(12)C(13)D

 

8.1简答题

省略

8.2选择填空

(1)D

(2)C(3)B(4)A(5)C(6)A(7)C(8)AB(9)B(10)A(11)C(12)A

8.3判断

(1)√

(2)X(3)√(4)X(5)√(6)X(7)X(8)√(9)X(10)√

(11)X(12)√

8.4分析下列程序的输出结果

(1)

DefaultConstrutorcalled.

Constructorcalled.

a1=0,a2=0

a1=3,a2=9

(2)

b1=12,b2=65

a=100

9.1简答题

省略

9.2选择填空

(1)C

(2)B(3)B(4)B(5)A(6)D(7)B(8)D(9)B(10)D

9.4分析下列程序的输出结果

(1)

Starting1:

DefaultConstructorcalled.

DefaultConstructorcalled.

DefaultConstructorcalled.

Ending1:

Starting2:

Constructor:

a=5,b=6

Constructor:

a=7,b=8

Constructor:

a=9,b=10

Ending2.

Destructorcalled.a=9,b=10

Destructorcalled.a=8,b=7

Destructorcalled.a=5,b=6

Destructorcalled.a=5,b=6

Destructorcalled.a=3,b=4

Destructorcalled.a=1,b=2

10.1简答题

省略

10.2选择填空

(1)C

(2)A(3)A(4)D(5)B

10.3判断

(1)√

(2)X(3)X(4)√(5)√(6)√(7)X(8)X(9)X(10)√

(11)√(12)√

 

10.4分析下列程序的输出结果

(1)

(13,22,30,40)

(5)

D2:

:

display()

pri1=4,pri2=4

pri4=6

Pri12=7

D2:

:

display()

pri1=3,pri2=4

pri4=7

Pri12=8

11.1简答题

省略

11.2选择填空

(1)C

(2)D(3)A(4)B(5)A(6)C(7)C(8)A

11.3判断

(1)√

(2)X(3)√(4)√(5)√(6)√(7)X(8)X(9)√(10)√

11.4分析下列程序的输出结果

(2)

B:

:

show()called.155

D:

:

show().205

(5)

72.38016

21.2

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

当前位置:首页 > 解决方案 > 商业计划

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

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