c3顺序结构程序设计.ppt

上传人:za****8 文档编号:13189224 上传时间:2020-06-06 格式:PPT 页数:39 大小:357.50KB
返回 下载 相关 举报
c3顺序结构程序设计.ppt_第1页
第1页 / 共39页
c3顺序结构程序设计.ppt_第2页
第2页 / 共39页
c3顺序结构程序设计.ppt_第3页
第3页 / 共39页
点击查看更多>>
资源描述
第三章顺序结构程序设计,1利用计算机解决实际问题的步骤,2算法的概念,3结构化程序设计,本章内容,4C+语句,5C+的输入与输出,6顺序结构程序设计,1利用计算机解决实际问题的步骤,算法分析,最有效的方法,问题,选择实现语言,运行程序,分析、论证,算法流程,结束,测试程序,2算法的概念,一、算法的概念,程序,对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构,对操作的描述:即操作步骤,也就是算法,算法:为解决一个问题而采取的方法和步骤,称为“算法”它是程序设计的灵魂,是解决“做什么”和“怎么做”的问题,处理的对象是数据,2算法的概念,二、算法的特性,1、有穷性2、确定性3、有效性/可行性4、有零个或多个输入5、有一个或多个输出,2算法的概念,三、算法的表示,自然语言表示法传统流程图表示法NS结构化流程图伪代码PAD图等,2算法的概念,三、算法的表示,1、自然语言表示法例:对于一个大于等于3的正整数,判断其是否素数算法如下:S1:输入n的值S2:i2作为除数S3:n被i除,得余数rS4:如果r0,表示n能被i整除,则打印“不是素数”,算法结束;否则,继续下一步S5:i1iS6:如果in1,返回执行S3;否则,打印“是素数”,算法结束,2算法的概念,三、算法的表示,2、传统流程图表示法,传统流程图表示前例,2算法的概念,三、算法的表示,3、算法的三种基本结构,Bohra和Jacopini提出了以下三种基本结构:顺序结构、选择结构、循环结构用这三种基本结构作为表示一个良好算法的基本单元。,顺序结构,选择结构,三种基本结构,当型(While型)循环,直到型(Until型)循环,三种基本结构,三种基本结构的共同特点:,2算法的概念,三、算法的表示,3、算法的三种基本结构,(1)只有一个入口;(2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。)(3)结构内的每一部分都有机会被执行到;(4)结构内不存在“死循环”(无终止的循环)。,2算法的概念,三、算法的表示,3、NS结构化流程图,1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称N-S结构化流程图。,N-S流程图用以下的流程图符号:,(1)顺序结构,(2)选择结构,(3)直到型循环,(3)当型循环,N-S图表示算法的优点,比文字描述直观、形象、易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N-S流程图中的上下顺序就是执行时的顺序。用N-S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。,3结构化程序设计,一个结构化程序就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、便于阅读、便于修改和维护。结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。,结构化程序设计方法,采取以下方法来保证得到结构化的程序:自顶向下;逐步细化;模块化设计;结构化编码。,两种不同的方法:自顶向下,逐步细化;自下而上,逐步积累。,自顶向下,逐步细化方法的优点:考虑周全,结构清晰,层次分明,作者容易写,读者容易看。如果发现某一部分中有一段内容不妥,需要修改,只需找出该部分修改有关段落即可,与其它部分无关。我们提倡用这种方法设计程序。这就是用工程的方法设计程序。,模块设计的方法:模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务就相对简单了。在拿到一个程序模块以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以划分为更小的模块。这个过程采用自顶向下方法来实现。子模块一般不超过50行划分子模块时应注意模块的独立性,即:使一个模块完成一项功能,耦合性愈少愈好。,4C+语句,一、语句的概念,C+语句用来向计算机系统发出操作指令,它都是用来完成一定操作任务的。,二、C+语句的分类,声明语句执行语句空语句复合语句,二、C+语句的分类,1、声明语句对变量及其它对象的定义,可以出现在函数中的任何行,也可放在函数外如:inta,b;,2、执行语句通知计算机完成一定的操作包括控制语句、函数和流调用语句、表达式语句,2、执行语句,(1)控制语句完成一定的控制功能,if()else条件for()、while()、dowhile()循环continue、break结束循环switch多分支选择语句goto跳转语句return从函数返回语句,二、C+语句的分类,2、执行语句,(2)函数和流对象调用语句由一次函数调用加一个分号构成一条语句例max(a,b);coutx变量2变量n;,说明(1)cout可分写成若干行,coutThisisasimpleC+program.endl;,coutThisisaC+program.endl;,coutThisis;coutaC+;coutprogram.;coutendl;,(2)不能用一个插入运算符“abcd;,cinabcd;,cina;cinb;cinc;cind;,(5)cin输入时系统会根据变量的类型从输入流中提取相应长度的字节,charc1,c2;inta;floatb;,cinc1c2ab;输入:123456.78,用cin语句得不到空格和回车字符,2、输入输出流的控制符P53表3.1如使用控制符,还需在程序开头加#include,一、输入流与输出流,例:输出双精度输出整数例3.1,二、getchar和putchar,1、字符格式输出函数putchar(),功能:向终端输出一个字符形式:putchar(参数)参数:可以为常量,也可以为变量,还可以是任意整型表达式,参数的值代表的是某字符对应的ASCII码值,也可输出转义字符使用时需加头文件#include例P55例3.2,二、getchar和putchar,2、字符格式输入函数getchar(),功能:从终端输入一个字符形式:getchar()无参数,函数的值就是从输入设备得到的字符,得到的字符可以赋给一个字符变量或整型变量;也可以不赋给任何变量,作为表达式的一部分使用时需加头文件#include例P56例3.3,三、scanf和printf,1、输出函数printf()功能:向终端输出若干个任意类型的数据,格式:printf(格式控制,输出表列)输出表列:需要输出的数据,可以是表达式格式控制:用双引号括起来的字符串(包括格式说明、普通字符)格式说明:由“”和格式字符组成,将输出的数据转换为指定的格式输出普通字符:需要原样输出的字符,三、scanf和printf,2、据输入函数scanf()功能:从输入设备向计算机输入任意类型的数据到相应的变量中,格式:scanf(格式控制,地址表列)格式控制:同printf(),普通字符需原样输入地址表列:由若干个地址组成的表列,可以是变量的地址,或字符串的首地址例P57例3.4,6顺序结构程序设计,例3.5求一元二次方程ax2+bx+c=0(b2-4ac0)的根,3顺序结构程序设计,例5.19将任意小写字母,转换为对应的大写字母并输出。,本章结束,作业:P852、3、4、5,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!