⭐个人主页:黑菜钟-CSDN博客
❀专栏:c/c++_黑菜钟的博客-CSDN博客
这篇博客主要介绍3种有关大小写转换的方法,以及如何判断大小写的扩展c语言库函数
在ASCII编码表中,小写和大写总是差一个数字,大写A和小写a差32,大写Z和小写也差32
因此:小写字母的ASCII码值-32就能得到对应的大写字母的ASCII码值
该方法可以实现传入大写字符转换成小写字符,传入小写字符转换成大写字符这样双重效果
字符数据按位异或32
当最简单的65也就是对应ASCII编码表的A
01000001和36对应的00100000按位取反结果为01100001(相同取0不相同取1)
01100001转换为10进制为97,对应ASCII编码表为a,小写字母
使用库函数直接转换
小写转换大写:toupper()函数
使用
C 库函数 int toupper(int c) 把小写字母转换为大写字母。
如果 c 有相对应的大写字母,则该函数返回 c 的大写字母,否则 c 保持不变。返回值是一个可被隐式转换为 char 类型的 int 值。
意味着当向toupper()函数传输一个小写字母(实际是它的ASCII值)时,它会返回给你一个该字母对应的大写字母(实际是大写字母的ASCII值)
#include
#include
int main()
{
int i = 0;
char c;
char str[] = "runoob";
while(str[i])
{
putchar (toupper(str[i]));
i++;
}
return(0);
}
注意事项:当在这个函数里写不同的内容会发生不一样的结果
当直接接收整形数据(字符的ASCII码值)作为参数时返回相应大写字母的ASCII码值。
当接收整型大小超过一个字节会发生截断,自动截断后八位之外的数据。
因为作为toupper()函数的参数只能识别一个字节的整形,即在十进制0-255范围内。
⭐注意:在发生截断的情况下,toupper函数返回的是截断后的原数据,不会返回转换成大写后的数据
大写转换小写:tolower()函数
tolower和toupper使用方法基本一致,除了它是转换大写到小写的意外,都一样,也会发生截断,阶段范围也是后八位。
利用函数来判断大小写
C 库函数 int islower(int c) ,检查所传的字符是否是小写字母,如果 c 是一个小写字母,则该函数返回非零值(true),否则返回 0(false)
使用头文件
判断参数c是否为大写字母,如果 c 是一个大写字母,则该函数返回非零值(true),否则返回 0(false)
使用头文件
希望这篇有关于c语言大小写转换博客能对大家有所帮助,欢迎大佬们留言或私信与我交流(●'◡'●)
你要做冲出的黑马 而不是坠落的星星
一起学习进步!!!