c語言選擇結構語句
if-else
在C語言中,經常使用選擇結構語句,來實現很多對應的功能.
直接使用if-else語句
scanf("%d",&a)
if(a==1)
{
printf("you input is 1\n");
}
else
printf("you input is another\n");
上面的程式碼表示,如果a=1,輸出you input is 1。如果不是,輸出you input is another
這是基本的選擇語句。if或者else條件後面只有一條語句時,花括號可寫可不寫,為了美觀和規範,我們一般寫上。
巢狀使用if-else語句
先來看下面的程式碼
示例程式碼
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d",&a);//輸入a
if(a==0) //如果a等於0,進入,
{
printf("welcome here\n");
scanf("%d",&b); //輸入b
if(b>=5) //判斷b是不是大於等於5,如果大於,輸出you choose the right,該函式體結束
{
printf("you choose the right\n");
}
else
{
printf("choose again\n"); //如果不滿足b>=5,列印choose again,函式結束
}
}
else
puts("hello world");
}
一個if對應一個else,所以在編寫程式碼的時候,如果使用的if-else較多,應當注意新增相應的花括號,增加程式碼的可讀性和不易出錯性。在使用了if以後,如果不需要另外的條件判斷,就可以不使用else,
----------------------------------------------------------分割線------------------------------------------------------
switch-case
C語言中,switch的執行規則是,判斷case後面的常量和switch後面的表示式是否相匹配,如果匹配,就執行case後面的程式程式碼,直到遇到break退出。
示例程式碼:
#include<stdio.h>
int main()
{
int num;
while(1)
{
printf("******************************************\n"); //介面
printf("-------------主選單介面------------------\n");
printf("------------1:輸出hello-------------------\n");
printf("------------2:輸出world------------------\n");
printf("------------3:輸出welcome--------------\n");
printf("------------4:登出------------------------\n");
printf("******************************************\n");
printf("請選擇:\n");
scanf("%d",&num); //輸入選項
switch(num)
{
case 1:
printf("hello\n");
break; //break表示跳出switch選擇結構,記住,是跳出switch,不是跳出迴圈
case 2:
printf("world\n");
break;
case 3:
printf("welcome\n");
break;
case 4:
sleep(1); //等待1s後
exit(0); //表示直接退出函式
default: //表示如果輸入1,2,3,4之外的選項,就直接退出switch
break;
}
}
return 0;
}
分析:
1、在這裡說明一下switch case語句中的break。break是可加可不加的。比如case 1後面沒有break,那麼當我們輸入1,匹配成功,
就會列印hello。然後會自動往下走,執行case 2後面的語句,直到遇到break。如果case 2還是沒有break,就會繼續往下執行case 3:
中的語句,遇到break後結束。如果後面都沒有break,就會依次執行整個switch case中的程式。
2、exit(0)表示正常執行程式並退出。 exit(1)表示非正常執行程式導致退出。一般0表示正常退出,非0為異常。
在單個程式中看不出作用,但是如果在一個程式中呼叫別的程式,這個返回值就可以看出來呼叫的程式執行有沒有異常。
因為數字會被寫入環境變數ERRORLEVEL中,其他程式可以由此判斷程式的結束狀態。
--------------------------------------------分割線--------------------------------------------------------------------------
這部分內容簡單易懂,但是在C語言中卻是十分重要的知識點,條件判斷在日常開發經常需要用到,尤其是If-else。