c語言中的邏輯表達式?
邏輯表達式是指運算符為或||、與&&、非!的表達式。返回值為0或1,0表示daofalse,非0表示true. 例如!0返回1,0&&1返回0,0||1返回1。
關系表達式是指運算符為<,<=,>,>=,==,!=的表達式。返回值同樣為0或1,例如a!=b,a>=0等。
C語言用整數"1"表示"邏輯真"、用"0"表示"邏輯假"。但在判斷一個數據的"真"或"假"時,卻以0和非0為根據:
如果為0,則判定為"邏輯假";如果為非0,則判定為"邏輯真"。
例如,假設num=12,則: !num的值=0 ,num>=1 && num<=31的值=1 ,num || num>31的值=1。
邏輯運算符兩側的操作數,除可以是0和非0的整數外,也可以是其它任何類型的數據,如實型、字符型等。
短路原則:非常重要,在計算邏輯表達式時,只有在必須執行下一個表達式才能求解時,才求解該表達式(即并不是所有的表達式都被求解)。換句話說:
對于邏輯與運算,如果第一個操作數被判定為"假",系統不再判定或求解第二操作數;對于邏輯或運算,如果第一個操作數被判定為"真",系統不再判定或求解第二操作數。
擴展資料:
C語言邏輯表達式注意:
由于浮點數在計算機中不能非常準確地表示,所以,判斷兩個浮點數是否相同時,通常不使用關系運算符“等于”(==),而是利用區間判斷方法來實現。為了判斷x是否等于5.003,可利用如下邏輯表達式:x>5.002 && x<5.004。
當此邏輯表達式為“真”時,就可以認為x等于5.003
邏輯及性質保真性:所有變量的真值皆為“真”的命題在邏輯或運算后的結果為真。保假性:所有變量的真值皆為“假”的命題在邏輯或運算后的結果為假。