if條件判斷
if(條件或運算式){
陳述一;
}
else{
陳述二;
}
※當『條件或運算式』為真True時,回傳值=1、偽False時,回傳值=0。
以關係運算子判斷的範例:判斷第一個數是否大於第二個數?
printf("x>y");
printf("x<=y");
以運算式當判斷範例:判斷兩數是否相等?
printf("x不等於y");
printf("x=y");
範例一、
int i=99;
if (++i>=100)
printf ("%d\n",i);
※輸出的i值會是多少呢?
範例二、
int i=99;
if (i++>=100)
printf ("%d\n",i);
※輸出的結果是什麼呢?
範例一:輸出100
範例二:無輸出
[練習題一] 輸入一個整數,判斷奇數或偶數。
範例一:
int a;
scanf("%d",&a);
if(a%2==0)
printf("偶數");
else
printf("奇數");
※使用這種方式,一定是初學者。※
範例二:
if(a%2)
printf("奇數");
else
printf("偶數");
※好多了,條件式內的運算等於0為false、任何非0的數值則為true,應該已經比較瞭解C++語言了。※
範例三:
if(a&1)
printf("奇數");
else
printf("偶數");
※使用位元運算子&,只跟1做且的運算,可以測出最右邊位元為0或1。
#include<math.h>
float x;
...
if(fabs(x-(int)x)<1e-8) printf("x是一個整數\n");
else printf("x不是一個整數\n");
int c = (int)b,d = (int)(b + 0.999999);
if( c == d )
printf("是整數\n");
else
printf("不是整數\n");
float b;
...
if(b - (int)b == 0)
printf("是整數\n");
else
printf("不是整數\n");
float b;
...
if( b != (int)b )
printf("不是整數\n");
else
printf("是整數\n");
switch條件判斷
適用於多條件的判斷。(取代冗長的if...else...)
switch(變數名稱或運算式){
case 符合數字、字元:
陳述一;
break;
case 符合數字、字元:
陳述二;
break;
default:
陳述三;
break;
}
範例:
switch (i){
csae 1:
printf("i=1");
break;
csae 2:
printf("i=2");
break;
default:
break;
}
成績等第範例:
switch (score/10){
csae 10: case 9::
printf("等級A");
break;
csae 8:
printf("等級B");
break;
csae 7:
printf("等級C");
break;
csae 6:
printf("等級D");
break;
default:
printf("等級E、不及格");
break;
}