C程序设计第2版课后习题答案

上传人:s9****2 文档编号:456123066 上传时间:2022-11-15 格式:DOC 页数:197 大小:964.50KB
返回 下载 相关 举报
C程序设计第2版课后习题答案_第1页
第1页 / 共197页
C程序设计第2版课后习题答案_第2页
第2页 / 共197页
C程序设计第2版课后习题答案_第3页
第3页 / 共197页
C程序设计第2版课后习题答案_第4页
第4页 / 共197页
C程序设计第2版课后习题答案_第5页
第5页 / 共197页
点击查看更多>>
资源描述

《C程序设计第2版课后习题答案》由会员分享,可在线阅读,更多相关《C程序设计第2版课后习题答案(197页珍藏版)》请在金锄头文库上搜索。

1、第一章C+基础知识习题1.1 判断下列标识符的合法性。sin book 5arry _name Example2.1 main$1 class_cpp a3 x*y my name 答:合法的:sin book _name main class_cpp a3 非法的:5arry Example2.1 $1 x*y my name1.2假定有下列变量:int a=3,b=5,c=0;float x=2.5,y=8.2,z=1.4;char ch1=a,ch2=5,ch3=0,ch4;求下列表达式的值,以及运算后表达式所涉及的各变量的值。x+(int)y%a x=z*b+,b=b*x,b+ ch4

2、=ch3-ch2+ch1int(y/z)+(int)y/(int)z !(ab)&c&(x*=y)&b+ch3|(b+=a*c)|c+ z=(a1) 答:x+(int)y%a值为:4.5 x=z*b+,b=b*x,b+值为:42,x为7,b为43ch4=ch3-ch2+ch1值为:int(y/z)+(int)y/(int)z值为:13!(ab)&c&(x*=y)&b+值为:0,b为5 注:只要出现一个false右边的不再做。ch3|(b+=a*c)|c+值为:1,c为0 注:只要出现一个true,右边不再做。z=(a1)值为:6 1.3判断下列哪些是常量,哪些是变量。China const i

3、nt n=10; int m=5; a char ch=aint array5=1,2,3,4,5; char s=Hello; 答:China 文字常量const int n=10;常变量int m=5;变量a 文字常量char ch=a变量int array5=1,2,3,4,5;变量char s=Hello;变量 1.4将下列算式或叙述用C+表达式描述。(1) (2) (x+y)/(x-y)*ay)(3)位于原点为圆心,a, b为半径的圆环中的点坐标。(4) 。(5) 并且字符ch不为0。 答: pi/2+sqrt(asin(x)*asin(x)+c*c)(x+y)/(x-y)*pow(

4、a,y)(x*x+y*y)=a*a)&(x*x+y*y)=b*b)(a!=b)&(a!=c)&(b!=c)(kabxych1;ch2=cin.get();cinch3;若从键盘输入:3 2 1.8 7 a b c执行后各变量取值如何?注意abc三字符两两间有空格。 答:a是3,b是2,x是1.8,y是7,ch1是a,ch2是空格,ch3是b。 1.7设有语句:int a,b,c,d;cinoctabhexcdecd;若从键盘输入:23 23 23 23执行后各变量的值用十进制表示各是多少? 答:a:19,b:19,c:35,d:231.8对于习题1.7,若执行:coutathexbtoctc课

5、后习题答案第二章基本控制结构程序设计习题一基本概念与基础知识自测题2.1程序阅读题2.1.1设有说明:int a=3, b=100;下面的循环语句执行(1)次,执行后a、b的值分别为(2)、(3)。while(b/a5)if(b-a25) a+;elseb/=a; 解答:本题检查学生整除的概念。跟踪:abb/a循环次数b-a31003319741002529651002039515100613851610061484171005停 (1)14(2)17(3)100 2.1.2设有说明:int x,y,n,k;下面程序段的功能是备选答案中的 (1) ,当n=10,x=10打印结果是 (2) 。c

6、inxn;k=0;dox/=2;k+;while(kn);y=1+x;k=0;doy=y*y;k+;while(kn);coutyendl;备选答案:A. B. C. D. 解答:第一个循环使x成为:;y成为:;第二个循环使y成为:;(1)B考虑整除,当x连除4次2以后即为0,所以:为0(2)1 2.1.3请看如下程序段:if(num=1) cout”Alpha”;else if(num=2) cout”Bata”;else if(num=3) cout”Gamma”;else cout”Delta”;当num的值分别为1、2、3时,上面程序段的输出分别为(1)、(2)、(3)。 解答:检查条

7、件语句与字符串输出概念:(1)Alpha(2)Bata(3)Gamma 2.1.4执行下面程序段后,m和k的值分别为 (1) 、 (2) 。int m,k;for(k=1,m=0;k=10) break;if(m%2=0)m+=5;continue;m-=3; 解答:注意continue语句的使用初值m=0k=1第1次循环后m=5k=2第2次循环后m=2k=3第3次循环后m=7k=4第4次循环后m=4k=5第5次循环后m=9k=6第6次循环后m=6k=7第7次循环后m=11k=8第8次循环m=11结束k=8,k+未做(1)11(2)8 二编程与综合练习题2.2有一个函数:编写程序,输入x,输出

8、y。解:#include using namespace std;int main() double x,y; coutx; if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11; couty=yendl; return 0; 2.3设计程序将输入的百分制成绩转换为五分制输出,90分以上为5分,8089分为4分,7079分为3分,6069分为2分,60分以下为1分。解:10分一档用10进行整除获得,转换用开关语句实行。#include using namespace std;int main() int mark,result; /mark是百分制成绩

9、,result是5分制 cout请输入百分制成绩:mark; if(mark0) cout缺考!endl; return 0; switch (mark/10) case 9: case 10: result=5; cout输出五分制成绩:resultendl; break; case 8: result=4; cout输出五分制成绩:resultendl; break; case 7: result=3; cout输出五分制成绩:resultendl; break; case 6: result=2; cout输出五分制成绩:resultendl; break; case 5:case 4:

10、case 3:case 2:case 1:case 0: result=1; cout输出五分制成绩:resultendl; break; default: cout输入错误!endl; return 0; 2.4编程计算个人所得税。个人所得税率表如下:月收入1200元起征,超过起征点500元以内部分税率5%,超过500元到2,000元部分税率10%,超过2,000元到5,000元部分税率15%,超过5,000元到20,000元部分税率20%,超过20,000元到40,000元部分税率25%,超过40,000元到60,000元部分税率30%,超过60,000元到80,000元部分税率35%,超过80,000元到100,000元部分税率40%,超过100,000元部分税率45%。解:应该从最高税率段开始计算,分段叠加。先算两万元以上各段,每两万为一档,采用switch语句,注意没有使用break语句。后面各低收入段,用if语句,也没有使用else,这两种方法是对应的。第二要注意计算的入口处,收入减去该段的下限,进行计算,以后各段都是完整的段,计算十分简单。#include using namespace std;int main() double income,tax=0; int k; cout

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号