您好,欢迎访问三七文档
跳转到第一页第三章C语言的流程设计第一节算法算法+数据结构=程序3.1.1算法的性质与组成要素一、算法的性质:1、解题算法是一有穷动作序列2、此动作序列只有一初始动作3、序列中每一个动作仅有一个后继动作4、序列终止表示问题得到解答或问题没有解答。TCIDE跳转到第一页第三章C语言的流程设计第一节算法二、算法的组成(操作和控制结构)1、操作:包括算术运算、逻辑运算、关系运算、函数运算、位运算、I/O操作等。2、控制结构:控制算法中各个操作的执行顺序。三种基本控制结构是:※顺序结构(顺序执行)※选择结构(比较判断)※循环结构或称重复结构(反复执行)TCIDE跳转到第一页第一节算法3.1.2算法的描述1、流程图:用一些图框表示各种类型的操作,用线表示这些操作的执行顺序。(图框举例如下图)第三章C语言的流程设计TCIDE处理判断数据准备特定处理跳转到第一页第一节算法3.1.2算法的描述2、三种控制结构流程图:第三章C语言的流程设计TCIDE处理2处理1处理1处理2处理判断YN跳转到第一页第三章C语言的流程设计第二节用C语言描述算法3.2.1表达式语句表达式语句可以分为以下三种基本类型:1、赋值语句:由赋值表达式组成。E.g.x=1;2、函数调用语句:由函数调用表达式组成。E.g.printf(“Hello,Everyone!”);3、空语句:只有一个分号而没有表达式的语句。E.g.;TCIDE跳转到第一页第三章C语言的流程设计TCIDE第二节用C语言描述算法3.2.2形成流程控制结构的语句一、选择型结构(二):(1)选择基本结构:if(表达式){语句1;}else{语句2;}跳转到第一页第三章C语言的流程设计第二节用C语言描述算法3.2.2形成流程控制结构的语句一、选择型结构(一):(2)缺省else的选择型结构:if(表达式){语句;}TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法3.2.2形成流程控制结构的语句一、选择型结构(一):(3)if条件语句的嵌套:if(表达式1){if(表达式2)语句1;else语句2;}else语句3;TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法3.2.2形成流程控制结构的语句一、选择型结构(一):(4)if-else-if结构:if(表达式1)语句1;elseif(表达式2)语句2;……else语句n;TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法3.2.2形成流程控制结构的语句一、选择型结构(二):※switch选择结构:switch(整数表达式)case(常量1)语句1;case(常量2)语句2;……default:语句n+1;TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法二、循环控制结构(3种):1、for循环(先判断后执行):语法格式为:for(初始化;条件表过式;增量){语句;}※当条件为真时,执行语句;直到条件为假才结束循环。TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法二、循环控制结构(3种):2、while循环(先判断后执行):语法格式为:while(条件){语句;}※当条件为真时,执行语句;直到条件为假才结束循环。TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法二、循环控制结构(3种):3、do-while循环(先执行后判断):语法格式为:do{语句;}while(条件);※先执行循环体语句,直到条件为假时结束循环。TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法3.2.3限定转向语句一、break语句:中止执行选择或者循环结构。二、continue语句:使本次循环的执行提前结束。三、函数调用和返回:调用将使流程转向所调用的函数体;return(返回)将使流程从被调用函数返回。TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法3.2.4goto语句goto语句是一种无条件转移语句。语法格式为:goto标号;Notes:※goto语句很少使用。※在多层嵌套退出时,会用到goto语句。TCIDE跳转到第一页第三章C语言的流程设计第二节用C语言描述算法3.2.5C基本语句一览TCIDEC语言基本语句表达式流程控制复合表达式简单表达式函数调用赋值表达式空语句形成流程控制流程转向选择结构循环结构限定转向(break;continue;return)无限定转向(goto)二分支(if…else)多分支while;do…whileforelseifswitch跳转到第一页第三章C语言的流程设计TCIDE第二节用C语言描述算法3.2.6复合语句把一组语句括在一对花括弧之中。E.g.{c=getchar();putchar(c);}3.2.7停止函数exit()(标准函数)停止当前程序运行,并返回到操作系统。跳转到第一页第三章C语言的流程设计第三节选择型程序设计3.3.1if…else结构的应用Ex3-3:求一个数的绝对值Ex3-4:求三个数中的最大者Ex3-5:求ax2+bx+c=0的根3.3.2elseif结构的应用Ex3-6:求ax2+bx+c=0的根3.3.3switch结构的应用Ex3-7:判断键盘输入为何字符的函数Ex3-8:猜字游戏TCIDE跳转到第一页第三章C语言的流程设计第四节循环型程序设计3.4.1穷举与迭代算法一、穷举(是一种重复算法)对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试完为止。※循环控制的办法:计数法和标志法。计数法:要先确定循环次数,完成循环的次数后,结束循环。标志法:达到一目标时,结束循环。Ex3-9录取新生Ex3-10搬砖问题TCIDE跳转到第一页第三章C语言的流程设计第四节循环型程序设计3.4.1穷举与迭代算法二、迭代是一个不断用新值取代变量的旧值的过程;或者说,由旧值递推出变量新值的过程。Ex3-11人口增长问题Ex3-12兔子繁殖问题Ex3-13一元方程迭代解法TCIDE跳转到第一页第三章C语言的流程设计第四节循环型程序设计3.4.2while结构及应用是一种条件循环结构。其控制结构:while(条件表达式){循环体;}※首先要对条件表达式进行计算,若其值为真,则执行循环体中的语句,否则跳过循环体。※若其值为0,则立即退出循环,即一次也不执行。Ex3-14Ex3-15印数程序Ex3-21平方根TCIDE跳转到第一页第三章C语言的流程设计第四节循环型程序设计3.4.3do…while结构及应用do…while结构的形式如下:do{循环体;}while(条件表达式);首先要执行一次循环,然后才对条件表达式进行计算和测试。若其值为真,则重复执行,若为0,则退出。TCIDE跳转到第一页第三章C语言的流程设计第四节循环型程序设计3.4.4for结构的应用一、for结构的一般形式:for(表达式1;表达式2;表达式3){循环体;}二、for结构的格式也可表示为:for(初始化表达式;条件表达式;修正表达式){循环体语句;}Ex3-22打印乘法表Ex3-25用梯形法求积分TCIDE
本文标题:C语言的流程设计
链接地址:https://www.777doc.com/doc-635642 .html