C條件句

C條件語句簡介:if / else和switch

任何編程語言都可以為程序員提供執行選擇的能力。

在某些情況下,我們想做X,在其他情況下,我們要做Y。

我們要檢查數據,並根據該數據的狀態進行選擇。

C為我們提供了兩種方法。

首先是if陳述,及其else助手,第二個是switch陳述。

if

if語句,您可以檢查條件為真,然後執行大括號中提供的代碼塊:

int a = 1;

if (a == 1) { /* do something */ }

您可以附加一個else如果原始條件為假,則執行另一個塊;

int a = 1;

if (a == 2) { /* do something / } else { / do something else */ }

提防錯誤的一種常見來源-始終使用比較運算符==在比較中,而不是賦值運算符=,否則if除非參數為0,例如,如果您這樣做:

int a = 0;

if (a = 0) { /* never invoked */ }

為什麼會這樣?因為條件檢查將查找布爾結果(比較的結果),並且0數字始終等於錯誤值。其他所有情況都是正確的,包括負數。

你可以有多個else通過堆疊多個塊if聲明:

int a = 1;

if (a == 2) { /* do something / } else if (a == 1) { / do something else / } else { / do something else again */ }

switch

如果您需要執行過多的if / else / if塊來執行檢查,也許是因為您需要檢查變量的確切值,那麼switch對您非常有用。

您可以提供一個變量作為條件,以及一系列case您期望的每個值的入口點:

int a = 1;

switch (a) { case 0: /* do something / break; case 1: / do something else / break; case 2: / do something else */ break; }

我們需要一個break在每種情況下都使用關鍵字,以避免在前一種情況結束時執行下一種情況。這種“級聯”效果在某些創造性方面可能很有用。

您可以在末尾添加一個“包羅萬象”的標籤,標記為default

int a = 1;

switch (a) { case 0: /* do something / break; case 1: / do something else / break; case 2: / do something else / break; default: / handle all the other cases */ break; }

免費下載我的C手冊


更多clang教程: