文档详情

C语言第七讲关系运算与逻辑运算if语句.ppt

发布:2017-04-17约1.29千字共20页下载文档
文本预览下载声明
第7讲;4.1 关系运算和逻辑运算 ;4.1.1 逻辑值及其在C语言中的表示 ;4.1.2 关系运算符与关系表达式 ;1.关系运算符及其优先级;2.关系表达式;1.逻辑运算符及其优先级 C语言提供了三种基本的逻辑运算符。逻辑代数的其它逻辑运算都可以转化为这三种逻辑运算的组合。 ;2.逻辑表达式; 数学表达式 0x10表示x的值应该在0到10的范围内。但在C语言中不能用0x10这样一个关系表达式来表述以上的数学关系。因为无论x是什么值,按照C语言的运算规则,左边的表达式0x的运算结果只能为0或1,因而表达式0x10的运算结果总是1。 只有用逻辑表达式0x xl0才能正确地表述以上数学关系。 ; “非完全求解”法:当求出某个逻辑运算符的左边的运算量的值就能够明确地确定这个逻辑运算的结果时,就结束求解过程,直接给出运算结果。例如: (1) a b c 若a为“假”,直接求得ab及整个表达式的值为“假”; 若a为“真”,b为“假”,ab及整个表达式的值为“假 ”。 只有当a为“真”时,才需要判别b的值;只有当ab的值为“真”时,才需要判别c的值。 (2) a || b || c 若a为“真”,直接求得 a || b及整个表达式的值为“真”; 若a为“假”,b为“真”, a || b及整个表达式的值为“真”; 只有当a为“假”时,才需要判别b的值;只有当a||b的值为“假”时,才需要判别c的值。 ;例:“非完全求解”;4.2 if语句;main() {int n1, n2, n3, max ; printf(Please input three numbers:); scanf(%d,%d,%d ,n1,n2,n3); if (n1n2) max=n1; else max=n2; if (n3max) max=n3; printf(max=%d\n,max); };例4.2 输入三个整数,在变量a,b,c中排序;; 在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子句,那么将不进行任何操作。 ;例4.3 ;(2) 在if子句中嵌套不含else子句的if语句 ;例4.4 编写一程序实现符号函数的功能。 ;
显示全部
相似文档