《C语言课件二级》chapter5.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 选择结构程序设计 关系运算和逻辑运算 if语句 switch语句 程序举例 5.1 关系运算符和关系表达式 关系运算: 比较运算,是指对两个运算量之间的大小比较。 2.关系表达式 用关系运算符将两个表达式连接起来的式子. (a=6) (b=7) c d (ab)(bc) 5.2 逻辑运算符和逻辑表达式 逻辑运算 1.逻辑运算符 逻辑与(相当于AND) || 逻辑或(相当于OR) ! 逻辑非(相当于NOT) 5.2 逻辑运算符和逻辑表达式 2. 逻辑表达式 逻辑运算符将关系表达式或逻辑量连接起来,组成逻辑表达式。 例: 54 89-!3 c+32 x-6 3.8/4.5 2.6-1 5.3 if语句 一、if语句的一般形式 语句项可为单独语句,也可为复合语句(必须加花括号),else从句可选。 执行顺序: 表达式取真值(除零以外的任何值),执行if语句序列, 否则执行else语句序列(没有else,则向下执行)。 If语句形式之一: if (表达式) 语句; If语句形式之二: if (表达式) 语句; else 语句; #include stdio.h #include math.h main() { float x,y; scanf(%f, x); if(x=2) y=x*x*x+4*x+5; else y=2*log(x); printf(“y=%f\n,x,y); } 阶梯型if-else-if语句 执行顺序: 自上而下对条件进行检测,当一个条件为真时,与此条件有关的语句就被执行,且其余部分被越过去。 如无一条件为真,则执行最后一个else一个else 不存在,并且所有条件都为假,则阶梯型if-else语句不进行任何操作语句,如最后. 嵌套的if语句 指if语句中又包含一个或多个if语句. 格式: 条件运算 是一种在两个表达式的值中选择一个的操作。 格式: e1 ? e2 :e3 条件表达式 含义: 若表达式e1为真(非零),则此条件表达式的值为e2的值, e1为假, 则表达式取e3的值. 条件运算符 ? : 要三个操作数, 三元(目)运算符. 程序举例 1.求ax2+bx+c=0的根 分析: ①a=0 不是二次方程 ②b2-4ac=0,有两个相等实根 ③b2-4ac0,有两个不等实根 ④b2-4ac0,有两个共轭复根 约定:else与离它最近且无else的if相结合. else与if(x)结合需: If (x) { if (y) printf(“1”); } else printf(“2”); /* 魔数的另一种解法 */ main() { int magic=123, guess; clrscr(); scanf(%d, guess); if(guess==magic){ printf(** Right **\n); printf(%d is the magic number\n, magic); } else if(guessmagic) printf( ** Wrong ** Too High \n); else printf(** Wrong ** Too Low\n); } 5.4 switch语句 一般形式: 5.4 switch语句 switch语句 执行顺序:当表达式的值与某一常量表达式的值相等时,就执行它下面的语句,直至遇到break 或至switch的结束为止;若没有常量表达式的值与表达式的值相等,则执行default语句,此时如没有default 则整个switch不产生任何操作。 注意:同一个switch语句中,任意两个case的常量均不允许有相同的值。 例4. 简单的计算器 #include math.h main() { float v1,v2; char operator; clrscr(); printf(Type your expression as a+b:\n); scanf(%f%c%f,v1,operator,v2); switch(operator){ case +: printf(%.2f\n,v1+v2); break; case -: printf(%.2f\n,v1-v2);

文档评论(0)

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

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

1亿VIP精品文档

相关文档