C語言編程0基礎學習歷程(5)——C的選擇控制結構
目錄
在實際生活中,我們往往要面臨許許多多形式各異的選擇,這往往讓我們非常頭痛,比如一個世界級難題:今天中午吃什麼?
當然,在計算機的程序設計中也免不了要對不同情況進行判斷並選擇,那麼應該如何實現呢?
1、判斷條件
在C語言中對於簡單的判斷條件可以用關係表達式來表示,對於複雜一些的條件可用邏輯表達式表示。其中用關係運算符將兩個操作數連接起來組成的表達式稱爲關係表達式;用邏輯運算符連接操作數組成的表達式稱爲邏輯表達式。
2、用於單分支控制的條件語句
if(表達式) 語句A
例:
#include <stdio.h>
const double PI=3.14159;
int main()
{
int a=1;
int b=2;
if(a<b)
printf("%d\n",a);
if(b<=a)
printf("%d\n",b);
return 0;
}
運行結果:
3、用於雙分支控制的條件語句
if(表達式) 語句1
else 語句2
例:
#include <stdio.h>
const double PI=3.14159;
int main()
{
int a=4;
int b=2;
if(a<b)
printf("%d\n",a);
else
printf("%d\n",b);
return 0;
}
運行結果:
4、用於多分支控制的條件語句
if(表達式1) 語句1
else if(表達式2) 語句2
……
else 語句n
例:
#include <stdio.h>
const double PI=3.14159;
int main()
{
int a=2;
int b=2;
if(a<b)
printf("%d\n",a);
else if(b<a)
printf("%d\n",b);
else
printf("a=b");
return 0;
}
運行結果:
5、用於多路選擇的switch語句
switch(表達式)
{
case 常量1:
可執行語句序列1;break;
case 常量2:
可執行語句序列2;
……
case 常量3:
可執行語句序列n;
default:
可執行語句序列n+1;
}
注:若在可執行語句n後加“break”,則在進行此次判斷後跳出switch,否則繼續向下順序執行至下一個“break”或末尾。
例:
#include <stdio.h>
const double PI=3.14159;
int main()
{
int a;
scanf("%d",&a);
switch(a%2)
{
case 1:printf("輸入的是奇數。");break;
case 0:printf("輸入的是偶數。");break;
}
return 0;
}
運行結果:
6、條件表達式
表達式1?表達式2:表達式3
(若表達式1的值非0,則該表達式是表達式2的值,否則爲3的值。)
#include <stdio.h>
int main()
{
int a,b,max;
printf("請輸入兩個數(形式爲:a,b):\n");
scanf("%d,%d",&a,&b);
max=a>b?a:b;
printf("max = %d\n",max);
return 0;
}
運行結果: