在C语言中如何判断输入的是否为英文字母
:#include <ctype.h>
isalnum() 用来判断一个字符是否为英文字母或数字,相当于 isalpha(c) || isdigit(c),其原型为:
int isalnum(int c);
【参数】c 为需要检测的字符。
【返回值】若参数c 为字母或数字,若 c 为 0 ~ 9 a ~ z A ~ Z 则返回非 0,否则返回 0。
注意,isalnum()为宏定义,非真正函数。
【实例】找出str 字符串中为英文字母或数字的字符。
#include <ctype.h>main(){char str[] = "123c@#FDsP[e?";int i;for (i = 0; str[i] != 0;
i++)if(isalnum(str[i]))printf("%c is an alphanumeric character\n", str[i]);}
#include <ctype.h>
main(){
char str[] = "123c@#FDsP[e?";
int i;
for (i = 0; str[i] != 0; i++)
if(isalnum(str[i]))
printf("%c is an alphanumeric character\n", str[i]);}
输出结果:
1 is an apphabetic character
2 is an apphabetic character
3 is an apphabetic character
c is an apphabetic character
F is an apphabetic character
D is an apphabetic character
s is an apphabetic character
P is an apphabetic character
e is an apphabetic character
一、算法分析。
1、在C语言中,英文字母归属于字符类,使用char类型存储。 实际存储的值是该字符的ascii码值。
2、在ascii码表中,小写英文字母a~z和大写英文字母A~Z分别连续。
3、所以,可以通过比较是否在英文字母的ascii码值范围,来判断是否为英文字母。 比如,判断是否为英文小写字母,可以写作:
a>='a' && a<='z'
判断是否为英文大写字母,可以写作:
a>='A' && a<='Z'
二、参考代码:
#include <stdio.h>
int main()
{
char a;
a=getchar();//输入一个字符。
if((a>='a' && a<='z')||(a>='A' && a<='Z'))//是英文字母。
printf("是英文字母\n");//输出结果。
else
printf("不是英文字母\n");
return 0;
}
char ch;
ch = getch();
if( ch > ='A' && ch <= 'Z'
|| ch >= 'a' && ch <= 'z' )
法二:
推荐:
#include <ctype.h>
isalpha函数。具体可以参照一下百度百科。