詳解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 明天是禮拜二