第3章_C语言程序的流程控制.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章_C语言程序的流程控制

第3章 C语言程序的流程控制 主要内容 3.1 算法 3.2 判断 3.3 选择型程序设计 3.4 循环型程序设计 3.1 算法 一个程序应包括: 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure) 对操作的描述。即操作步骤,也就是算法(algorithm) Nikiklaus Wirth提出的公式: 数据结构+算法=程序 3.1.1 算法的组成要素与基本性质 1. 算法的性质:算法就是进行操作的方法和步骤,算法有如下一些性质: ①是一有穷动作序列; ②此动作序列只有一个初始动作; ③序列中每一动作仅有一个后继动作; ④序列终止表示问题得到解答或问题没有解答 2. 算法的组成要素 操作。在高级语言中所描述的操作主要是包括:算术运算、逻辑运算、关系运算、函数运算、位运算、I/O运算等。 控制结构。控制结构是指如何控制组成算法的一系列操作的执行顺序。结构化程序设计方法由三种基本控制结构组成:顺序结构、选择结构和循环结构。 3.1.2 算法描述工具 1. 流程图 2 N-S图 灵活的流线是程序中隐藏的祸根。针对这一弊病,1973年I.Nassi和B.Shneiderman 提出了一种无流线的流程图,称为N-S图。 3. 伪代码 伪代码是介于自然语言与计算机语言之间的文字符号算法描述的工具。它无固定的、严格的语法规则,通常是自然语言与程序设计语言的混合体。 过程:“做什么”———“如何做” 3种基本结构 3.2 判断 3.2.1 命题的“真’、“假’与C语言中的逻辑值 C语言用非0值表示“真”(通常为1), 用0值表示“假”。 3.2.2关系运算与关系表达式 小于 = 小于或等于 大于 = 大于或等于 == 等于 != 不等于 双目、左结合性 两个优先级:,=,,=的优先级高于==和!= 关系运算符的优先级低于算术运算符 关系表达式例题 设: char c=k; int i=1,j=2,k=3,z; z=3-1=i+1=j+2; z=5278; z=i+(j%4!=0); z=a+5c; 注意事项 在判定两个浮点数是否相等时,由于存储误差,会出现错误的结果。 例如: 1.0/3.0*3.0 = = 1.0 应改为: fabs(1.0/3.0*3.0)1e-5 3.2.3逻辑运算与逻辑表达式 1) 与运算 2) || 或运算 3) ! 非运算 || 双目、左 ! : 单目、右 基本逻辑运算真值表 2 常用的逻辑运算规律 0||a = = a 1a = = a 1||a = = 1 0a = = 0 a||!a = =1 a!a= = 0 a||a = = a aa= = a !(a||b) = = !a!b !(ab)= = !a||!b !!a= =a 一些例题 char c=k; int i=1,j=2,k=3; float x=3e+5,y=0.85; int z; z= !!! x; z= ij xy; z= i==5 c (j=8); z= x+y || i+j+k; z= k-3 j++; z= k-2 || j++; 3.3 选择程序设计 3.3.1 if…else结构的应用 if (expression) statement1 else statement2 例3.3 求绝对值 S1: 输入一个数 S2: 求其绝对值 S3: 输出绝对值 例3.3 求绝对值程序 #include stdio.h void main(void) { double x; scanf(%lf,x); if(x0.0) x=-x; printf(The absolute value is %lf\n,x); } 输入两个整数,输出其中的大数 S1: 输入两个整数 S2: 求较大者 S3: 输出较大者 例3.4 在3个数中取最大数 S1: 输入3个数 S2: 求最大数 S3: 输出最大数 例3.4 在3个数中取最大数程序 #include stdio.h void main(vodi) { int x,y,z,max; scanf(%d%d%d,x,y,z); if(xy)max=x; else max=y; if(maxz); else max=z; printf(Max=%d\n,max); } 例3.4 在3个数中取最大数(2) 例3.5 解一元二次方程 3.3.2 if-else if结构的应用 例3.6 分数→等级 3.3.3 switch结

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档