在此示例中,您將學(xué)習(xí)檢查用戶輸入的字母是元音還是輔音。
要理解此示例,您應(yīng)該了解以下C語(yǔ)言編程主題:
這五個(gè)字母A,E,I,O和U被稱為元音。除這5個(gè)元音以外的所有其他字母稱為輔音。
該程序假定用戶將始終輸入字母字符。
#include <stdio.h> int main() { char c; int lowercase, uppercase; printf("輸入字母: "); scanf("%c", &c); //如果變量c為小寫,則求值為1 lowercase = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); // 如果變量c為大寫,則求值為1 uppercase = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); // 如果c是小寫或大寫,則求值為1 if (lowercase || uppercase) printf("%c 是元音.", c); else printf("%c 是輔音", c); return 0; }
輸出結(jié)果
輸入字母: G G 是輔音
用戶輸入的字符存儲(chǔ)在變量c中。
如果c是小寫元音,則lowercase變量的計(jì)算結(jié)果為1(true),而其他任何字符的計(jì)算結(jié)果均為0(false)。
同樣,如果uppercase變量c是大寫元音,則該變量的值為1(true),而對(duì)于其他任何字符,該變量的值為0(false)。
如果lowercase或uppercase變量中的任何一個(gè)為1(true),則輸入的字符為元音。
但是,如果lowercase和uppercase變量都為0,則輸入的字符為輔音。
注意:此程序假定用戶將輸入字母。如果用戶輸入非字母字符,則顯示該字符為常數(shù)。
為了解決這個(gè)問(wèn)題,我們可以使用isalpha()函數(shù)。該islapha()功能檢查字符是否為字母。
#include <stdio.h> #include <ctype.h> int main() { char c; int lowercase, uppercase; printf("Enter an alphabet: "); scanf("%c", &c); //如果變量c為小寫,則求值為1 lowercase = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); //如果變量c是大寫,則計(jì)算為1 uppercase = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); //如果c不是字母,則顯示錯(cuò)誤消息 if (!isalpha(c)) { printf("錯(cuò)誤! 非字母字符。"); } // if c is an alphabet else { //如果c是小寫或大寫,則求值為1 if (lowercase || uppercase) printf("%c 是元音", c); else printf("%c 是輔音", c); } return 0; }
現(xiàn)在,如果用戶輸入非字母字符,您將看到:
錯(cuò)誤! 非字母字符。