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个回答  2017-06-20

与大小写的边界进行比较,在对应范围的,则是大写或者小写。

一、问题分析:

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;
}

第2个回答  推荐于2017-05-18
#include<stdio.h>
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");
}
}本回答被网友采纳
第3个回答  2013-08-16
isupper()判断是否为大写,islower()判断是否为小写,
包含的头文件为 #include <ctype.h>
第4个回答  2019-04-24
C的大字写母是
相似回答