C语言大小写字母转换

Python018

C语言大小写字母转换,第1张

就是ASCII码的加减,字母的大写和小写的ASCII码的差值是一样的。

小写的字母ASCII码为 97('a')到 122('z'),转换成大写字母则ASCII减32,变成从65('A')到90('Z')

每个字母对应一个ascii码,查ascii码表就可以一目了然。输入字母,转换为int类型,看其值是在什么范围,就可以知道输入的是大写还是小写。

ASCII码:美国(国家)信息交换标准(代)码,一种使用7个或8个二进制位进行编码的方案,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。ASCII码于1968年提出,用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。

ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。

1、输入字符,可以使用getchar或者scanf的%c格式。

2、在ASCII码表中,对应的小写字母比大写字母大32,所以输出增加32之后的值即可。

3、输出可以使用putchar或者printf。

4、参考代码:

#include <stdio.h>

int main()

{

    char c

    c=getchar()//输入。

    if(c>='A' && c<='Z')//是大写字母

        putchar(c+32)//输出小写。

    return 0

}

如果限定输入为合法大写,不需要判断合法性,那么代码可以简化为:

#include <stdio.h>

int main()

{

    putchar(getchar()+32)//输入,计算,输出,一句即可。

    return 0

}

上面源程序的功能是实现大写字母转换为小写字母。

定义两个字符变量c1,c2,语句c1=getchar()要求输入一个大写字母的字符,比如输入a,由于字符a的ascll是65,执行语句printf("%c,%d\n",c1,c1)此时会输出a,65,由于任何小写字母的ascll值比其对应的大写字母大32,则根据语句c2=c1+32把字符a的ascll值加32,变为97,对应的就是字符a,即大写字母a的小写形式,在赋给c2,最后执行printf("%c,%d\n",c2,c2)输出a,97.