当前位置:   article > 正文

C语言:字母大小写转换_c语言大小写字母转化代码

c语言大小写字母转化代码

1. 字母大小写转换

1)首先简单介绍ASCII码

(摘抄自ASCII码百度百科)

ASCII码

在此ASCII码中可以知道:

A-Z的ASCII值为 : 65-90

a-z的ASCII值为  : 97-122

2)开始字母大小写转换

下面通过一个简单的程序进行演示字母的大小写转换(为了方便查看结果,使用printf进行输出)

  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. // ASCII码表中:
  5. // A-Z: 65-90
  6. // a-z: 97-122
  7. char cLetter;
  8. char cDifference = 'a' - 'A'; // 计算出大写字母与小写字母的ASCII值的差
  9. printf("请输入要转换的字母: ");
  10. scanf_s(" %c", &cLetter);
  11. if (cLetter - 'Z' <= 0) // 如果不是大写字母,则进行转换成小写字母
  12. cLetter += cDifference;
  13. else // 如果是小写,则进行转换成大写字母
  14. cLetter -= cDifference;
  15. printf("转换后的字母: %c", cLetter);
  16. printf("\n");
  17. return 0;
  18. }

简单讲解上面的程序:

定义一个char(字符型)的变量cLetter

定义一个char(字符型)的变量cDifference,并且赋值为'a' - 'A'的差

使用scanf_s进行获取输入需要转换的字母,保存到cLetter中

通过if(条件判断)进行判断cLetter(输入的字母),如果为大写则转换为小写(同理小写)

cLetter - 'Z' <= 0 则为判断cLetter(输入的字母)是否为大写的字母

如果为大写则cLetter += cDifference:(同理cLetter -= cDifference)

首先cDifference为 'a' - 'A'的差,也就是 97-65 为 32

假设cLetter为 'A'

已知 'A' 的ASCII码表的值为65

所以 +=cDifference(32) 为 97 (也就是'a'的ASCII码表的值)

最终完成大写转小写的工作

再补充:

因为 'a' - 'A'的差为32

假设输入为'a'(97) 减去 32 就是等于 65('A')

假设输入为'A'(65) 加上32 就是等于97('a')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/154341
推荐阅读
相关标签
  

闽ICP备14008679号