Program to find if a character is vowel or Consonant
Last Updated :
20 Nov, 2025
Given a character, check if it is vowel or consonant. Vowels are 'a', 'e', 'i', 'o' and 'u'. All other characters ('b', 'c', 'd', 'f' ....) are consonants.

Examples:
Input : x = 'c'
Output : Consonant
Input : x = 'u'
Output : Vowel
We check whether the given character matches any of the 5 vowels. If yes, we print "Vowel", else we print "Consonant".
C++
// CPP program to check if a given character
// is vowel or consonant.
#include <iostream>
using namespace std;
// Function to check whether a character is
// vowel or not
void vowelOrConsonant(char x)
{
if (x == 'a' || x == 'e' || x == 'i' ||
x == 'o' || x == 'u')
cout << "Vowel" << endl;
else
cout << "Consonant" << endl
}
// Driver code
int main()
{
vowelOrConsonant('c');
vowelOrConsonant('e');
return 0;
}
Java
// java program to check if a given
// character is vowel or consonant.
import java.io.*;
public class GFG {
// Function to check whether a
// character is vowel or not
static void vowelOrConsonant(char x)
{
if (x == 'a' || x == 'e' || x == 'i' ||
x == 'o' || x == 'u')
System.out.println("Vowel");
else
System.out.println("Consonant");
}
// Driver code
static public void main(String[] args)
{
vowelOrConsonant('c');
vowelOrConsonant('e');
}
}
// This code is contributed by vt_m.
Python3
# Python3 program to check if a given
# character is vowel or consonant.
# Function to check whether a character
# is vowel or not
def vowelOrConsonant(x):
if (x == 'a' or x == 'e' or
x == 'i' or x == 'o' or x == 'u'):
print("Vowel")
else:
print("Consonant")
# Driver code
vowelOrConsonant('c')
vowelOrConsonant('e')
# This code is contributed by
# mohit kumar 29
C#
// C# program to check if a given
// character is vowel or consonant.
using System;
public class GFG {
// Function to check whether a
// character is vowel or not
static void vowelOrConsonant(char x)
{
if (x == 'a' || x == 'e' || x == 'i' ||
x == 'o' || x == 'u')
Console.WriteLine("Vowel");
else
Console.WriteLine("Consonant");
}
// Driver code
static public void Main()
{
vowelOrConsonant('c');
vowelOrConsonant('e');
}
}
// This code is contributed by vt_m.
JavaScript
<script>
// Javascript program to check if a given
// character is vowel or consonant.
// Function to check whether a
// character is vowel or not
function vowelOrConsonant(x)
{
if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u')
document.write("Vowel" + "</br>");
else
document.write("Consonant" + "</br>");
}
vowelOrConsonant('c');
vowelOrConsonant('e');
// This code is contributed by mukesh07.
</script>
PHP
<?php
// PHP program to check if a given
// character is vowel or consonant.
// Function to check whether a
// character is vowel or not
function vowelOrConsonant($x)
{
if ($x == 'a' || $x == 'e' ||
$x == 'i' || $x == 'o' ||
$x == 'u')
echo "Vowel" . "\n";
else
echo "Consonant" . "\n";
}
// Driver code
vowelOrConsonant('c');
vowelOrConsonant('e');
// This code is contributed
// by Akanksha Rai
?>
Output:
Consonant
Vowel
Time Complexity: O(1)
Auxiliary Space: O(1)
How to handle capital letters as well?
C++
// C++ program to check if a given character
// is vowel or consonant.
#include <iostream>
using namespace std;
// Function to check whether a character is
// vowel or not
void vowelOrConsonant(char x)
{
if (x == 'a' || x == 'e' || x == 'i' ||
x == 'o' || x == 'u' || x == 'A' ||
x == 'E' || x == 'I' || x == 'O' || x == 'U')
cout << "Vowel" << endl;
else
cout << "Consonant" << endl;
}
// Driver code
int main()
{
vowelOrConsonant('c');
vowelOrConsonant('E');
return 0;
}
Java
// Java program to check if a given
// character is vowel or consonant
import java.io.*;
public class GFG {
// Function to check whether a
// character is vowel or not
static void vowelOrConsonant(char x)
{
if (x == 'a' || x == 'e' || x == 'i' ||
x == 'o' || x == 'u' || x == 'A' ||
x == 'E' || x == 'I' || x == 'O' || x == 'U')
System.out.println("Vowel");
else
System.out.println("Consonant");
}
// Driver code
static public void main(String[] args)
{
vowelOrConsonant('c');
vowelOrConsonant('E');
}
}
//
Python3
# Python3 program to check if a given
# character is vowel or consonant.
# Function to check whether a
# character is vowel or not
def vowelOrConsonant(x):
if (x == 'a' or x == 'e' or x == 'i' or
x == 'o' or x == 'u' or x == 'A' or
x == 'E' or x == 'I' or x == 'O' or
x == 'U'):
print("Vowel")
else:
print("Consonant")
# Driver code
if __name__ == '__main__':
vowelOrConsonant('c')
vowelOrConsonant('E')
# This code is contributed by
# Sanjit_Prasad
C#
// C# program to check if a given
// character is vowel or consonant
using System;
public class GFG {
// Function to check whether a
// character is vowel or not
static void vowelOrConsonant(char x)
{
if (x == 'a' || x == 'e' || x == 'i' ||
x == 'o' || x == 'u' || x == 'A' ||
x == 'E' || x == 'I' || x == 'O' || x == 'U')
Console.WriteLine("Vowel");
else
Console.WriteLine("Consonant");
}
// Driver code
static public void Main()
{
vowelOrConsonant('c');
vowelOrConsonant('E');
}
}
// This article is contributed by vt_m.
JavaScript
<script>
// Javascript program to check if a
// given character is vowel or consonant.
// Function to check whether a character is
// vowel or not
function vowelOrConsonant(x)
{
if (x == 'a' || x == 'e' || x == 'i' ||
x == 'o' || x == 'u' || x == 'A' ||
x == 'E' || x == 'I' || x == 'O' || x == 'U')
document.write("Vowel" + "</br>");
else
document.write("Consonant" + "</br>");
}
// Driver code
vowelOrConsonant('c');
vowelOrConsonant('E');
// This code is contributed by rameshtravel07
</script>
PHP
<?php
// PHP program to check if a given character
// is vowel or consonant.
// Function to check whether a
// character is vowel or not
function vowelOrConsonant($x)
{
if ($x == 'a' || $x == 'e' || $x == 'i' ||
$x == 'o' || $x == 'u' || $x == 'A' ||
$x == 'E' || $x == 'I' || $x == 'O' ||
$x == 'U')
echo "Vowel" . "\n";
else
echo "Consonant" . "\n";
}
// Driver code
vowelOrConsonant('c');
vowelOrConsonant('E');
// This code is contributed
// by Akanksha Rai
?>
Output:
Consonant
Vowel
Time Complexity: O(1)
Auxiliary Space: O(1)
using switch case
C++
#include <iostream>
using namespace std;
int isVowel(char ch)
{
int check = 0;
switch (ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
check = 1;
}
return check;
}
// Driver Code
int main()
{
cout << "a is " << isVowel('a')
<< endl; // 1 means Vowel
cout << "x is " << isVowel('x')
<< endl; // 0 means Consonant
return 0;
}
C
#include <stdio.h>
int isVowel(char ch)
{
int check = 0;
switch (ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
check = 1;
}
return check;
}
int main()
{
printf("a is %d\n",
isVowel('a')); // 1 means Vowel
printf("x is %d\n",
isVowel('x')); // 0 means Consonant
return 0;
}
Java
/*package whatever //do not write package name here */
import java.io.*;
class GFG {
static int isVowel(char ch)
{
int check = 0;
switch (ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
check = 1;
}
return check;
}
// Driver Code
public static void main(String[] args)
{
System.out.println("a is " + isVowel('a'));
System.out.println("x is " + isVowel('x'));
}
}
Python
def isVowel(ch):
switcher = {
'a': "Vowel",
'e': "Vowel",
'i': "Vowel",
'o': "Vowel",
'u': "Vowel",
'A': "Vowel",
'E': "Vowel",
'I': "Vowel",
'O': "Vowel",
'U': "Vowel"
}
return switcher.get(ch, "Consonant")
# Driver Code
print('a is '+isVowel('a'))
print('x is '+isVowel('x'))
C#
using System;
class GFG
{
static int isVowel(char ch)
{
int check = 0;
switch (ch) {
case 'a':
check = 1;
break;
case 'e':
check = 1;
break;
case 'i':
check = 1;
break;
case 'o':
check = 1;
break;
case 'u':
check = 1;
break;
case 'A':
check = 1;
break;
case 'E':
check = 1;
break;
case 'I':
check = 1;
break;
case 'O':
check = 1;
break;
case 'U':
check = 1;
break;
}
return check;
}
// Driver code
static public void Main ()
{
Console.WriteLine("a is " + isVowel('a'));
Console.WriteLine("x is " + isVowel('x'));
}
}
// This code is contributed by rag2127
JavaScript
<script>
function isVowel(ch)
{
var check = 0;
switch (ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
check = 1;
}
return check;
}
// Driver Code
// 1 means Vowel
document.write("a is " + isVowel('a') + "<br>");
// 0 means Consonant
document.write("x is " + isVowel('x') + "<br>");
// This code is contributed by Shivani
</script>
Time Complexity: O(1)
Auxiliary Space: O(1)
Another way is to find() the character in a string containing only Vowels.
C++
#include <iostream>
#include <string>
using namespace std;
int isVowel(char ch)
{
// Make the list of vowels
string str = "aeiouAEIOU";
return (str.find(ch) != string::npos);
}
// Driver code
int main()
{
cout << "a is " << isVowel('a') << endl;
cout << "x is " << isVowel('x') << endl;
return 0;
}
C
#include <stdio.h>
#include <string.h>
int isVowel(char ch)
{
// Make the list of vowels
char str[] = "aeiouAEIOU";
return (strchr(str, ch) != NULL);
}
// Driver Code
int main()
{
printf("a is %d\n", isVowel('a'));
printf("x is %d\n", isVowel('x'));
return 0;
}
Java
/*package whatever //do not write package name here */
import java.io.*;
class GFG {
static int isVowel(char ch)
{
// Make the list of vowels
String str = "aeiouAEIOU";
return (str.indexOf(ch) != -1) ? 1 : 0;
}
// Driver Code
public static void main(String[] args)
{
System.out.println("a is " + isVowel('a'));
System.out.println("x is " + isVowel('x'));
}
}
Python
def isVowel(ch):
# Make the list of vowels
str = "aeiouAEIOU"
return (str.find(ch) != -1)
# Driver Code
print('a is '+str(isVowel('a')))
print('x is '+str(isVowel('x')))
C#
// C# program to implement
// the above approach
using System;
class GFG{
static int isVowel(char ch)
{
// Make the list of vowels
string str = "aeiouAEIOU";
return (str.IndexOf(ch) != -1) ?
1 : 0;
}
// Driver code
static void Main()
{
Console.WriteLine("a is " + isVowel('a'));
Console.WriteLine("x is " + isVowel('x'));
}
}
// This code is contributed by divyeshrabadiya07
JavaScript
<script>
/*package whatever //do not write package name here */
function isVowel(ch)
{
// Make the list of vowels
let str = "aeiouAEIOU";
return (str.indexOf(ch) != -1) ? 1 : 0;
}
// Driver Code
document.write("a is " + isVowel('a')+"<br>");
document.write("x is " + isVowel('x')+"<br>");
// This code is contributed by patel2127
</script>
Time Complexity: O(N)
Auxiliary Space: O(1)
Most efficient way to check Vowel using bit shift :
In ASCII these are the respective values of every vowel both in lower and upper cases.
| Vowel | DEC | HEX | BINARY |
a | 97 | 0x61 | 01100001 |
e | 101 | 0x65 | 01100101 |
i | 105 | 0x69 | 01101001 |
o | 111 | 0x6F | 01101111 |
u | 117 | 0x75 | 01110101 |
|
A | 65 | 0x41 | 01000001 |
E | 69 | 0x45 | 01000101 |
I | 73 | 0x49 | 01001001 |
O | 79 | 0x4F | 01001111 |
U | 85 | 0x55 | 01010101 |
Since both lowercase and uppercase vowels have the same 5 least significant bits (LSBs), we can use a number 0x208222 that produces 1 in its LSB after right-shifting by 1, 5, 9, 15, or 21 positions, and 0 otherwise. Note that these shift positions depend on the character encoding.
| DEC | HEX | BINARY |
| 31 | 0x1F | 00011111 |
| 2130466 | 0x208222 | 1000001000001000100010 |
C++
#include <iostream>
using namespace std;
int isVowel(char ch)
{
return (0x208222 >> (ch & 0x1f)) & 1;
// same as (2130466 >> (ch & 31)) & 1;
}
// Driver Code
int main()
{
cout << "a is " << isVowel('a') << endl;
cout << "x is " << isVowel('x') << endl;
return 0;
}
C
#include <stdio.h>
int isVowel(char ch)
{
return (0x208222 >> (ch & 0x1f)) & 1;
// same as (2130466 >> (ch & 31)) & 1;
}
// Driver Code
int main()
{
printf("a is %d\n", isVowel('a'));
printf("x is %d\n", isVowel('x'));
return 0;
}
Java
/*package whatever //do not write package name here */
import java.io.*;
class GFG
{
static int isVowel(char ch)
{
return (0x208222 >> (ch & 0x1f)) & 1;
// same as (2130466 >> (ch & 31)) & 1;
}
// Driver Code
public static void main(String[] args)
{
System.out.println("a is " + isVowel('a'));
System.out.println("x is " + isVowel('x'));
}
}
Python
def isVowel(ch):
return (0x208222 >> (ord(ch) & 0x1f)) & 1
# same as (2130466 >> (ord(ch) & 31)) & 1;
# Driver Code
print('a is '+str(isVowel('a')))
print('x is '+str(isVowel('x')))
C#
// C# implementation of above approach
using System;
class GFG {
static int isVowel(char ch)
{
return (0x208222 >> (ch & 0x1f)) & 1;
// same as (2130466 >> (ch & 31)) & 1;
}
// Driver code
static void Main()
{
Console.WriteLine("a is " + isVowel('a'));
Console.WriteLine("x is " + isVowel('x'));
}
}
// This code is contributed by divesh072019
JavaScript
<script>
function isVowel(ch)
{
return (0x208222 >> (ch.charCodeAt(0) & 0x1f)) & 1;
// same as (2130466 >> (ch & 31)) & 1;
}
// Driver Code
document.write("a is " + isVowel('a')+"<br>");
document.write("x is " + isVowel('x')+"<br>");
// This code is contributed by unknown2108
</script>
Time Complexity: O(1)
Auxiliary Space: O(1)
*We can omit the ( ch & 0x1f ) part on X86 machines as the result of SHR/SAR (which is >> ) masked to 0x1f automatically.
*For machines bitmap check is faster than table check, but if the ch variable stored in register than it may perform faster.
CPP Program to Check Whether a character is Vowel or Consonant
CPP Program to Check Whether a character is Vowel or Consonant
Python Program to Find if a Character is a Vowel or Consonant
Explore
DSA Fundamentals
Data Structures
Algorithms
Advanced
Interview Preparation
Practice Problem