C语言第7讲关系运算与逻辑运算if语句.ppt_第1页
C语言第7讲关系运算与逻辑运算if语句.ppt_第2页
C语言第7讲关系运算与逻辑运算if语句.ppt_第3页
C语言第7讲关系运算与逻辑运算if语句.ppt_第4页
C语言第7讲关系运算与逻辑运算if语句.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7讲 关系运算与逻辑运算 if 语句 4.1 关系运算和逻辑运算 4.2 if语句 第四章 选择结构程序设计 4.1.1 逻辑值及其在C语言中的表示 关系运算和逻辑运算的运算结果都是一个逻辑 值,逻辑值只有两个值,即:“真”和“假”。在C 语言中,用数值1来表示“真”,用数值0来表示“ 假”。 因此逻辑值也可以作为一个整数参与算术运算 。反之,对于参与关系运算或逻辑运算的任意一 个表达式,如果该表达式的值为零,就代表一个 逻辑“假”值;只要表达式的值不是零,无论是正 数还是负数,都代表一个逻辑“真”值。 4.1.2 关系运算符与关系表达式 所谓“关系运算”实际上就是“比较运算”,即 将两个数据进行比较,判定两个数据是否符合给 定的关系。 例如,“a b”中的“”表示一个大于关系运 算。如果a的值是8,b的值是5,则这个关系运 算的结果为“真”,即数值1,表示条件成立;如 果a的值是6,b的值是9,则运算的结果为“假” ,即数值0 ,表示条件不成立。 1关系运算符及其优先级 C语言提供了六种关系运算符,如表4.1所示。 注意:有些运算符是由 两个字符组合而成的,如 :n3的值为1。 (4)关系表达式n1= n2n3的值等为0。 注意:由于存在存储误差和转换误差,不能直接用关 系运算符“=”来判断两个实型数是否相等。 单精度实数:fabs(x-y)y)为真的条件下,若a值为10,b 值为16,表达式(ab) else max=n2; if (n3max) max=n3; printf(“max=%dn“,max); 程序运行情况如下: Please input three numbers:11,22,18 max=22 例4.1 输入三个整数,求最大值 /*简化形式*/ max=n1; if (n2max) max=n2; 例4.2 输入三个整数,在变量a,b,c中排 序 main() int a, b, c, t; printf (“input a, b, c: “); scanf (“%d %d %d “, if (ab) t=a; a=b; b=t; if (ac) t=a; a=c; c=t; if (bc) t=b; b=c; c=t; printf (“a=%d, b=%d, c=%dn “, a, b, c); 程序运行情况如下: input a, b, c: 62 34 24 a=62,b=34,c=24 a=24,b=34,c=62 if语句中的if子句和else子句可以是任意合法 的C语句,当然也可以是另外一个if语句,通常称 这种语句为嵌套的if语句。 内嵌的if语句既可以嵌套在if子句中,也可以嵌 套在else子句中。在运用嵌套的if语句时,应该 特别注意else子句和if子句的配套问题。如果在 嵌套的if语句中没有用一对花括号强制地结束某 个内嵌的不带else子句的if语句,则else子句总 是与在它前面的、离它最近的、尚未与其它else 子句匹配的if子句相匹配。 以下介绍两种值得关注的嵌套if语句。 2. 嵌套的if语句 在if语句的else子句中嵌套多个具有else子句的if语句 语句形式如下: if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else if(表达式4) 语句4 . else 语句n 执行过程:从上向下逐一对if后的表达式进行检测,当其 中某一个表达式的值为非零时,就执行与之对应的if子句,阶 梯形子句中的其余部分就被跳越过去。如果所有表达式的值都 为零,则执行最后的else子句,即语句n;如果最内层的if语 句没有else子句,那么将不进行任何操作。 (1) 用嵌套的if语句形成多分支语句 例4.3 编写程序,根据输入的学生成绩,给出相应的等级 。90分以上的等级为A,60分以下的等级为E,其余每 10分为一个等级。 main( ) int g; printf(“ Enter g:“); scanf(“ %d “ , printf(“ g=%d: “ , g); if(g=90) printf(“ An “); else if(g=80) printf(“ Bn “); else if(g=70) printf(“ Cn “); else if(g=60) printf(“ Dn “); else printf(“ En “); 程序运行情况如下: Enter g:78 g=78:C (2) 在if子句中嵌套不含else子句的if语 句 用花括号把内层if语句括起来后,使得此内层 if语句在语法上成为一条独立的语句,从而使得 else子句只能与外层的if配对。 注意:if子句中的花括号 if(表达式1) if(表达式2) 语句1 else 语句2 语句形式如下: if (表达式1) if(表达式2) 语句1 else 语句2 例4.4 编写一程序实现符号函数的功能。 main() int x, y ; printf(“Enter x:“);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论