已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 目的与要求(1) 能正确使用关系和逻辑运算构造各种条件;(2) 能正确选择if和switch语句进行程序设计;(3) 能够使用流程图和N-S图进行算法描述。2. 上机练习【练习2-1】若有C源程序2-1.c,其内容如下:#include void main(void)int a=3,b=4,i,j,k;i=(-a=b+)?-a:+b;j=a+;k=b+a+;printf(ni=%d,j=%d,k=%d,a=%d,b=%d,i,j,k,a,b);先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果进行比较,若分析有误,试找出原因。i=6,j=2,k=9,a=4,b=7【练习2-2】若有C源程序2-2.c,其内容如下:#include void main(void)int a=3,b=4,c=5,x,y;x=!a+bc&(b!=c);y=c/b+(float)a/b&(float)(a/c);printf(nx=%d,y=%d,x,y);x=a|b-;y=a-3&c-;printf(n%d,%d,%d,%d,%d,a,b,c,x,y);先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果进行比较,若分析有误,试找出原因。x=1,y=13,4,5,1,0【练习2-3】若有C源程序2-3.c,功能是输入x的值,计算并输出y1和y2的值。y1=,y2=当x0程序内容如下:#include void main(void)float x,y1,y2;printf(Please enter x:);scanf(%f,&x);if(x0)y1=2/x;y2=3/x;else if(x=0)y1=y2=0;elsey1=2*x;y2=3*x;printf(nx=%.2f,y1=.2f,y2=.2fn,x,y1,y2);(1)上机编辑和运行程序,验证程序是否正确,若不正确,请找出错误的原因,修改后重新运行,直到实现既定的功能。#include void main(void)float x,y1,y2;printf(Please enter x:);scanf(%f,&x);if(x0)y1=5/x;y2=8/x;else if(x=0)y1=y2=0;elsey1=2*x;y2=3*x;printf(nx=%.2f,y1=%.2f,y2=%.2fn,x,y1,y2);If语句的嵌套(2)使用ifelse-if语句重写上面的程序,并调试运行。#include void main(void)float x,y1,y2;printf(Please enter x:);scanf(%f,&x);if(x0)y1=5/x;y2=8/x;else if(x=0)y1=y2=0;elsey1=2*x;y2=3*x;printf(nx=%.2f,y1=%.2f,y2=%.2fn,x,y1,y2);【练习2-4】若有C源程序2-4.c,其内容如下:#include void main(void)int a,b,c,d,x;a=1,b=3,c=5,d=4;if(ab)if(cd) x=100;elseif(ac)if(bd) x=200;else x=500;else x=600;else x=700;printf(x=%dn,x);(1) 上面代码的书写格式非常糟糕,先分析该程序的执行结果,然后上机编辑、调试和运行程序,认真体会良好的代码书写格式对读程序的重要性。 x=200规范的程序书写格式:#include void main(void)int a,b,c,d,x;a=1,b=3,c=5,d=4;if(ab)if(cd) x=100;elseif(ac)if(bd) x=200; else x=500;else x=600;else x=700;printf(x=%dn,x);(2) 根据程序代码,分别画出其流程图和N-S图。【练习2-5】若有C源程序2-5.c,其内容如下:#include void main(void)int a,b,x,y;a=b=y=0,x=1;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;break;default:a+;b+;printf(a=%d,b=%dn,a,b);(1) 先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果进行比较,若分析有误,试找出原因。a=2,b=1(2)若把第18行和第21行的break语句去掉,程序执行的结果是否会变化?这说明了什么?a=4,b=3 (3)若把第5行中x=1改为x=4,程序执行的结果是什么?若再把第22,23行一起移到第8行,执行的结果有什么变化?a=1,b=1a=3,b=23. 上机编程【编程 2-1】在练习1-7中所给出的程序没有考虑输入三条边后是否能够构成三角形的处理。请重新设计算法对以上问题进行处理,即输入三角边后先判断是否构成三角形,若构成三角形则求出面积输出,否则输出构不成三角形的信息。请画出流程图或N-S图,并编写程序上机调试运行。#include #include #include void main(void)int a,b,c;float s,area;printf(Please enter three sides a,b and c:);scanf(%d%d%d,&a,&b,&c);if(a+bc&abs(a-b)c)s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(Three sides:a=%d,b=%d,c=%dn,a,b,c);printf(Area=%.1fn,area);elseprintf(Three sides:a=%d,b=%d,c=%dn,a,b,c);printf(这三条边不能组成三角形!n);【编程 2-2】若实现从键盘上输入一个字符,判断并输出该字符是以下哪一种的提示信息:字母;数字;空格;其他字符。如输入1,则显示的信息是:输入的是数字字符1。请使用ifelse-if语句编程。#include #include void main(void)char c;printf(请输入一个字符:);c=getchar();if(c=A&c=a&c=0&c=9)printf(输入的是数字字符%cn,c);else if(c=40)printf(输入的是空格字符%cn,c);else printf(输入的是其他字符%cn,c);【编程 1-3】若某企业根据销售人员的销售额发放提成,计算公式如下(s代表销售额):s200没有提成200s400提成5%400s1200提成8%1200s2400提成8%2400s4000提成8%s4000请分别使用if和switch语句结构分别编写程序,实现从键盘上输入销售额,即输出销售额和提成。要求程序具有纠错能力,如输入负数就输出非法数据的提示信息并结束程序。ifelse-if语句#include #include void main(void)float s;float income;printf(请输入销售额:);scanf(%f,&s);if(s0)printf(这是非法数据!n);exit(1);else if(s200)printf(没有提成!n);exit(1);else if(s400)income=(s-200)*0.05;else if(s1200)income=(s-400)*0.08+200*0.05;else if(s2400)income=(s-1200)*0.1+800*0.08+200*0.05;else if(s4000)income=(s-2400)*0.15+1200*0.1+800*0.08+200*0.05;else income=(s-4000)*0.18+1600*0.15+1200*0.1+800*0.08+200*0.05;printf(销售额是:%.0f,提成是:%.0fn,s,income);Switchcase语句#include #include void main(void)float s;float income;printf(请输入销售额:);scanf(%f,&s);if(s0)printf(这是非法数据!n);exit(1);if(s200)printf(没有提成!n);exit(1);switch(int)(s/400)case 0:income=(s-200)*0.05;break;case 1:case 2:income=(s-400)*0.08+200*0.05;break;case 3:case 4:case 5:income=(s-1200)*0.1+800*0.08+200*0.05;br
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装厂制度管理制度
- 施工电梯料台施工指导书
- 营口预算管理员冲刺押题卷
- 2026年中考地理填图训练-世界地理一轮复习讲练测题(含答案)
- 天津市河西区2025-2026学年七年级下学期期中语文试题(含答案)
- 高中生歧义容忍度与英语阅读策略使用的相关性研究
- 上颌前方牵引治疗不同生长发育阶段骨性Ⅲ类患者的疗效评估
- 2026全球气候变化对葡萄干产业影响及应对策略报告
- 2026年行政办事员通关练习试题附参考答案详解【综合题】
- 高中思政课教师运用“历史眼光”的优化策略研究
- 假期作业设计原则与教学实施方案
- 中国心力衰竭诊断和治疗指南2025
- 医学类集体备课课件
- DB31∕T 1227-2020 医疗机构输血科室设置规范
- 2025年四川省南充市名校联测中考物理模拟试卷(二)
- DBJ50-T-246-2016《建筑施工危险源辨识与风险评价规范》
- 绿色施工方案及措施
- 开发区纪工委廉政课件
- 2025年泸州市兴泸水务(集团)股份有限公司人员招聘笔试备考题库及答案解析
- 丛林穿越项目施工方案
- 【小升初真题】2025年贵州省铜仁市小升初数学试卷(含答案)
评论
0/150
提交评论