- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4讲 简单程序设计-3
《解析C程序设计》第2章 简单程序设计 第4讲 简单程序设计-3 复习:改正逻辑错误的方法 观察程序的执行顺序和变量的变化,具体步骤是: 编译并连接后,将光标置于可能有总是的语句,点击工具栏上的“小手”工具,设置断点(想让程序停在哪就在哪里设置断点)。 单击“小手”左边的按钮,或选择build-debug-go,进入调试状态,此时,程序运行停止在设置断点的那一行(可见行的最左端有一黄色箭头,表明程序运行的当前位置),与此同时,可以看到下边的窗口显示当前状态涉及到的变量的值。点击build-step over,则程序执行当前这条语句,下边变量的值可能会随程序的运行而改变,多次单击step over,则程序按顺序单步执行,可以观察整个程序的执行顺序和变量的变化过程,如果想中途退出,请选择build-debug-stop debugging 。 二者结合可以帮你定位逻辑错误:当执行完一条语句后,当前变量的值并没有得到正确结果,则说明刚才那条语句的语义导致了错误。改正后,重新调试。 例3 小写字母转换成大写字母 程序的基本框架 定义变量 为变量赋值或输入数据 计算或处理 输出结果 例3源程序 #include stdio.h void main() { char lower,upper; printf(“please input an lowercase:”); scanf(“%c”,lower); /*从键盘上输入一个字符,并赋值给lower */ upper=lower-32; printf(“after transform,it is ”); printf(“%c”,upper); /*将upper输出 */ } 另外两个库函数:字符输入/输出函数 #include stdio.h void main() { char lower,upper; printf(“please input an lowercase:”); lower=getchar(); /*从键盘上输入一个字符,并赋值给lower */ upper=lower-32; printf(“after transform,it is ”); putchar(upper); /*将upper输出 */ } 例4 求三角形面积 根据下列公式求三角形面积,其中,a,b,c是三角形三边 例4源程序 #include stdio.h #include math.h /*要用数据函数sqrt,此处必须包含与之相对应的头文件*/ /*程序功能:根据三边长求三角形的面积*/ void main() { float a,b,c,s,area; /* 定义实数变量*/ printf( Please input a,b,c: ); scanf(“%f,%f,%f”,a, b, c); /* 从键盘输入变量的值,%f之间用逗号分隔时,输入的三个数值一定要用逗号分开*/ s=(a+b+c)/2; area= sqrt(s*(s-a)*(s-b)*(s-c)); /* 计算面积 */ printf(area = %f\n, area);/* 输出面积*/ } 复杂的数学计算如何实现? 直接调用C语言的库函数即可。 别忘了加#include math.h 请记住几个常用的函数: 简单的程序测试 一次输入,得到正确的输出结果并不能说明问题,要精心选择不同的输入(测试用例),反复进行测试,才能逐渐发现程序里的问题 因此,要想测试例1程序是否正确,要制作一个测试表,如右图所示: 课堂练习 P53习题2-7、2-8 P55习题2-13 可以作为编程题 思考题 如果输入的三个边长不能构成三角形,怎么办? 本讲小节 字符型数据的处理 常见库函数的用法 作业: 1、假设存款的利率rate为2.75%,根据输入的存款本金capital和存期year,计算本息之和money。即money=capital*(1+rate)year 完成作业步骤:先写算法,再写程序,人工检查一遍再上机调试,应该多输出几种数据测试程序,最后按格式上交。 选做:计算int,float,double,char四种数据类型所能表示的数据范围。 提示:用sizeof()和pow()等已知知识。 * 先写思路(算法) 此题框架 定义变量lower,upper 输入lower upper=lower-32 输出upper 一般用法:字符型变量=getchar( );含义是从键盘上敲入一个字符,然后把它赋给字符型变量。 另一种用法:getchar();功能相当于“按任意健继续”,一般用于程序最后,以便查看前边的结果。
文档评论(0)