But they are integers. A char is nothing more than a smaller int. For instance 'A' has value 65 decimal, 'B' has the value 66 decimal, and so forth. This is what C "sees". When you use the character constant 'A', C sees 65 (well, it actually sees 01000001 (65 in binary) I guess, but that's beside the point). So you can just do if(input_character >= 'A' && input_character <= 'Y') to see if it's one of those characters.