if語句的書寫規範

2021-08-15 16:00:56 字數 1556 閱讀 4578

一  bool值和零比較

bool型別是在c99標準中才引入的乙個語法特點,用的很少,一般情況下我們都使用整形變數來充當bool變數的角色

int flag;

if (flag == true)

if (flag == false)

上面這個是錯誤寫法。 因為在c語言中bool值的語義是:0表示假,非0表示真

# define false  0

#define true   1

但是flag是個整數,可以被賦值為很多值 2 3 4或其他非0值。比如flag本來是5,表示真,但是這裡和true(1)比較的時候就為假;邏輯錯誤。

正確寫法如下

int flag;

if (flag)//如果是真

if (!flag)//如果是假

二  整形變數和零值比較

如果乙個變數就是整形(不表示真假),如何跟0比較?

int num = 10;

if (num == 0)

三  指標和零進行比較

int *p = null;

if (p != null)

四  浮點型和零值比較

#define exp 0.00000000000000000001//表精度

float f = 0.00001;

if ((f > -exp) && (f < exp))

擴充套件:判斷乙個浮點數是否等於21.0

#define exp 0.00000000000000000001//表精度

float f = 0.00001;

if ((f-21.0 > -exp) && (f-21.0 < exp))

面試題1.請寫出bool flag與」零值「比較的if語句

標準答案:

if(flag)

if(!flag)

如下寫法均屬不良風格,不得分

if(flag==true)

if(flag==1)

if(flag==false)

if(flag==0)

2.請寫出char *p與「零值」比較的if語句

if(p==null)

if(p!=null)

如下均屬於不良風格,不得分

if(p==0)

if(p!=0)

if(p)

if(!p)

3.請寫出float x與「零值」比較的if語句

const float epsinon    0.00001

if((x>=-epsinon)&&(x<=epsinon))

如下是錯誤寫法不得分

if(x==0.0)

if(x!=0.0)

這時無意間發現了乙個被忽視的知識點。

sql語句書寫規範

一 sql書寫規範 1 sql語句的所有表名 欄位名全部小寫,系統保留字 內建函式名 sql保留字大寫。2 連線子or in and 以及 等前後加上乙個空格。3 對較為複雜的sql語句加上注釋,說明演演算法 功能。注釋風格 注釋單獨成行 放在語句前面。1 應對不易理解的分支條件表示式加注釋 2 對...

ecshop除錯php語句書寫規範

在除錯中我們經常使用 var dump val die 輸出變數。但是變數多的時候有時候會顯示不全,因此,有些朋友會選擇 print r print r val die 但是,這樣內容都輸出出來了,但是不工整,格式化一下 echo print r val echo die 這樣子各個變數就都可以很好...

CSS 書寫規範

本文是參考了css森林中的規範,並結合之前幾個專案積累所書寫的乙個基本規範。不敢說是原創,所以鄭重感謝一下css森林。同時,本文件也處於持續改進中。1.基本 css檔案中,選擇器書寫按照 標籤 標籤偽類 id 類 覆蓋 排序,同一型別寫在一起 進行覆蓋時,也按照這樣乙個順序。css定義中,屬性的書寫...