C语言程序设计第3章[精].ppt
文本预览下载声明
第三章 C语言程序的流程控制 3.1 算 法 一. 算法的概念 算法:解决问题确定的方法和有限的步骤称作为算法。 三. 结构化程序设计 四. 算法的描述 四. 算法的描述 用流程图描述程序的三种基本结构 用流程图描述程序的三种基本结构 用流程图描述程序的三种基本结构 例3.1 用流程图描述从三个数中取最大数的算法。 四. 算法的描述 四. 算法的描述 四. 算法的描述 小 结 算法概念 算法特性 结构化程序设计:顺序、选择、循环结构 算法的描述:标准流程图、N-S图、伪代码 交换两个数算法 求一系列数最大值的算法 3.2关系运算符和关系表达式 3.2关系运算符和关系表达式 二、关系表达式 关系表达式的值为逻辑值,“真”或“假”. 注意: C语言没有逻辑型数据,关系表达式的真、假 是以数值“1”代表“真”,以“0”代表“假”。 [例]:设 a=3, b=2, c=1,求下列表达式的值? cb; (a-b)==1; b+ca; f=abc; (自左至右 ) 3.2关系运算符和关系表达式 练 习 1. 设有变量定义 int z; 分析 z%2==0 的值? 如果z为偶数,则 z%2==0的值为1; 否则z为奇数,则 z%2==0的值为0; 因此,z%2==0是断言“z是偶数”的c语言判断式。 2. x与y的个位数字相同 x%10==y%10 3.3 逻辑运算与逻辑表达式 3.3 逻辑运算与逻辑表达式 3.3 逻辑运算与逻辑表达式 小 结 关系运算符--优先级、结合性 关系运算表达式结果是逻辑值:以数值“1”代表“真”,以“0”代表“假” 逻辑运算符--优先级、结合性 逻辑运算表达式结果逻辑值 可以用来表示选择或循环条件 3.4 选择型程序设计 说出下列程序的输出结果: #include stdio.h main() { int a; scanf(%d,a); if (a50) printf(%d,a); if (a40) printf(%d,a); if (a30) printf(%d,a); } 写一程序,判断某一年是否闰年。 二、 if···else if结构 二、 if···else if结构 二、 if···else if结构 二、 if···else if结构 三、 switch 语句 三、 switch 语句 三、 switch 语句 三、 switch 语句 运输公司对用户计算运费。距离(s)越远,每公里运费越低。折扣为d (discount),每公里每吨货物的基本运费为p (price),货物重w (weight),总运费f (freight) , f=p * w * s * (1- d), 标准如下: 四、条件运算符 将输入的大写字母转换为小写字母。 main( ) {char ch; scanf(“%c”, ch); ch=(ch=‘A’ ch=’Z’)? (ch+32):ch; printf(“%c”, ch); } 输入 A 输出 a 四、条件运算符 #include stdio.h int main(void) { float a,b; printf (″input 2 relas please:″); scanf (″%f%f″,a,b); printf (″The max is %f\n″,a>b?a:b); return 0; } 小 结 if语句实现单分支 if-else语句实现两个分支 switch-break语句实现多分支 嵌套if语句可以实现复杂的分支结构(注意else与哪个if 结合) 条件表达式 3.5 循环结构程序设计 一. 迭代与穷举算法 1、迭代:是一个不断用新值取代变量的旧值,或由旧值递推出变量的新值的过程。 迭代与下列因素有关: 初值; 迭代公式; 迭代次数或迭代终止标志。 例3.13 兔子繁殖问题。 设有一对新生兔子,从第三个月开始它们每个月都生一对兔子。按此规律,并假设没有兔子死亡,一年后共有多少对兔子。 人们发现每月的兔子数组成如下数列: 1,1,2,3,5,8,13,21,34,… 并把它称为Fibonacci数列。 一. 迭代与穷举算法 一. 迭代与穷举算法 上述算法可以描述为 fib1=fib2=1 (1) fibn=fibn-1+fibn-2
显示全部