在此示例中,您将学习检查用户输入的字母是元音还是辅音。
要理解此示例,您应该了解以下C语言编程主题:
这五个字母A,E,I,O和U被称为元音。除这5个元音以外的所有其他字母称为辅音。
该程序假定用户将始终输入字母字符。
#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; }
输出结果
输入字母: G G 是辅音
用户输入的字符存储在变量c中。
如果c是小写元音,则lowercase变量的计算结果为1(true),而其他任何字符的计算结果均为0(false)。
同样,如果uppercase变量c是大写元音,则该变量的值为1(true),而对于其他任何字符,该变量的值为0(false)。
如果lowercase或uppercase变量中的任何一个为1(true),则输入的字符为元音。
但是,如果lowercase和uppercase变量都为0,则输入的字符为辅音。
注意:此程序假定用户将输入字母。如果用户输入非字母字符,则显示该字符为常数。
为了解决这个问题,我们可以使用isalpha()函数。该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是大写,则计算为1 uppercase = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); //如果c不是字母,则显示错误消息 if (!isalpha(c)) { printf("错误! 非字母字符。"); } // if c is an alphabet else { //如果c是小写或大写,则求值为1 if (lowercase || uppercase) printf("%c 是元音", c); else printf("%c 是辅音", c); } return 0; }
现在,如果用户输入非字母字符,您将看到:
错误! 非字母字符。