條件判斷語句比較

2021-07-09 07:03:40 字數 1449 閱讀 5627

流程控制進行條件語句判斷的時候,經常用到各種資料型別的變數與零值比較的問題,這裡進行乙個總結加深對資料型別的認識,不規範的與零比較語句容易讓人對參與比較的資料型別產生誤解。

§1. 布林變數與零值比較

c++有

bool

型別,c99

標準才有布林型別

_bool

,用整型代替布林型別,非

0表示真,

0表示假,如果你的編譯器不支援布林型別,可以自定義型別

enum_bool。

不可將布林變數直接與true

、false或者1

、0進行比較,假設布林型別的名字為

flag,

它與零值比較的標準if

語句如下:

if ( flag ) //表示

flag為真

if ( !flag )  //表示

flag為假

§2. 整型變數與零值的比較

整型變數應當應用「==

」或者是「!

=」直接與零比較。假設整型變數的名字為

value,

它與零值的比較標準if

語句如下:

if ( value == 0)

if ( value != 0)

§3.浮點變數與零值比較

無論是float

還是double

型別的變數,都有精度限制,所以一定要避免將浮點變數用

「==」或「!

=」與數字比較,應該設法轉化成「

>=

」或「<=

」的形式。因為

float

會有誤差。

比如你賦了float a=0, a

有可能是

0.000000001

,存在誤差,所以使用if(

x == 0

)來判斷,經常不會成立。

float_accuracy

是允許的誤差即精度,浮點變數

a與零值比較的標準語句為:

const  float  float_accuracy = 0.00001;

if ( ( a >=  -float_accuracy) && (a <= float_accuracy) )

§4.指標變數與零值比較

指標變數的零值是空(即為null

),儘管

null

的值與0

相同,但兩者意義不同。假設指標變數的名字為

p,它與零值比較的標準語句如下:

if  (p == null)    //p與

null

顯式比較,強調

p是指標變數

if  (p != null)

if (null == p)這種寫法是程式設計師為了防止將

if (p == null)

誤寫成if (p = null)

而有意顛倒,所以這樣的寫法是有一定好處的。

if條件判斷語句

如果表示式的值是true,則執行語句塊 否則跳過語句塊。equals 下面的例子使用到的,可以看看。字串判斷不能使用 要使用方法。用來判斷記憶體位址是否相等。輸入男女,輸出boy,girl system.out.println 請輸入男or女 scanner sc new scanner syste...

條件判斷語句

語法 if condition else if condition else示例 var age 20 if age 18 else語法 表示式1 表示式2 表示式3 如果表示式1的布林值為true,則執行表示式2,否則執行表示式3。是js語言中唯一乙個需要三個運算元的運算子。示例 var age ...

條件判斷語句

條件判斷語句 使用條件判斷語句可以在執行某個語句之前進行判斷,如果條件成立才會執行語句,條件不成立則語句不執行。if語句 語法一 if 條件表示式 if語句在執行時,會先對條件表示式進行求值判斷,如果條件表示式的值為true,則執行if後的語句,如果條件表示式的值為false,則不會執行if後的語句...