C语言 将一个字母转换成其大小写(大写转换成小写,小写转换成大写)

#include <stdio.h>

int main() {
    char ch;
    printf("输入一个字母: ");
    scanf(" %c", &ch);  // 获取字母

    // 判断并转换大小写
    if (ch >= 'a' && ch <= 'z') {
        ch -= 32;  // 小写转大写
    } else if (ch >= 'A' && ch <= 'Z') {
        ch += 32;  // 大写转小写
    }

    printf("转换后的字母是: %c\n", ch);

    return 0;
}

说明
  1. 获取用户输入的字母。
  2. 根据ASCII码值判断并转换字母的大小写。
  3. 输出转换后的字母。
### C语言小写字母大写实现方法 在C语言中,小写字母大写可以通过标准库函数或手动计算ASCII码值两种方式实现。字母在ASCII码表中具有特定的数值范围,其中小写字母`a`到`z`的ASCII码值范围为97到122,而大写字母`A`到`Z`的对应范围为65到90。利用这些特性,可以方便地进行大小写转换。 #### 使用标准库函数 C语言标准库`ctype.h`中提供了`toupper`函数,用于将小写字母转换为对应的大写字母,对于非小写字母字符,函数会直接返回原字符。该方法实现简洁,代码可读性强[^3]。 ```c #include <stdio.h> #include <ctype.h> #include <string.h> int main() { char str[] = "emmmiaoEMM123!"; int len = strlen(str); for (int i = 0; i < len; i++) { str[i] = toupper(str[i]); } printf("%s\n", str); return 0; } ``` #### 手动计算ASCII码值 如果希望不依赖标准库函数,可以通过ASCII码特性手动实现转换。小写字母大写字母之间的ASCII码差值为32,因此将小写字母的ASCII码减去32即可得到对应的大写字母。需要注意的是,此方法需要确保只对小写字母执行转换,避免对非字母字符造成误操作[^2]。 ```c #include <stdio.h> #include <string.h> int main() { char str[] = "emmmiaoEMM123!"; int len = strlen(str); for (int i = 0; i < len; i++) { if (str[i] >= 'a' && str[i] <= 'z') { str[i] = str[i] - ('a' - 'A'); } } printf("%s\n", str); return 0; } ``` 两种方法均能实现小写字母大写的需求,选择标准库函数`toupper`适合追求代码简洁性和可维护性的场景,而手动计算ASCII码值则适用于需要减少依赖或优化性能的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值