• / 100

[文学]C++实用教程【郑阿奇】课后习题答案.doc

资源描述:
《[文学]C++实用教程【郑阿奇】课后习题答案.doc》由本站会员分享,支持在线阅读,更多《[文学]C++实用教程【郑阿奇】课后习题答案打印版.doc》相关的内容可在三九文库网上搜索。

第一章C++概述1.C++语言的标准有哪些?它有哪些编程方法?结构化程序设计的结构有哪些?答案:标准:C++国际标准ISO/IEC14882:1998,常被称为C++98、标准C++或ANSI/ISOC++;C++标准第二版(ISO/IEC14882:2003)。3种编程方法:以C语言为子集的结构化程序设计模式、以类为核心的面向对象程序设计模式以及以模版为机制的通用编程模式。结构化程序设计的结构:顺序结构、选择结构和循环结构。2.面向对象的程序设计有3个主要特征,他们分别是什么?试举例说明。答案:3个主要特征:封装、继承和多态。封装:封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。

例如C++中的类,它定义了该集合中每个对象所共有的属性和方法。继承:继承是让某个类型的对象获得另一个类型的对象的特征。例如:C++中子类对父类的继承,子类具有父类的特性,同时还可以拥有自己的新特性。多态:多态是指不同类型的对象接收相同的消息时产生不同的行为。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减小代码的复杂度。例如函数的重载。3.C++是以编译方式实现的高级语言,它的编译过程可分为3个子过程,它们分别是什么?答案:创建、编译和连接。4.参照本章示例,编写1个C++程序:输入圆的半径,输出其周长。答案:#include

usingnamespacestd;intmain(){doubler,area;cout<<"输入圆的半径:"cin>>r;area=2*3.14159*r;cout<<"圆的周长为:"<

e后面的数字必须是整数3L:合法,长整形0.0086e32:合法,实数‘\87’:不合法,八进制数中不应该出现8“ComputerSystem”:合法,字符串“a”:合法,字符串‘a’:合法,字符‘\96\45’:不合法,‘96’‘\45’分别为字符类型.5:合法,double2.字符常量与字符串常量有什么区别?指出下列哪些表示字符?哪些表示字符串?哪些既不表示字符也不表示字符串?‘0x66’China“中国”“8.42”‘\0x33’56.34“\n\t0x34”‘\r’‘\\’‘8.34’“\0x33”‘\0’答案:字符:‘\\’,‘\0’,‘\r’字符串:“中国”。

“8.42”,“\n\t0x34”,“\0x33”非字符亦非字符串:‘0x66’,China,‘\0x33’,56.34,‘8.34’3.定义两个变量a和b,初值分别为8和10,若要a和b的值互换,即a为10,b为8,如何实现(可用另外一个变量t作为过渡)?如不用中间变量又如何实现?答案:用变量temp作为过渡#includeusingnamespacestd;intmain(){inta=8,b=10;inttemp;temp=a;a=b;b=temp;cout<<"a:"<。

usingnamespacestd;intmain(){inta=8,b=10;a=a^b;b=b^a;a=a^b;cout<<"a:"<

usingnamespacestd;intmain(){inta=8,b=10;cout<<"a:"<

想一想这样做的好处是什么?若使用const来定义,则如何进行?并比较这两种定义的优缺点。答案:enum{False=false,FALSE=false,TRUE=true,True=true};好处:因为VC++中对大小写是敏感的,为了防止用户输入中大小写出错的情况,所以分别又定义了表示true和false的两种形式。constboolFalse=false;constboolFALSE=false;constboolTRUE=true;constboolTrue=true;优缺点:用enum一次可以定义多个整型标识符变量,而const定义的标识符常量由其数据类型决定。

另外,用const定义看不出其关联性。5.用const常量代替圆周率3.1415926,分别输入半径40和928.335,求圆面积。要求先输出圆周率和半径,再输出其面积。答案:#includeusingnamespacestd;constdoublePI=3.1415926;intmain(){doubleradius1=40,radius2=928.335;doublearea1,area2;area1=PI*radius1*radius1;area2=PI*radius2*radius2;cout<<。

"圆周率:"<

iostream>usingnamespacestd;constintSTDNO=50;intmain(){cout<<\"<<"Howmanystudentsinyourclass?"<<\"cout<>c1>>c2>>c3。

若在执行过程中,输入:‘a’‘b’‘c’则cin执行后,c1、c2、c3的值分别是什么?若输入:abcdef则cin执行后,c1、c2、c3的值又分别是什么?答案:输入‘a’‘b’‘c’后,c1的值为‘,c2的值为a,c3的值为’输入abcdef后,c1的值为a,c2的值为b,c3的值为c8.设有语句:inta,b,c;cin>>hex>>a>>oct>>b>>dec>>c;cout<

b<<’\t’<

5,y=4.7,a=7x+a%3*(int)(x+y)%2/4=2.5+1*int(7.2)%2/4=2.5+7%2/4=2.5+1/4=2.5(6)设x=3.5,y=2.5,a=2,b=3(float)(a+b)/2(int)x%(int)y=2.51=1.5(7)设x=8‘a’+x%3+5/2‘\24’=97+2+220=813.在下列表达式中,哪些是合法的赋值表达式?哪些不是?为什么?(a,b,c,x,y都是已定义的int型变量)(1)a=b=4.5+7.8是(2)c=3.5+4.5=x=y=7.9不是,因为4.5是常量不能作为左值(3)x=(y=4。

5)*45是(4)a=x++=++y不是,x++不能作为左值4.写出下面表达式运算后a的值,设原来的a都是10.(1)a+=a<=>a=a+a=20(2)a%=(7%2)<=>a=a%(7%2)=10%1=0(3)a*=3+4<=>a=a*(3+4)=70(4)a/=a+a<=>a=a/(a+a)=10/20=0(5)a=a<=>a=aa=0(6)a+=a=a*=a<=>a+=a=100=>a+=0=>a=05.设m,n的值分别为10,8,指出下列表达式运算后a,b,c,和d的值。

展开阅读全文
 温馨提示:
下载提示
关于本文
本文标题:[文学]C++实用教程【郑阿奇】课后习题答案.doc
链接地址:https://www.999doc.com/661619.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 联系我们

copyright © 2016-2021  999doc三九文库网 版权所有

经营许可证编号:苏ICP备2020069977号  网站客服QQ:772773258  联系电话:0518-83073133