欢迎来到天天文库
浏览记录
ID:58702725
大小:1.06 MB
页数:136页
时间:2020-10-04
《第3章 C语言算法与程序设计基础ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.1算法概述3.3结构化程序设计方法3.2算法的常用表示方法3.4C语句概述3.6循环结构程序设计3.7综合程序应用举例3.5选择结构程序设计第3章算法与程序设计基础结束放映3.1算法概述程序(program)是计算机可以执行的指令或语句序列。它是用计算机解决现实生活中的一个实际问题而编制的。设计、编制、调试程序的过程称为程序设计。编写程序所用的语言即为程序设计语言,它为程序设计提供了一定的语法和语义,所编写出的程序必须严格遵守它的语法规则,这样编写出来的程序才能被计算机所接受、运行,并产生预期的结果。3.1.1算法的
2、概念解决一个实际问题而采取的方法和步骤,称之为“算法”。对于同一个问题,可能有不同的方法和步骤,即有不同的算法。【例3.1】求1+2+3+4+…+100=?算法1步骤1:1+2=3步骤2:3+3=6步骤3:6+4=10…步骤99:4950+100=5050算法2步骤1:0+100=100步骤2:1+99=100步骤3:2+98=100…步骤50:49+51=100步骤51:100*50=5000步骤52:5000+50=5050算法3步骤1:k=1,s=0步骤2:如果k>100,则算法结束,s即为所求的和,输出s;否则转
3、向步骤3步骤3:s=s+k,k=k+1步骤4:转向步骤2当然,算法也有优劣之分,有的算法较简练,而有的算法较烦琐。上面三个算法中,算法2比算法1步骤少,算法3比算法2步骤少,算法3的质量最优。一般地说,希望采用方法简单、运算步骤少的方法。3.1.2算法的特性一个算法应具有如下五个特点:1.有穷性2.确定性3.可行性4.有零个或多个输入5.有一个或多个输出3.2算法的常用表示方法3.2.1自然语言表示法所谓自然语言,就是人们日常使用的语言,可以是汉语、英语或其他语言。3.2.2流程图流程图是用图形的方式来表示算法,用一些几
4、何图形来代表各种不同性质的操作。ANSI(美国国家标准化协会)规定的一些常用流程图符号(见图3-1)已被大多数国家接受。1.顺序结构顺序结构的程序是按语句的书写顺序执行的,用图3-2表示2.选择结构选择结构或称分支结构、条件结构,用图3-3表示3.循环结构循环结构又称重复结构,有两种方式:一种是先判断条件,若条件成立再进入循环体,可用图3-4表示;另一种是先进入循环体执行,再判断条件是否成立。可用图3-5表示。3.2.3N-S结构流程图1973年美国的计算机科学家I.Nassi和B.Shneiderman提出了一种新的流
5、程图形式。在这种流程图中把流程线完全去掉了,全部算法写在一个矩形框内,在框内还可以包含其他框,即由一些基本的框组成一个较大的框。这种流程图称为N-S结构流程图(以两人名字的头一个字母组成)。3.2.4伪代码表示法伪代码(pseudocode)是用介于自然语言和计算机语言之间的文字和符号来表示算法,即计算机程序设计语言中具有的语句关键字用英文表示,其他的可用汉字,也可用英文,只要便于书写和阅读就可。3.2.5用计算机语言表示算法用计算机语言描述算法必须严格遵循所用语言的语法规则#includevoidma
6、in(){intsign,i,n;floatsum;printf("Pleaseinputanintegerton:");scanf("%d",&n);sign=1;sum=1;i=1;while(i<=n){sign=(-1)*sign;sum=sum+sign/(3.0*i);i=i+1;}printf("sum=%f",sum);}程序运行结果如下:Pleaseinputanintegerton:5sum=0.7388893.3结构化程序设计方法在拿到一个需要求解的实际问题之后,怎样才能编写出程序呢?以数值
7、计算问题为例,一般应按图3-12所示的步骤进行。要设计出结构化的程序,可采取以下的方法:◆自顶向下◆逐步细化◆模块化◆结构化编码【例3.5】输入10个整数(每个数都≥3),打印出其中的素数。分析:素数又称质数,是指只能被1和它本身整除的整数。本题采用自顶向下、逐步细化方法来处理这个问题。先把这个问题分为三部分(如图3-14所示):①输入10个数给x1~x10;②把其中的素数找出来(或者把非素数除去)③打印出全部素数。对【例3.5】求解步骤进行细化后得到的分步骤流程图。【例3.5】的完整流程图3.4C语句概述1.说明语句说
8、明语句用来定义变量的数据类型。例如:intsign,i,n;/*说明sign,i,n是整型变量*/2.函数调用语句由一个函数调用加一个分号构成函数调用语句。如上例中的:printf("Pleaseinputanintegerton:");scanf("%d",&n);3.表达式语句在C语言中,由一个表达式加上一个
此文档下载收益归作者所有