《C语言程序设计教程(第2版)课件第3章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程(第2版)课件第3章.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第章第章 基本算法基本算法本章要点本章要点:算法的特征算法的特征算法的表示方法算法的表示方法程序设计的基本算法程序设计的基本算法掌握程序的基本结构掌握程序的基本结构.1 程序与算法程序与算法程序包括程序包括:(1)对数据的描述对数据的描述 数据结构数据结构 (2)对数据处理的描述对数据处理的描述 算法算法算法算法(algorithm)是对特定问题求解步是对特定问题求解步骤的一种描述。骤的一种描述。可将程序总结为:可将程序总结为:程序程序=算法算法+数据结构数据结构+程序设计方法程序设计方法+语言工具和环境语言工具和环境C语言算法的主要特点如下:语言算法的主要特点如下:1.有穷性一个算法应该包含
2、有限的操作步骤,而不有穷性一个算法应该包含有限的操作步骤,而不能是无限的。能是无限的。2.确定性算法中的每一个步骤应当是确定的,而不确定性算法中的每一个步骤应当是确定的,而不应当是含糊的,应是十分明确无误的。应当是含糊的,应是十分明确无误的。3.有有0个或多个输入。个或多个输入。4.有一个或多个输出。有一个或多个输出。5.有效性算法中的每一个步骤都应当有效的执行,有效性算法中的每一个步骤都应当有效的执行,并得到确定的结果并得到确定的结果。.2 算法的特征算法的特征 3.3 算法的表示方法算法的表示方法(1)自然语言描述法自然语言描述法(2)传统的流程图表示传统的流程图表示 常用符号有常用符号有
3、:(3)N-S流程图表示流程图表示(4)伪代码表示算法伪代码表示算法(5)计算机语言表示算法计算机语言表示算法起止框输入/输出框判断框处理框流程线连接点一、顺序结构一、顺序结构 BA (a)AB (b)先执行A操作,再执行B操作,两者是顺序执行关系。N-S结构流程图结构化程序设计的三种基本机构结构化程序设计的三种基本机构二、选择结构二、选择结构当P条件为真时,执行A模块,否则执行B模块。APB真假(a)P真假AB(b)三、循环结构三、循环结构当P条件成立时,反复执行A,直到P为假。1.当型循环结构当型循环结构PA假真(a)当P为真A(b)当P为真2.2.直到型循环结构直到型循环结构先先执行执行
4、A操作,再判断操作,再判断P是否为假,若是否为假,若P为假,再执为假,再执行行A,直到直到P为真为止。为真为止。AP假真(a)A直到直到P为真为真 (b)算法举例算法举例1:对一个大于:对一个大于2的正整数,判断它是不是一个素数。的正整数,判断它是不是一个素数。方法:将方法:将 n(其中其中n 2)作为被除数,作为被除数,将将2 到(到(n-1)各个整数轮各个整数轮流作为除数,如果都不能被整除,则流作为除数,如果都不能被整除,则n为素数。为素数。算法表示如下:算法表示如下:S1:输入输入n的值的值S2:2 i (i 作为除数)作为除数)S3:n 被被 i 除,得余数除,得余数 rS4:如果如果
5、 r 等于等于 0,表示表示 n 能能 被被 i 整除,则打印整除,则打印 n“不是素数不是素数”,算法结束;否则执行,算法结束;否则执行S5S5:i+1 i S6:如果如果 i n-1,返回返回S3;否则,打印否则,打印 n“是素数是素数”,算法结束。,算法结束。算法举例算法举例2:求:求 1-1/2+1/3 1/4+1/99 1/100。S1:1 signS2:1 sumS3:2 denoS4:(-1)*sign signS5:sign*(1/deno)termS6:sum+term sumS7:deno+1 denoS8:若若deno 100 返回返回S4;否则算法结束。否则算法结束。算
6、法举例算法举例3:用伪代码表示算法:用介于自然语言和计算用伪代码表示算法:用介于自然语言和计算机语言之间的文字和符号来描述算法机语言之间的文字和符号来描述算法 BEGIN 1 =i while(i 50)input ni和和gi i+1=i 1 =i while(i 50)if(gi =80)print ni和和gi i+1=i END 算法举例算法举例4:用计算机语言表示算法用计算机语言表示算法 求 1-1/2+1/3 1/4+1/99 1/100。S1:1 sS2:1 sumS3:2 dS4:(-1)*s sS5:s*(1/d)tS6:sum+t sumS7:d+1 dS8:若若d 100
7、 返回返回S4;否则算法结束。否则算法结束。main()int s=1;float d=2.0,sum=1.0,t;while(d=100)s=-s;t=s/d;sum=sum+t;d=d+1;printf(“%f”,sum);.本章小结本章小结(1)算法是程序的灵魂,计算机程序设计的实质是算法的设计算法是程序的灵魂,计算机程序设计的实质是算法的设计。(2)C语言算法的特点是:语言算法的特点是:有穷性有穷性 确定性确定性 有有0个或多个输入个或多个输入 有一个或多个输出有一个或多个输出 有效性有效性(3)算法的表示算法的表示 用自然语言表示用自然语言表示 用流程图表示算法,三种最基本的程序设计算法用流程图表示算法,三种最基本的程序设计算法为:顺序结构,选择结构和循环结构。为:顺序结构,选择结构和循环结构。