C言語で文字がアルファベットの大文字かどうかをチェックするには ctype.h の isupper 関数を使用します.
#include <ctype.h>
int isupper( int c /* int 型の文字 */ );
isupper 関数は,指定した文字 c がアルファベットの大文字 ('A' - 'Z') なら真 (0以外) を返す関数です.
isupper 関数を使用して入力された文字がアルファベットの大文字かどうかをチェックするサンプルプログラムを以下に示します.
/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
/* main */
int main(void) {
int ch = getchar();
/* 入力チェック */
if ( isupper((unsigned char)ch) ) {
puts("入力された文字はアルファベットの大文字です.");
} else {
puts("入力された文字はアルファベットの大文字ではありません.");
}
return EXIT_SUCCESS;
}
サンプルプログラムの実行結果は以下のようになります.
(Aを入力) 入力された文字はアルファベットの大文字です. (Zを入力) 入力された文字はアルファベットの大文字です. (aを入力) 入力された文字はアルファベットの大文字ではありません. (zを入力) 入力された文字はアルファベットの大文字ではありません. (9を入力) 入力された文字はアルファベットの大文字ではありません.