C語言再學習4——if&else&switch&case

前言:

爲了方便查看博客,特意申請了一個公衆號,附上二維碼,有興趣的朋友可以關注,和我一起討論學習,一起享受技術,一起成長。

在這裏插入圖片描述


1. bool 變量與“零值”進行比較

定義:

#define FALSE 0
#define TURE  1

bool bTestFlag = FLASE;

推薦寫法:

if (bTestFlag) ; if (!bTestFlag)

if 語句是根據其後面括號裏的表達式的值進而進行跳轉的。如果表達式爲真,則執行 if 語句後面的代碼,否則不執行;

2. float 變量與“零值”進行比較

float 和 double 類型的數據都是有精度限制的,不能夠直接比較。可以通過定義好的 EPSINON 精度進行比較。

比如:一個浮點數與 0.0 進行比較,可如下操作:

const float EPSINON = 0.00001;	// 6位精度
float fTestFlag = 0.0;

if ((fTestFlag >= -EPSINON) && (fTestFlag <= EPSINON))
	{
		printf("float test \r\n");
	}

3. 指針變量與“零值”進行比較

定義指針的同時需要對其進行初始化。

int *p = NULL;

if (NULL == p);   if (NULL != p);

4. switch & case 的應用

當條件分支少的時候,選擇使用 if & else 即可。當分支多的時候使用 switch & case 就會方便得多。

eg:矩陣鍵盤的選擇

 switch(key_val)
        {
          case 0xee:
               key = 0;
			   wei ++;
               break;

          case 0xde:
               key = 1;
			   wei ++;
               break;

          case 0xbe:
               key = 2;
			   wei ++;
               break;

          case 0x7e:
               key = 3;
			   wei ++;
               break;
           defalut;
           	   break;

注意:

(1)每個分支最後以 break 語句結束,switch 選擇分支最後加上 default 分支;

(2) case 後面只能是整型或字符型常量或常量表達式;

(3) case 語句的排序:按順序,正常處理在前,異常處理放在後;

(4) case 後面執行的語句儘可能短,如果過長,可單獨寫成一個函數,然後 case 再來調用此函數;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章