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