企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# C 程序:检查字符是元音还是辅音 > 原文: [https://www.programiz.com/c-programming/examples/vowel-consonant](https://www.programiz.com/c-programming/examples/vowel-consonant) #### 在此示例中,您将学习检查用户输入的字母是元音还是辅音。 要理解此示例,您应该了解以下 [C 编程](/c-programming "C tutorial")主题: * [C 编程运算符](/c-programming/c-operators) * [C `if...else`语句](/c-programming/c-if-else-statement) * [C `while`和`do...while`循环](/c-programming/c-do-while-loops) * * * 五个字母`A`,`E`,`I`,`O`和`U`称为元音。 除这 5 个元音以外的所有其他字母称为辅音。 该程序假定用户将始终输入字母字符。 * * * ## 检查元音或辅音的程序 ```c #include <stdio.h> int main() { char c; int lowercase, uppercase; printf("Enter an alphabet: "); scanf("%c", &c); // evaluates to 1 if variable c is lowercase lowercase = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); // evaluates to 1 if variable c is uppercase uppercase = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); // evaluates to 1 if c is either lowercase or uppercase if (lowercase || uppercase) printf("%c is a vowel.", c); else printf("%c is a consonant.", c); return 0; } ``` **输出** ```c Enter an alphabet: G G is a consonant. ``` * * * 用户输入的字符存储在变量`c`中。 如果`c`是小写元音,则`lowercase`变量的值为 1(真),而对于其他任何字符,则其值为 0(假)。 同样,如果`c`是大写元音,则`uppercase`变量的值为 1(真),而对于其他任何字符,则其值为 0(假)。 如果`lowercase`或`uppercase`变量为 1(真),则输入的字符为元音。 但是,如果`lowercase`和`uppercase`变量均为 0,则输入的字符为辅音。 **注意**:该程序假定用户将输入字母。 如果用户输入非字母字符,则显示该字符为常数。 要解决此问题,我们可以使用[`isalpha()`](/c-programming/library-function/ctype.h/isalpha "C isalpha() Function")函数。`islapha()`函数检查字符是否为字母。 ```c #include <stdio.h> #include <ctype.h> int main() { char c; int lowercase, uppercase; printf("Enter an alphabet: "); scanf("%c", &c); // evaluates to 1 if variable c is lowercase lowercase = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); // evaluates to 1 if variable c is uppercase uppercase = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');   // Show error message if c is not an alphabet if (!isalpha(c)) { printf("Error! Non-alphabetic character."); }   // if c is an alphabet else { // evaluates to 1 if c is either lowercase or uppercase if (lowercase || uppercase) printf("%c is a vowel.", c); else printf("%c is a consonant.", c); } return 0; } ``` 现在,如果用户输入非字母字符,您将看到: ```c Error! Non-alphabetic character. ```