入力された文字の種類をC言語で判別します。
C言語では、ctype.hヘッダーファイル内の関数を使用して、入力された文字の種類を判断することができます。以下は一般的に使用される関数のいくつかです。
- cがアルファヌメリック文字(英数字)であるかどうか
- 文字cがアルファベットかどうかを確認します。
- cが数字である
- cが小文字かどうかを判定します。
- cが大文字かどうかを判定します。
- cが空白文字かどうか。
- cが句読点かどうかを調べます。
- cが16進数字である
これらの関数の返り値が0でない値(True)の場合は、文字が条件を満たしていることを意味し、返り値が0(False)の場合は、文字が条件を満たしていないことを意味します。
以下は、ユーザーが入力した文字の種類を判断するサンプルプログラムです。
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
printf("请输入一个字符:");
scanf("%c", &c);
if (isalnum(c)) {
printf("输入的字符是字母或数字\n");
} else if (isalpha(c)) {
printf("输入的字符是字母\n");
} else if (isdigit(c)) {
printf("输入的字符是数字\n");
} else if (islower(c)) {
printf("输入的字符是小写字母\n");
} else if (isupper(c)) {
printf("输入的字符是大写字母\n");
} else if (isspace(c)) {
printf("输入的字符是空白字符\n");
} else if (ispunct(c)) {
printf("输入的字符是标点符号\n");
} else if (isxdigit(c)) {
printf("输入的字符是十六进制数字\n");
} else {
printf("输入的字符无法识别\n");
}
return 0;
}
プログラムを実行すると、ユーザーは1つの文字を入力することができ、その文字のタイプをプログラムが判別して出力します。