一、條件式的寫法 條件式是我們在程式中做一些判斷時要用的句型,最常用的是比較兩個數值的關係,其語法如下:
數值一 關係運算元 數值二
因為條件式本身還不是一行指令,所以後面是不用加分號 ; 的,而上面的關係運算元有:
< 小於 > 大於 == 等於 (注意,是兩個等號) <= 小於或等於 >= 大於或等於 != 不等於
下面我們看一些例子:
變數 a 是否大於 9 : a > 9 變數 a 和 b 的值是否相等 : a == b 變數 c 是否小於等於 100 : c <= 9 變數 d 是否不等於 e : d != e
另外,有時候我們必須有兩個以上的條件,則可以使用 && (And 且)及 || (Or 或)將之連起來,例如:
變數 a 大於10 且小於 100: (a>10) && (a<100) 變數 a 等於b 或等於 c: (a==b) || (a==c) 最後,如果我們在條件式的前面加上一個驚嘆號 !,則代表否定(Not),例如: !( a>9) 和 a<=9 是一樣的。 二、if 敘述的語法 接下來我們看到 if 敘述的語法:
if (條件式) 指令一;
上面的語法是如果符合該條件,則執行指令一;有時候我們在條件不成立的時候也必需執行一些指令,這時候可以改用下面的語法:
if (條件式) 指令一; else 指令二;
上面 else 後面的指令二就是當條件不成立時所要執行的指令。而有時候我們要執行的指令並不只一行,這個時候可以用一對大括弧 { } 把要執行的指令包起來,例如:
if (條件式) { 指令一; 指令二; 指令三; } else { 指令四; 指令五; 指令六; }
上面的語法,當條件成立時程式會執行指令一至三,而當條件不成立的時候則是執行指令四至六。 三、印出 A、B 的大小關係 接下來,我們來寫一個輸入兩個整數 A、B,然後印出兩個變數的大小關係,程式執行的畫面如下(粉紅色代表輸出,淺藍色則是輸入的值):
A, B => 10 20 10 < 20 A, B => 30 20 30 > 20 A, B => 20 20 20 = 20
整個程式如下:
#include <stdio.h> int main() { int a, b; printf("A, B=> "); scanf("%d %d", &a, &b); if(a<b) printf("%d<%d\n", a, b); if(a>b) printf("%d>%d\n", a, b); if(a==b) printf("%d=%d\n", a, b); return 0; }
上面的例子,我們用一行 scanf() 同時讀取兩個變數 a、b,只要在 scanf 的第一個參數中,將原先的 "%d" 改成兩個 %d 即為 "%d %d",這就是告訴 scanf 要讀取兩個 %d 也就是整數進來,而當然我們後面也要補上兩個整數變數的位址,讓 scanf 可以把讀入的數值寫到變數裡。而同樣的,在 printf 的第一個參數裡如果有兩個以上的 %d 或其他的 %*,後面也要接著同樣數量的變數,而 printf 會自動把後面的第一個變數的值填到第一個 %d 的位置,第二個變數的值填到第二個 %d 的值置,以此類推,全部的變數的值填入完成後,再將整行印出來。 三、練習: - 輸入一個整數 a,如果 a 是偶數,則印出 "Yes!",否則印出 "No!"。
10
Yes!
23
No!
提示:可以使用取餘數符號 %, a % 2 代表 a 除以 2 的餘數,當 a 偶數時,a 除以 2 的餘數為 0 。 - 連續輸入兩個整數 a、b,如果 a 是 b 的倍數,則印出 "Yes!",否則則印出 "No!"。
20 5
Yes!
33 12
No!
提示:可以使用取餘數符號 %, a % b 代表 a 除以 b 的餘數,當 a 是 b 的倍數時,a 可以被 b 整除,即 a 除以 b 的餘數為 0 。
|