欢迎来到天天文库
浏览记录
ID:50320627
大小:540.50 KB
页数:42页
时间:2020-03-08
《C语言程序设计实用教程 教学课件 作者 杨旭 王爱赪 关昀 徐庆 第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章程序流程控制本章要点3.1字符图形3.2启动程序的密码3.3货物托运3.4成绩分析3.5乘法表3.6百鸡问题习题33.1字符图形3.1.1算法与控制结构在程序设计的理论上常常有这样的说法,“程序=算法+数据结构”,而语言只是实现程序的工具。由此可见,算法在程序设计中的重要地位。算法是程序设计中的重要内容,是解决问题的方法和步骤,程序中的控制结构则是实现算法的功能模块。1.算法用户可以用编写程序来指挥计算机完成各种任务,对于一个具体的任务,应该如何编写出合适的程序来解决问题,这就需要为程序设计算法。算法就是解决某一具体问题的方法和步骤。从广义上来说,算法
2、早就融于人们的生活中,比如,上学走哪条路、坐哪趟车、堵车怎么办等,其中就包含有“算法”。在计算机中,算法是指为解决具体的问题而采取的确定的方法和步骤,设计好了算法,就可以将它用具体的语言进行描述,最终转化为解决问题的程序。算法具有以下5个特点。①有穷性。任何算法应该在有限的步骤内完成,完成这些步骤也应该在一个合理的时间内。3.1字符图形②可行性。算法中的操作都可以通过已实现的基本运算在有限的次数内完成。③确定性。算法中的语句必须有确切的含义,不能有二义性,对于相同的输入必须得到相同的结果。④有零个或多个输入。通常,程序在运行过程中都要求输入数据,并对其进行运
3、算。⑤有一个或多个输出。算法的最终目的是得到结果,如果没有输出结果,那么算法就失去其目的性,不能称之为算法。算法的描述方法有很多种,下面就是使用自然语言(即人们日常使用的语言)对5!(5的阶乘)进行计算的算法:(1)计算1×2的值为2;(2)计算2×3的值为6;(3)计算6×4的值为24;(4)计算24×5的值为120,即5!=120。为解决某个问题所采用的步骤与方法就称为“算法”。利用计算机来解决问题需要编写程序,在编写程序前要对问题进行充分的分析,设计解题的步骤与方法,也就是设计算法,然后根据算法编写程序。3.1字符图形例如:计算5!的值,上面已给出了计
4、算的步骤,要实现上述计算,需用如下步骤:(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!。3.1字
5、符图形根据上述算法,设计计算5!的程序如下。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!的值,会使程序冗长而繁杂,这显然不是一个好算法,应当改进算法,使它更易于实现。考虑到程序中多次使用n++和sum=sum+n语句,可使用循环的方法,每循环一次就执行一次n=n+1和sum=sum+n语句,一共循环100次。3.1字符图形如果是求M!,则循环M次
6、,则上述算法可作如下更改:(1)将sum置初值1,sum用于存放每次乘积的值;(2)将n置初值0;(3)执行n++语句使n递增;(4)执行sum=sum*n完成n!的阶乘运算;(5)判断n是否小于等于M,如果是,转去执行语句(3);如果不是,则向下执行;(6)输出sum,即M!。这样,不管M值为多大,语句的行数不需要变化,只需要改变判断时M值的大小就行了。可见,使用循环语句可使重复而繁杂的问题简单化,易于实现。上述的这种循环可以通过程序的循环控制结构来实现。3.1字符图形2.算法的图形描述算法就是解决某一具体问题的方法和步骤,在程序设计中,构成算法的基本结构
7、有三种:顺序、选择和循环。顺序结构语句按先后顺序依次执行;选择结构让程序能进行逻辑判断,在满足条件时转去执行相应的语句;循环语句则让单调的重复运算变得简单明了。为了让算法清晰易懂,则需要选择一种好的描述方法。算法有许多描述方法,例如前面所用的方法是自然语言法,即使用人们日常使用的语言描述解决问题的步骤与方法。这种描述方法通俗易懂,但比较繁琐,且对条件转向等描述欠直观。针对自然语言描述法的缺点,又产生了流程图、N-S图和PAD图等描述方法。流程图是一种用图形来表示算法的描述方法。它通过指定的几何框图和流程线来描述各步骤的操作和执行的过程。这种方法直观形象、逻辑
8、清楚、容易理解,但它占用篇幅大,流程随意转向,较大的
此文档下载收益归作者所有