- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函数和控制结构
第三章变量、函数和控制结构 包含一个/多个函数定义的程序模式: #include … …… /* 函数定义写在这里 */ int main () { …… /* 主程序体,包含函数调用 */ } 建议写程序时采用这种形式。 3.4 关系表达式/逻辑表达式/条件表达式 已有机制的编程能力还很弱。 例如需要写一个函数,返回两参数中的较大值: double dmax (double, double) 需要: 比较数据大小(判断) 根据判断结果决定做什么(分情况处理) 本节主要讨论如何描述逻辑判断,判断的结果如何确定,怎样利用逻辑判断控制计算进程。 关系运算符/关系表达式 关系运算符共 6 个: = = 大于/大于等于/小于等于/小于 == != 等于/不等于 关系运算符可用于算术类型。 如果被比较对象的类型不同,按算术运算规则转换后再做判断。关系的成立与否(真/假): 3.2 = 2.9 y != x + 1 优先级低于二元算术运算符,高于赋值;==、!= 低于其他四个运算符。自左向右结合,未规定对象计算顺序。 关系表达式运算结果 C语言没有专门表示关系运算结果的类型,关系运算的结果为 int,成立/不成立时值分别是1/0。 (3.24 = 2.98) 的值是 int 类型的 0; (5 != 3 + 1) 的值是 int 类型的 1。 关系式的结果是成立/不成立,逻辑上的真/假。 C语言中所有基本类型的值都可当作逻辑值用,规定: 值等于0表示逻辑值“假” 非0值都作为逻辑值“真” 一般不采用连续写关系算符的形式(容易误解),例: 5 = 3 = 2 条件运算符“?:”。条件表达式的语法形式: 表达式1 ? 表达式2 : 表达式3 语义(计算方式特殊): 先算表达式1(条件); 条件成立时算表达式2,以其结果作为条件表达式的值 条件不成立算表达式3,以其值作为条件表达式的值 注意:条件成立时不算表达式3;不成立时不算表达式2 函数 dmax 的定义: double dmax (double x, double y) { return x y ? x : y; } 符号函数 sign对应的C函数: double sign (double x) { return x 0 ? 1 : (x == 0 ? 0 : -1); } 特殊的运算顺序: z = x != 0 ? y/x : 1; 当x值非0时,变量z将被赋予y/x的值,否则z赋值1。 复杂条件的描述:逻辑表达式 复杂关系,如: 3≤x≤5 时 z 取值 2,否则取值 1。 可用关系表达式和条件表达式描述: z = (x = 3 ? (x = 5 ? 2 : 1) : 1); 用关系表达式和条件表达式足以描述所有可能的复杂条件。但描述可能比较复杂,不太直观。 用逻辑运算符可直接描述多个条件同时成立/多个条件之一成立/某个条件不成立等复杂条件。 三个逻辑运算符: !、 和 ||表示 “否定”/“并且”/“或者” ! 是一元, 和 ||是二元。 !表达式 表达式看作逻辑值,以该值的否定为结果 表达式1 表达式2 两表达式的值都非0时,结果为1,否则为0。 表达式1 || 表达式2 两表达式的值都为0时,结果为0,否则为1。 z = (x = 3 x = 5 ? 2 : 1); 和||的计算方式:先算左边运算对象,如果可确定结果,右边运算对象将不计算。 逻辑表达式计算结果都是整型的 0 或 1。 否定的优先级同其他一元运算符; 优先级高于||,低于关系运算符。 例: x != 0.0 y/x 1.0 求值时不会出现除0问题。 例:根据运算符优先级关系,逻辑表达式: (((x+3)(y+z)) (y10)) || (y12) 写为下面形式意义不变。 x + 3 y + z y 10 || y 12 例:判断变量 year 的值是否表示闰年的年份。 year%4==0 year%100!=0 ||year%400==0 为便于阅读,可适当加括号。 人们常在程序里定义完成判断的函数。通常令判断函数返回1 / 0值(int)表示条件成立与否。 判断年份是否闰年的函数: int IsLeapYear (int year) { return (year%4==0 year%100!=0 || year%400 == 0 ? 1 : 0); } 逻辑表达式的值就是1和0。函数可简写为: int IsLeapYear (int year) { return (year%4==0 year%100!=0 || year
您可能关注的文档
- 94年资讯融入教学.ppt
- 新课程教学艺术与实践.ppt
- 教学艺术论—— 小学提问技巧的原则和方法.ppt
- 数位相机与教学即时应用.ppt
- 教学业务辅导材料.ppt
- 教学过程设计(第四章).ppt
- 构建新型教学结构.ppt
- 浅谈ABA实务教学经验分享.ppt
- 携手合作创新教学.ppt
- 2005年教学工作会议讲话.ppt
- 人教版八年级上册数学精品教学课件 第十三章 三角形 章末整合练.ppt
- 人教版八年级上册数学精品教学课件 第十五章 轴对称 15.3 等腰三角形-15.3.1 等腰三角形-第2课时 等腰三角形的判定 (4).ppt
- 人教版八年级上册数学精品教学课件 极速提分法 第17招 整体思想在解题中的七种技巧.ppt
- 人教版八年级上册数学精品教学课件 第十五章 分式 专项突破9 分式方程的解在求字母的值或取值范围中的常用技巧.ppt
- 人教版八年级上册数学精品教学课件 第十八章 分式 18.3 分式的加法与减法-第1课时 分式的加减.ppt
- 人教版八年级上册数学精品教学课件 第十四章 全等三角形 14.1 全等三角形及其性质 (4).ppt
- 七年级作文成长的经历(11篇).docx
- 法律责任豁免声明及工作证明函(6篇).docx
- 叙事作文那是一次难忘的尝试750字通用14篇.docx
- 沙滩里的秘密500字(14篇).docx
文档评论(0)