C語言實戰105例子——例項4邏輯運算子計算器
阿新 • • 發佈:2018-12-16
解析: 使用邏輯運算子& & 和II的時候注意一些較為特殊的屬性。由& & 和II連線的表示式按從左到 右的順序進行求值,並且,在知道結果值為真或為假後立即停止計算。
eg:
#include <stdio.h> #include <math.h> #include<stdlib.h> int main() { int x = 25, y = 25 , z = 30; float f = 25.095, h = 25.095; printf("*************************************\n"); printf("** This is a logical calculator: **\n"); printf("*************************************\n"); if ( x == y )/*比較整數*/ printf("x == y\n"); else printf("x != y\n"); if ( x != z) printf("x != z\n"); else printf("x == z\n"); if ( x == f)/* 比較整數和浮點數*/ printf("x == f\n"); else printf("x != f\n"); if ( f == h) printf("f == h\n"); else printf("f != h\n"); if ( f == 25.095)/*浮點數比較,注意計算機中的浮點變數的非精確表示*(浮點數的比較方法不正確)*/ printf("f == 25.095\n"); else printf("f != 25.095\n"); if ( fabs (f - 25.095) <= 0.0001)/*比較浮點數的正確做法,在一個範圍內比較*/ printf("f == 25.095\n"); else printf("f != 25.095\n"); if ((x != y) && (f != h))/*演示& & 和||邏輯運算子的使用*/ printf("x != y and f != h\n"); else if (( x != z) || (h != z)) printf("x != z or h != z\n"); scanf("%d",x); system("pause"); return 0; }
歸納總結 1)關係運算符“==”與賦值運算子“=”別寫錯
2)對於浮點數的判斷問題