詳解C說話中前提斷定語句if和switch的用法。本站提示廣大學習愛好者:(詳解C說話中前提斷定語句if和switch的用法)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解C說話中前提斷定語句if和switch的用法正文
if 語句
用 if 語句可以組成分支構造,它依據給的前提停止剖斷,以決議履行哪一個分支法式段。
C 說話的 if 語句有三種根本情勢
第一種情勢:
if(前提表達式) { 語句1; } if(前提表達式) { 語句1; }
這類情勢運轉次序為:當前提表達式為真,履行語句1,不然,直接跳過語句1,履行前面的語句。
例子1:
BOOL result = YES; if(result) { printf("result is true\n"); } BOOL result = YES; if(result) { printf("result is true\n"); }
輸入成果為:
result is true
假如把 result 的值改成 NO,那末就甚麼都不輸入了。
例子2:
int a = 5; int b = 6; if(a >= b) { printf("a年夜於b\n"); } int a = 5; int b = 6; if(a >= b) { printf("a年夜於b\n"); }
輸入成果為:
甚麼都不輸入
假如改成如許:
if(a <= b) { printf("a小於b\n"); } if(a <= b) { printf("a小於b\n"); }
那末輸入成果為:a小於b。
第二種情勢:
if(前提表達式) { 語句1; } else { 語句2; } if(前提表達式) { 語句1; } else { 語句2; }
這類構造的履行次序為:當前提表達式為真時,履行語句1,不然履行語句2。
例子1:
BOOL result= YES; if(result) { printf("result 為真\n"); } else { printf("result 為假\n"); } BOOL result= YES; if(result) { printf("result 為真\n"); } else { printf("result 為假\n"); }
這裡的兩個輸入語句相對不會同時輸入。
第三種情勢:
if(前提表達式1) { 語句1; } else if(前提表達式2) { 語句2; } else { 語句3; } if(前提表達式1) { 語句1; } else if(前提表達式2) { 語句2; } else { 語句3; }
這類構造的履行次序為:當前提表達式1成立時,履行語句1,假如不成立則看前提表達式2能否成立,假如前提表達式2成立,則履行語句2,假如前提表達式2也不成立這會履行語句3。
例子1:
int age = 35; if(age < 18) { printf("你是小孩子\n"); } else if(age >= 60) { printf("你是位白叟\n"); } else { printf("你合法青年啊, 小伙子!\n"); } int age = 35; if(age < 18) { printf("你是小孩子\n"); } else if(age >= 60) { printf("你是位白叟\n"); } else { printf("你合法青年啊, 小伙子!\n"); }
輸入成果為:
你合法青年啊,小伙子!
switch語句
下面我們講了 C 說話中的分支語句個中的 if 語句,明天我們來進修別的一種分支語句:switch 語句。
if 語句的三種情勢,年夜家確定都還記得,年夜家回憶一下 if 的最初一種情勢,假如我們有許多的分支該若何寫?豈非像如許子嗎?
if(前提表達式1) { 語句1; } else if(前提表達式2) { 語句2; } else if(前提表達式3) { 語句3; } else if(前提表達式4) { 語句4; } else if(前提表達式5) { 語句5; } else { 語句6; }
假如如許子的話,那末設計C說話也就太不智能了,是以 C 說話中還有別的一種分支語句,就是 switch 語句。構造以下:
switch(整形表達式) { case 值1: { 語句1; break; } case 值2: { 語句2; break; } case 值3: { 語句3; break; } ... default: 默許語句; break; }
switch(整形表達式) { case 值1: { 語句1; break; } case 值2: { 語句2; break; } case 值3: { 語句3; break; } ... default: 默許語句; break; }
解釋:
1、起首要留意switch 的語法構造,不克不及有毛病
2、整形表達式的成果值假如等於值1,就履行語句1,假如等於值2,就履行語句2,假如表達式的值與任何 case 都紛歧樣的話,那末就會履行 default 前面的默許語句,也能夠沒有默許語句,最初停止全部 switch 語句。
3、留意每一個語句前面的 break,假如沒有 break,break 會跳出以後的 case 語句,從而跳出全部 switch 語句。
4、case 前面的標簽只能是整形常量或許整形常量表達式,不克不及用變量作為 case 的標簽。
例子:
int day = 0; printf("請輸出一個 1-7 的數字\n"); scanf("%d", &day); switch(day) { case 1: { printf("明天是禮拜一\n"); break; } case 2: { printf("明天是禮拜二\n"); break; } case 3: { printf("明天是禮拜三\n"); break; } case 4: { printf("明天是禮拜四\n"); break; } case 5: { printf("明天是禮拜五\n"); break; } case 6: { printf("明天是禮拜六\n"); break; } case 7: { printf("明天是禮拜日\n"); break; } default: { printf("輸出毛病\n"); break; } } int day = 0; printf("請輸出一個 1-7 的數字\n"); scanf("%d", &day); switch(day) { case 1: { printf("明天是禮拜一\n"); break; } case 2: { printf("明天是禮拜二\n"); break; } case 3: { printf("明天是禮拜三\n"); break; } case 4: { printf("明天是禮拜四\n"); break; } case 5: { printf("明天是禮拜五\n"); break; } case 6: { printf("明天是禮拜六\n"); break; } case 7: { printf("明天是禮拜日\n"); break; } default: { printf("輸出毛病\n"); break; } }
掌握台輸入:(我們輸出數字2)
請輸出一個 1-7 的數字 2 明天是禮拜二