1. 字母大小写转换
1)首先简单介绍ASCII码
在此ASCII码中可以知道:
A-Z的ASCII值为 : 65-90
a-z的ASCII值为 : 97-122
2)开始字母大小写转换
下面通过一个简单的程序进行演示字母的大小写转换(为了方便查看结果,使用printf进行输出)
#include <stdio.h>
int main(void)
{
// ASCII码表中:
// A-Z: 65-90
// a-z: 97-122
char cLetter;
char cDifference = 'a' - 'A'; // 计算出大写字母与小写字母的ASCII值的差
printf("请输入要转换的字母: ");
scanf_s(" %c", &cLetter);
if (cLetter - 'A' < 0) // 如果不是大写字母,则进行转换成小写字母
cLetter += cDifference;
else // 如果是小写,则进行转换成大写字母
cLetter -= cDifference;
printf("转换后的字母: %c", cLetter);
printf("\n");
return 0;
}
简单讲解上面的程序:
定义一个char(字符型)的变量cLetter
定义一个char(字符型)的变量cDifference,并且赋值为'a' - 'A'的差
使用scanf_s进行获取输入需要转换的字母,保存到cLetter中
通过if(条件判断)进行判断cLetter(输入的字母),如果为大写则转换为小写(同理小写)
cLetter += cDifference:(同理cLetter -= cDifference)
首先cDifference为 'a' - 'A'的差,也就是 97-65 为 32
假设cLetter为 'A'
已知 'A' 的ASCII码表的值为65
所以 +=cDifference(32) 为 97 (也就是'a'的ASCII码表的值)
最终完成大写转小写的工作