1. 程式人生 > >C分支語句的工程用法

C分支語句的工程用法

if語言中零值比較的注意點:

  -bool型變數應該直接出現於條件中,不要進行比較

  -變數和零值比較時,零值應該出現在比較符號左邊

  -float型變數不能直接進行零值比較,需要定義精度

 1 bool b = true;
 2 if(b)
 3 {
 4   //statement1  
 5 }
 6 else
 7 {
 8   //statement2  
 9 }
10 /*============*/
11 int i= 1;
12 
13 if(0 == i)
14 {
15    //statement1  
16 }
17 else
18 {
19   //statement2  
20 } 21 22 /*============*/ 23 24 #define EPSION 0.00001 25 float f = 0.0 ; 26 27 if((-EPSION <= f) && (f <= EPSION)) 28 { 29 //statement1 30 } 31 else 32 { 33 //statement2 34 }

switch 語句分析:

  -switch 語句對應單個條件多個分支的情形

  -case語句分支必須要有break,否則會導致分支重疊

  -default語句有必要加上,以處理特殊情況

 1 #include <stdio.h>
 2
3 void f1(int i) 4 { 5 switch( i < 6 ) 6 { 7 case 1: 8 printf("Failed!\n"); 9 break; 10 11 default: 12 switch( (6 <= i) && (i <= 8) ) 13 { 14 case 1: 15 printf("
Good!\n"); 16 break; 17 18 default: 19 printf("Perfect!\n"); 20 break; 21 } 22 break; 23 } 24 } 25 26 void f2(char i) 27 { 28 if( 'c' == i ) 29 { 30 printf("Compile\n"); 31 } 32 else if( 'd' == i ) 33 { 34 printf("Debug\n"); 35 } 36 else if( 'o' == i ) 37 { 38 printf("Object\n"); 39 } 40 else if( 'r' == i ) 41 { 42 printf("Run\n"); 43 } 44 else 45 { 46 printf("Unknown\n"); 47 } 48 } 49 50 int main() 51 { 52 f1(5); 53 f1(9); 54 f1(7); 55 56 f2('o'); 57 f2('d'); 58 f2('e'); 59 60 return 0; 61 }

  -case語句中的值只能是整型或字元型

  -case語句的排列順序

    -按字母或數字順序排列各條語句

    -正常情況放在前面,異常情況放在後面

    -default語句用於處理真正的預設情況

小結:

  -if語言適用於複雜邏輯進行判斷的情況中

  -switch語句適用於對離散值進行判斷的情形;

  -if語句和switch語句在功能上可以相互替換

  -if語句對應“按片分支判斷”的 情形更加簡潔

  -switch語句對應多分枝更加簡潔