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