您的位置:首页 > 编程语言 > C语言/C++

黑马程序员---C语言基础---关系、逻辑运算

2015-07-02 23:18 417 查看
-------
android培训、java培训IOS培训期待与您交流! ----------

1、关系运算符和关系表达式。

(1)"关系运算"其实就是比较运算,是对两个值进行比较,比较的结果是真和假两种值。如
a>3//>号为关系运算符,整个a>3是关系表达式

(2)关系运算符及其优先级。

C语言提供了6种关系运算符,他们分别是>、<、>=、<=、!=、==。

结合方向都是自左向右。

他们的优先级如下



(3)关系表达式:用关系运算符把两个表达式联系起来的式子。如
a>b;(a+b)>(c+d);5==3;

关系表达式的值是逻辑值真和假,分别用0和1表示。如
int a=2,b=3,c=1,d,f;
a<b//表达式值为1
(a>b)==c//表达式值为0
d=a>b//d=0

暖心小Tip:像a>b>c>d这样的表达式也是可以的,关系运算符的结合方向是自左向右,另外应该尽量避免浮点数之间以及浮点数和0进行比较,注意区分“=”和“==”,一个是赋值一个是比较是否相等。

2、逻辑运算符和逻辑表达式:用逻辑运算符将关系表达式或逻辑量连起来的式子就是逻辑表达式。

(1)逻辑运算符:显然是与或非,他们分别是&&、||、!,注意&&和||是双目运算符,!是弹幕运算符。

(2)逻辑运算真值表:



(3)逻辑运算符的优先级:



(4)逻辑表达式:

C语言中,0表示假,非零表示真。

5>3&&2||8<4-!0//其值为1

(5)逻辑运算中的短路问题:

逻辑表达式求值时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的值时,才去执行该运算符。如
a&&b&&c//只在a为真时才判别b的值,只有在a,b都为真时才判别c的值
a||b||c//只有在a为假是才判别b的值,只有在a,b都为假时才判别c的值

比如
a=1;b=2;c=3;d=4;m=1;n=1;
(m=a>b)&&(n=c>d)//结果m=0,n=1
综合运用:判断一年是否为闰年。
year%4==0//判断被四整除
(year%4==0)&&(year%100!=0)//被四整除同时不能被100整除
(year%400==0)//能被400整除
//综合起来:
((year%4==0)&&(year%100!=0))||year%400==0
//优化之后
(year%4==0&&year%100!=0)||year%400==0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: