![]() |
C 教材:if |
現在要寫一個程式來判斷一個由 stdin 輸入的純文字檔有幾行 (或說幾列)。 方法就是記錄一共有幾個 LF 字元出現。 即使空行也算一行。
#include <stdio.h> /* 簡化的 UNIX wc -l 程式 (nl.c) */ main() { int c, nl=0; while((c = getchar()) != EOF) if (c == '\n') ++nl; printf("%d\n", nl); }
if 也是一個流程控制結構。它的基本形式是
if (CONDITION) STATEMENTS_;其中 CONDITION 是一個邏輯計算語句, STATEMENTS_ 是若干指令。 它們的規定,都和 while 與 for 中的 CONDITION 和 STATEMENTS_ 完全相同。 C 會檢查 CONDITION 是否成立,若成立,執行 STATEMENTS_。 否則直接跳去執行 STATEMENTS_ 的下一個指令。 在前面的例子中,if 的 STATEMENTS_ 只有一個指令,所以不必放在 { } 內。 而整個 if 算做一個指令,所以 while 的 STATEMENTS_ 也只有一個指令, 所以也不必放在 { } 內。
C 語言用 'x' 表示一個字元的字碼。而 \n 代表 LF 字元, 所以 '\n' 就是它的字碼,通常也就是 ASCII 碼第 10 號。
習題
n = 'B' - 'A';
n = 'A' - 65;
![]() |
![]() |
單維彰 (2000/03/30) --- |