1、首先用vs2017软件新建一个空白的c语言文件,引入头文件并建立主函数,主函数中先定义2个char类型的变量,一个用来接收用户输入的字母,另一个用来接收处理后的结果:
2、接着先用getchar函数将用户输入的字符存入变量a中去,然后用b加上32即可得到小写字母,原因就是由于大写字母与小写字母之间的差值为 32,因此将小写字母的 ASCII 码值 加上32,便可得到与之对应的大写字母。最后打印结果即可:
3、运行编译程序,这里输入任意一个字母按下回车,即可打印出处理后的小写字母。以上就是用C语言处理大写转小写的示例:
#include <stdioh>
void str_trans(char c[])
{
for(int i=0;c[i];i++)
{
if(c[i]<='z' && c[i]>='a')
{
c[i]=(c[i]-'a')+'A';
}else if(c[i]>='A'&&c[i]<='Z')
{
c[i]=(c[i]-'A')+'a';
}
}
}
int main()
{ char s[101];
gets(s);
str_trans(s);
puts(s);
scanf("%s",s);
return 0;
}
C语言中,字符的存储都是使用ascii值来存储的。
根据ASCII码表,我们可以看出:大、小写字母都是按顺序进行存储的,大写字母的ASCII值区间为:65~90,对应的字母为:'A'-'Z';小写字母的ASCII值区间为:97~122,对应的字母为:'a'-'z',因此,将小写字母转化为大写字母,可以直接将该变量减32即可得到对应的大写字母,如:
char ch='a';
printf("upper case '%c'='%c'\n", ch, ch-32 );
如果记不清,大小字母谁大谁小,则可以采用如下方法进行转换:
char ch='x';
printf("upper case '%c'='%c'\n", ch, ch-'a'+'A' ); //减a得到偏移值,加A得到相应的大写字母
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)