C Program to Check Whether a Character is a Vowel or Consonant
The five alphabets A, E, I, O and U are called vowels. All other alphabets except these 5 vowel letters are called consonants.
This program assumes that the user will always enter an alphabet character.
Example #1: Program to Check Vowel or consonant
#include <stdio.h>
int main()
{
char c;
int isLowercaseVowel, isUppercaseVowel;
printf("Enter an alphabet: ");
scanf("%c",&c);
// evaluates to 1 (true) if c is a lowercase vowel
isLowercaseVowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
// evaluates to 1 (true) if c is an uppercase vowel
isUppercaseVowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');
// evaluates to 1 (true) if either isLowercaseVowel or isUppercaseVowel is true
if (isLowercaseVowel || isUppercaseVowel)
printf("%c is a vowel.", c);
else
printf("%c is a consonant.", c);
return 0;
}
Output
Enter an alphabet: G G is a consonant.
The character entered by the user is stored in variable c.
The isLowerCaseVowel evaluates to 1 (true) if c is a lowercase vowel and 0 (false) for any other character.
Similarly, isUpperCaseVowel evaluates to 1(true) if c is an uppercase vowel and 0 (false) for any other character.
If both isLowercaseVowel and isUppercaseVowel is equal to 0, the test expression evaluates to 0 (false) and the entered character is a consonant.
However, if either isLowercaseVowel or isUppercaseVowel is 1 (true), the test expression evaluates to 1 (true) and the entered character is a vowel.
The program above assumes that the user always enters an alphabet. If the user enters any other character other than an alphabet, the program will not work as intended.
Example #2: Program to Check Vowel or Consonant
The program below asks the user to enter a character until the user enters an alphabet. Then, the program checks whether it is a vowel or a consonant.
#include <stdio.h>
#include <ctype.h>
int main()
{
char c;
int isLowercaseVowel, isUppercaseVowel;
do {
printf("Enter an alphabet: ");
scanf(" %c", &c);
}
// isalpha() returns 0 if the passed character is not an alphabet
while (!isalpha(c));
// evaluates to 1 (true) if c is a lowercase vowel
isLowercaseVowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
// evaluates to 1 (true) if c is an uppercase vowel
isUppercaseVowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');
// evaluates to 1 (true) if either isLowercaseVowel or isUppercaseVowel is true
if (isLowercaseVowel || isUppercaseVowel)
printf("%c is a vowel.", c);
else
printf("%c is a consonant.", c);
return 0;
}
program in C that checks whether a character is a vowel or a consonant:
#include <stdio.h>
int main() {
char ch;
printf("Enter a character: ");
scanf("%c", &ch);
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' ||
ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') {
printf("%c is a vowel.\n", ch);
} else {
printf("%c is a consonant.\n", ch);
}
return 0;
}
In this program, we declare a character variable “ch” and prompt the user to enter a character using the “scanf” function.
We then use an “if” statement to check if the character is a vowel or a consonant. We do this by checking if the character is equal to any of the vowels (‘a’, ‘e’, ‘i’, ‘o’, ‘u’ or their uppercase equivalents ‘A’, ‘E’, ‘I’, ‘O’, ‘U’). If the character matches any of the vowels, we print out a message indicating that the character is a vowel. Otherwise, we print out a message indicating that the character is a consonant.
Finally, we return 0 from the main function to indicate that the program has been executed successfully. The output of this program would be:
Enter a character: e
e is a vowel.
If the user had entered a consonant character, such as ‘k’, the output would be:
Enter a character: k
k is a consonant.