c语言 求怎么判断字母的大小写?
c语言中,变量ch如果是一个char类型量,可以用以下的语句来进行判别大小写:
1、if(ch>='A' && ch<='Z')printf("%c是一个大写字母\n",ch)。
2、if(ch>='a' && ch<='z')printf("%c是一个小写字母\n",ch)。
3、if(ch>='0' && ch<='9')printf("%c是一个数字字符\n",ch)。
扩展资料:
其它方法得出字母的大小写:
方法一:
int main( )
{
char ch;
scanf(“%c”,&ch);
ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;
printf(“%c\n”,ch);
}
方法二:
利用利用ASIC码,小写字母从a到z,对应的码值是97—122;大写字母是65-90。
定义字符char c;
if(c>=97&&c<=122) //为小写字母
else //为大写字母
与大小写的边界进行比较,在对应范围的,则是大写或者小写。
一、问题分析:
1、在计算机中,字符是以ASCII码形式存储的;
2、在ASCII码表中,字符'A'到字符'Z'是连续的,且'A'最小'Z'最大,类似的,'a'到'z'也是连续的;
3、由于以ASCII码值存储,所以字符类数据支持比较,所以只需要以边界值进行比较,如果字符在范围内,则为大/小写字母。
二、参考代码:
如果仅进行少量比较,可以直接写关系运算表达式。如果使用的较多,可以写为宏定义。
以输入一个字符,判断是否为大写或小写字母为例,代码可以编写如下:
#include <stdio.h>
#define IS_UPPER(x) (x>='A' && x<='Z')//判断是否为大写。
#define IS_LOWER(x) (x>='a' && x<='z')//判断是否为小写。
int main()
{
char c;
c=getchar();//输入一个字符。
if(IS_UPPER(c))//判断是否为大写。
printf("是大写字母\n");
else if(IS_LOWER(c))//判断是否为小写。
printf("是小写字母");
else //都不是.
printf("其它字符\n");
return 0;
}
推荐于2017-05-18
void main()
{
char ch;
printf("请你输入一个字母:\n");
scanf("%c",&ch);
if(ch>'a'&&ch<'z')
{
printf("这是一个小写字母!\n");
}
else if(ch>'A'&&ch<'Z')
{
printf("这是一个大写字母!\n");
}
else
{
printf("这不是一个字母!\n");
}
}
2013-08-16
包含的头文件为 #include <ctype.h>