C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第2章

C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第2章

ID:40238622

大小:1.15 MB

页数:53页

时间:2019-07-28

C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第2章_第1页
C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第2章_第2页
C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第2章_第3页
C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第2章_第4页
C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第2章_第5页
资源描述:

《C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第2章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录第2章算法与程序流程控制2.1【案例6】程序提示框●程序与算法●算法的实现●算法流程图●顺序结构2.2【案例7】求一元二次方程的根●选择结构●if语句61●if…else…语句●if…elseif…语句●条件分支中的逻辑表达式1目录2.3【案例8】计算运费●switch语句●switch语句中的break●选择结构的嵌套2.4【案例9】成绩分析●循环结构●while循环●do…while循环2.5【案例10】乘法表●for循环●特殊的for循环●循环的嵌套2目录2.6【案例11】百鸡问题●流程转向语句●算法的优化3程序源码2.1【案例6】程序提示框2.2【案例7】

2、求一元二次方程的根2.3【案例8】计算运费2.4【案例9】成绩分析2.5【案例10】乘法表2.6【案例11】百鸡问题42.1【案例6】程序提示框案例效果本案例中将利用C语言顺序结构按语句先后顺序执行的特点,在屏幕上用字符绘制一个程序提示框,效果如图2-1-1所示。图2-1-1程序提示框本案例实现过程中,将学习C语言程序算法的基本知识,了解流程图和程序控制结构。设计过程(见书)51.程序与算法相关知识1.程序与算法在程序设计的理论上常常有这样的说法,“程序=算法+数据结构”,而语言只是实现程序的工具。由此可见,算法在程序设计中的重要地位。算法是程序设计中的重要内容,是解

3、决问题的方法、步骤;程序中的数据结构则是实现算法的功能模块。人们可以编写程序来指挥计算机完成各种任务,对于一个具体的任务,应该如何编写出合适的程序来解决问题,这就需要为程序设计算法。算法就是解决某一具体问题的方法和步骤。从广义上来说,算法早就融于人们的生活中,比如,上学走哪条路、坐哪趟车、如果堵车怎么办等等,其中就包含有“算法”。在计算机中,算法是指为解决具体的问题而采取的确定的方法和步骤,设计好了算法,就可以将它用具体的语言进行描述,最终转化为解决问题的程序。算法具有以下5个特点:(1)有穷性任何算法应该在有限的步骤内完成,完成这些步骤也应该在一个合理的时间内。62

4、.算法的实现(2)可行性算法中的操作都可以通过已实现的基本运算在有限的次数内完成。(3)确定性算法中的语句必须有确切的含义,不能有二义性,对于相同的输入必须得到相同的结果。(4)有零个或多个输入通常,程序在运行过程中,都要求输入数据,并对其进行运算。(5)有一个或多个输出算法的最终目的是得到结果,如果没有输出结果,那么算法就失去其目的性,不能称之为算法。2.算法的实现算法的描述方法有很多种,下面就是使用自然语言(即人们日常使用的语言)对5!(5的阶乘)进行计算的算法描述:(1)计算1×2的值为2。(2)计算2×3的值为6。(3)计算6×4的值为24。(4)计算24×5

5、的值为120,即5!=120。72.算法的实现计算5!的值,上面已给出了计算的步骤,要实现上述计算,需用如下算法来完成。(1)将变量sum置初值1,sum用于存放每次乘积的值。(2)将变量n置初值0。(3)执行n++语句使n递增为1。(4)执行sum=sum*n完成1的阶乘运算。(5)执行n++语句使n递增为2。(6)执行sum=sum*n完成2的阶乘运算。(7)执行n++语句使n递增为3。(8)执行sum=sum*n完成3的阶乘运算。(9)执行n++语句使n递增为4。(10)执行sum=sum*n完成4的阶乘运算。(11)执行n++语句使n递增为5。(12)执行su

6、m=sum*n完成5的阶乘运算。(13)输出sum,即为5!。根据上述算法,C语言实现的计算5!的程序代码如下:#include"stdio.h"82.算法的实现voidmain(){intsum=1;intn=0;n++;sum=sum*n;n++;sum=sum*n;n++;sum=sum*n;n++;sum=sum*n;n++;sum=sum*n;printf("5!=%d",sum);}这样,一步一步就可以通过算法得到一个可以实现的程序。上述算法非常简单,但如果使用上述算法计算100!的值,会使程序冗长而繁杂,这显然不是一个好的算法,应当改进算法,使它更易于实

7、现。92.算法的实现考虑到程序中多次使用n++和sum=sum*n语句,可使用循环的方法,每循环一次就执行一次n=n+1和sum=sum*n语句,一共循环100次。如果是求m!,则循环m次,则上述算法可作如下更改:(1)将sum置初值1,sum用于存放每次乘积的值。(2)将n置初值0。(3)执行n++语句使n递增。(4)执行sum=sum*n完成n!的阶乘运算。(5)判断n是否小于等于m,如果是,转去执行语句(3);如果不是,则向下执行。(6)输出sum,即m!。这样,不管m值为多大,语句的行数不需要变化,只需要改变判断时m值的大小就行了。可见,使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。