C语言程序设计案例教程 沈大林 等 第2章

C语言程序设计案例教程 沈大林 等 第2章

ID:40238619

大小: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.算法的实现(2)可行性算法中的操作都可以通过已实现的基本运算在有

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

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)执行sum=sum*n完成5的阶乘运算。(13)输出sum,即为5!。根据上述算法,C语言实现的计算5!的程序代码如下

6、:#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!的值,会使程序冗长而繁杂,这显然不是一个好的算法,应当改进算法,使它更易于实现。92.算法的实现考虑到程序中多次使用n++和sum=sum*n语句,可使用循环的方法,每循环一次就执行一次n=n+1和sum=s

7、um*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. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。