实例介绍
C++程序设计思想与方法课后答案 C++程序设计思想与方法课后答案 C++程序设计思想与方法课后答案
【】稈序开头的注释有什么作用? 【解】程序开头的注释是对程序整体的介绍。一般包括源文件的名称、程序的功能、作者、 创建日期、修改者、修改日期、修改内容等。程序注释还可以措述程序中特别复杂的部分的 实现方法和过程,给出如何改变程序行为的一些建议等。当程序在将来的某一天需要修改时 程序员可以通过这些注释而不是程序本身来了解程序是如何工作的。 【2】库的作用是什么? 【解】库是一些常用工具的集合,这些工具是由其他程序员编写的,能够完成特定的功能。 当程序员在编程时需要用到这些功能时,不需要再自己编程解决这些问题,只需要调用库中 的匚具。这样可以减少重复编程。 【3】在程序中米用符号常量有什么好处? 【解】采用符号常量主要有两个好处:提高程序可读性和可维护性。 【4】℃++有哪两种定义符号常量的方法?C++建议的是哪一种? 【解】第一种是语言的风格:# define符号常量值 第二种是C+-语言的风格: cons t类型符号常量=值; 艹+建议用第二和。用# define定义符号常量有两个问题:一是所定义的符号常量无法进 行类型检查;二是# define的处理只是简单的字符串替换,可能会引起一些意想不到的错 误。而¢+-的风格指明了常量的类型,同时是将右边的表达式的值计算出来后再与符号常量 关联起来。例如有定义 tdefine ABC 3+5 程序中有语句 x =3 ABC: 则x的结果是14,即3*3+5,而不是24,即3*8。但如果用 const in= ABC 3+5 则结果是24。 【5】C++定义了个称为 cmath的库,其中包括常用的数学函数。要访问这些涵数,需要在 程序中引入什么语句? 【解】需要有一个编详预处理命令:# include< cmath>,表小程序用到这个厍。 【6】每个C++语言程序中都必须定义的函数的名称是什么? 【解】每个C++语言程序中都必须定义的函数的名称是main。main函数是c++程序的主程序, 是程序执行的入口 【7】如何定义两个名为num1和num2的整型变量?如何定义三个名为ⅹ、y、z的实型双精度 变量? 【解】定义两个名为num1和n:um2的整型变量可用语句 int num1, num2 定义三个名为x、y、z的实型双精度变量 doublc x, y, Zi 【8】简单程序通常由哪三个阶段组成? 【解】简单程序通常由输入阶段、计算阶段和输岀阶段组成。输入阶段接收用户输入的需要 加工的数据。计算阶段将输入的数据加工成输出数据。输出阶段将加工后的数据输出给用户。 在编写程序时,最好在各阶段之间插入一个空行,使程序逻辑更加淸晰 【9】·个数据类型有哪两个重要属性 【解】第个是该类型的数据在内存中是如何衣示的,第二个是这类数据允许执行哪些操作。 【10】两个短整型数相加后,结果是什么类型? 【解】短整型数据在执行算术运算时公先被转换成标准的整型然后执行整型运算,所以两个 短整型的整数相加后的结果是整型 【11】算术表达式true+ false的结果是多少?结果值是什么类型的? 【解】布尔型数据在执行算伈运算时公先被转换成标准的整型然后执行整型运算,true转换 位1, false转换为0,所以true- false的结果是整型1。 【2】说明下列语句的效果,假设j和k声明为整型变量: 6 【解】j的值为4,k的值为16,i的值为64。 【13】用怎样的简单语句将κ和y的值设置为1.0(假设它们都被声明为doub1型)? 【解】可以用嵌套赋值:x=y=1.0; 【14】假如整型数用两个字节表示,写出下列各数在内存中的表示,并写出它们的八进制和 十六进制表示 1032210-132700 【解】整型数在机器内部被表示为补码形式,所以这些整数在内存中的表示以及八进制、十 六进制表示如下表所示。 内存中的表示 八走带六进带 10 000~0000000~10_012 000~0000001000040 20 24500000001111000030 1111111211111121177777fffE 327000111111-10111100776747fb 【15】辨别下列哪些常量为C+-语言中的合法常量。对于合法常量,分辨其为整型常量还是 浮点型常量: 121,000,000-173.1415926123456789230.00000120 1,1E+112.0 1X+11 2,2E2.2 【解】这些值的情况如下表所示。 42 00,000 7 3.415926123456789-2.3 0.000001 整型非法 整型「浮点型 整 浮点型 点型 1.1E+112.0 1.二Ⅹ+11 23L 2.2E2.2 整型|浮点型 浮点刑非法整 形 非法 【16】指出下列哪些是C++语言中合法的变量名? a. X g. total output b. formula h. aReasonab l ylongvariab leName c. average rainfall 1. 12MonthTctal d. correct 3. marginal-cost e. short k. b4hand f. tiny l. stk depth 【解】这些符号的情况如下表所示。 合法 Formual 合法 average rainfall 合法 8 Correc七 不合法 short 不合法 tiny 合法 total cutput 不合法 aReasonablyLongvariableName合法 1 2MonthTotal 不合法 marginal-cost 不合法 bland 合法 tk depth 合法 【17】在一个变量赋值之前,可以对它的值做出什么假设? 【解】可以假设它的值是一个随机值。 【9】若k已被定乂为辶nt型变量,当程序执行赋值语句 后,的值是什么?若再执行下面语句,k的值是什么? 【解】在执行了k=3.14159;后,k的值为3。在执行了k=2.71828;后,k的值为2 【22】以下哪些是合法的字符常量? ab ab 0123′ 0123′ 【解】 n’·0130123 合法非法非法合法非法合法非法 【23】写出完成下列任务的衣达式: a.取出整型变量n的个位数 b.取出整型变量n的十位以上的数字 C.将整型变量a和b相除后的南存于变量c,余数存于变量d d.将字符变量ch保存的小写字母转换成大写字符 e.将 double型的变量d中保存的数字按四舍五入的规则转换成整数 【解】 a.n810 b.n/10 a ,b, d =a d. ch -a'+A' int(d+0.5) 【25】若变量k为int类型,x为 double类型,执行了k=3.1415;x=k;后,x和k的 值分别是多少? 【解】k的值是3。x的值为3.0。 【26】已知华氏温度到摄氏温度的转换公式为 某同学编写了一个将华氏温度转换成摄氏温度的程序 int main() out<<“请输入华氏温度:“; cin >>f C=5/9*(f-32 cout<<N对应的摄氏温度为:"<<c; return 但无论输入什么值,程序的输出都是C.请你帮他找一找哪里出问题∫ 【解】由于该程序中将变量f定义为in型,表达式5/9*(f-32)中的所有运算数 都是int类型,C++执行整型运算。5/9为0,0乘仟何数都为0,所以c的值永远为0。只 要将5改成5.0,程序就能得到正确的结果。 第二章程序设计题 【2】设计一个程序完成下述功能:输入两个整型数,输出这两个整型数相除后的商和余数。 【解】 *include <iost using namespace std int main( int num1, num/, quotient, remai nder out<<"请输入两个整型数:"; cin > num1 > num2 quotient numl num2 /计算商 remainder= num1 num? //计算余数 cout<<num1<<"/"<<num2<<"的商为 Lctient < erdl cout <c num1 "<<num2<<"的余数为 remainder < endl rcturn 0; 【3】输入9个小于8位的整型数,然后按3行打印,每一列都要对齐。例如输入是:1、2、3、 11、22、33、111、222、333,输出为 11 33 111222333 【解】 inc namespace std nt main int numl, num2, num3, num4, ncm5, numb, num7, num8, rum9; cout<<"请输入9个整型数:"; cin > nun1>> nu2 num >> nur 4 >> nLIn5 >> nurn6>> r:uml> nun 8 num 9 cout < numl <<'tI < num2 <<.it.<< num3 < endl cout < num < it'<< num5 < it.<< numb < endl; cout < num?<< it << num8 << ! t < num9 < endl return O 【4】某工种按小时计算工资。每月劳动时间(小时)乘以每小时工资等于总工资。总工资 扣除10的公积金,剩余的为应发工资。编写一个程序从键盘输入劳动时问和每小时工资, 输出应发工资。 【解】 nc1ude<i③ stream> using namespace std; int main () int timc, yuanPcrHour, totalsalary, salary cout<<"请输入每小封资:"; cin>> yuanPerHour氵 cout<<"请输入木月劳动时间:", C⊥n>>-ime totalsalary time yuanPerHouri //计算总工资 salary totalsalary -0,- A tcta-salary i //计算应发工资 cout<"本月应得工资为:"< salary<endl; eturn 【5】编写一个程序,用于水果店售货员结账。已知苹果每斤2.50元,鸭梨每斤1.80元,香 蕉每斤2元,橘子每斤1.60元。要求输入各种水果的重量,打印应付金额。再输入顾客付款 数,打印应找零的金额。 【解】 # 'nclude <iostream> using namespace std int main( const couble priceotApple =2.50i const couble oriceofpear =1.E0 const Couble oriceofBanana =2.00; const ciauble priceoforange =1.60; double apple, pear, banana, orange comc, changc cout<<"请输入苹果梨香蕉橘子的重量: apple >>p money apple priceofApple pear priceofpear t banana x priceofBanana orange priceoforange; cout<<"你应该付"<< money<<"元”<<enal; n找零 cturn 0i 【6】编写一个程序完成下述功能:输入一个字符,输出它的 ASCII值 【解】 using namespace std int main( har ch out<<"请输入一个字符:" cin > chi ast<int>(ch<< 【7】假设校园电费是0.6元/千瓦时,输入这个月使用了多少千瓦时的电,算出你要交的电 费。假如你只有1元、5角和1角的硬币,请问各需要多少1元、5角和1角的硬币。例如这个 月使用的电量是11,那么输出为 电费:6.6 共需6张1元、1张5角的和1张1角的 【解】 #include <iostream> namespace std int main( const int fee= 6 /费用以角为单位 t cout<<"请输入木月的用电量: cin > amount money amount fee; //计算本月应付多少角 t<<"你本月的电费是"<<mon=y/10<<"元”<< money310<<"角”<<end cout<<"需要支付"<< Ir.oney/10<<"个1元的硬币, cout<< money10/5<<"个5角的便币,"; cot<< monc y5<<"个1角的硬币,"<<cnd1; return 0 【8】设计并实现一个银行计算利息的程序。输入为存款金额和存款年限,输出为存款的本 利之和。假设年利率为1.2号,计算存款本利之和公式为本金+本金*年利率x存款年 限。 【解】 #include <iostream> using namespace std int main() const coublc RATe doub⊥ e principa⊥ int ars i cout<<"请输入本金(元)和存期(年):"; cin >2 principal > yearsi principal principal principal RATE ycars /100 cout<<"你的本利和是:"<< principal<<end1; 【9】编写个程序读入4个整数,输山它们的平均值。程序的执行结果的示例如下: 请输入4个整型数:5796 5796的平均值是6.75 【解】。 # iostreaIlL using namespace std nt maino double avg int numl, num2, num3, numa i cout<<"请输入4个数:"; cin > num1 > num2 > num3>> num; nun1 IluIn2 nurm3 Ilum4)/4.0 cout<"4个数的平均值是:"<<avg<end1; return 【10】写一个程序,输出在你使用的++系统int类型的数据占几个字节,doub1e类型的 数据占几个字节, short int占几个字节,f1oa类型占几个字节。 【解】 #nc⊥ude< iostream> using namespace sta int main( cout<<"int型占用了"<< sizeof(int)<<"个字节"<<endl; cout<<" doublc型占用了"<< sizeof( doublc)<<"个字节”<<cnd1 cout<<" short int型占用了"<< sizeof( short)<<"个字节"<<endl; cout<<"=oat型占用了"<< sizeof( float)<<"个字节"<<endl turn o 【1】对于个二维平面上的两个点(×1,y1)和(x2,y2),编程序计算两点之间的距 离 【解】。 #inc lude iostream> #inc lude < cmathx using namespace std int maino double xl, yl, 2, y2, distance cout<<"请输入点1的坐标 cin >>x1 >> yl; cout<"请输入点2的坐标: n>>x2> distance= sgrt(xl -x2)*(xl -x2)+(yl-y2)*(y1-y2)) cout <<( X1 2 <")的距离是:"< distance<<end1; return o 第三章简答题 【】写出测试下列情况的关系表达式或逻辑表达式 a.测试整型变量n的值在0~9之间,包含0和9。 b.测试整型变量a的值是否是整型变量b的值的一个因子。 c.测试字符变量ch中存储的是一个数字字符。 d.测试整型变量a的值是否是奇数 ◇.测试整型变量a的值是否为5 f.测试整型变量a的值是否为7的倍数 【解】 0&n b. ba a== c C,cn>=0′ach<= d.a82==1 f.a37==0 【2】假设myF1aq声明为布尔型变量,下面的语句会有什么问题 if(myF⊥ag==true), 【解】这个语句的语法和运行结果都是正确的,但有冗余判断。表达式my1ag==true 的值与变量myP1ag是一样的,所以只要写成if(myF1ag)就可以了。 【3】设a=3,b=4,c=5,写出下列各逻辑表达式的值 a +b >c&&b b a+c&& b (a >b)&sc d.(a!=b)||(b<c) 【解】 true && false b a b +c&&b true b+ c &&b-c true b)& true & false false true (b< c) 【4】用一个if语句重写下列代码 f (ch if (ch ==e cout < c<< endli 【解】if(ch )1 ++ci cout < c<< endli I 或者 ifich = F' cout < ++c <s endT 【5】用一个 switch语句重写下列代码 ++counter C1scif(cn==′A′||ch ++countS ese:if(c:h==′T′||ch +counti cout < error 【解】 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论