c语言中的大小写字母转换怎么转?

在C语言中,大小写字母转换是基于ASCII码表的特性实现的。ASCII码中,小写字母从'a'到'z'的ASCII码值是连续的(97到122),而大写字母从'A'到'Z'的ASCII码值也是连续的(65到90)。它们之间有固定的差值:小写字母对应的ASCII码值比相同的大写字母的ASCII码值大32。

因此,可以使用以下方式来转换:

  1. 将小写字母转换为大写字母:
c 复制代码
char lower_case = 'a'; // 假设是要转换的小写字母
char upper_case = lower_case - 32;
// 现在upper_case就是转换后的大写字母
  1. 将大写字母转换为小写字母:
c 复制代码
char upper_case = 'A'; // 假设是要转换的大写字母
char lower_case = upper_case + 32;
// 现在lower_case就是转换后的小写字母

下面是一个简单的函数示例,用于演示如何实现任意大小写字母的转换:

c 复制代码
#include <stdio.h>

// 转换函数声明
char to_upper(char c);
char to_lower(char c);

int main() {
    char input, output;

    printf("请输入一个字符:");
    scanf(" %c", &input); // 注意这里的空格,用于跳过空白字符

    // 调用转换函数
    if (input >= 'a' && input <= 'z') {
        output = to_upper(input);
    } else if (input >= 'A' && input <= 'Z') {
        output = to_lower(input);
    } else {
        printf("输入的不是字母。\n");
        return 0;
    }

    printf("转换结果:%c -> %c\n", input, output);
    return 0;
}

// 小写转大写函数
char to_upper(char c) {
    if (c >= 'a' && c <= 'z') {
        return c - 32;
    }
    return c; // 如果不是小写字母,则返回原字符
}

// 大写转小写函数
char to_lower(char c) {
    if (c >= 'A' && c <= 'Z') {
        return c + 32;
    }
    return c; // 如果不是大写字母,则返回原字符
}

这段代码首先接收用户输入的一个字符,然后通过判断字符是否在字母范围内进行相应的转换,并输出转换后的结果。如果输入的字符不是字母,则会提示并保持原样输出。

相关推荐
Natsume17101 小时前
嵌入式开发:GPIO、UART、SPI、I2C 驱动开发详解与实战案例
c语言·驱动开发·stm32·嵌入式硬件·mcu·架构·github
shaun20011 小时前
华为c编程规范
c语言
MeshddY2 小时前
(超详细)数据库项目初体验:使用C语言连接数据库完成短地址服务(本地运行版)
c语言·数据库·单片机
森焱森2 小时前
无人机三轴稳定化控制(1)____飞机的稳定控制逻辑
c语言·单片机·算法·无人机
凌肖战3 小时前
力扣网C语言编程题:快慢指针来解决 “寻找重复数”
c语言·算法·leetcode
猫猫的小茶馆6 小时前
【STM32】预分频因子(Prescaler)和重装载值(Reload Value)
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机
JeffersonZU6 小时前
Linux/Unix文件IO(文件描述符、原子操作、文件数据结构、open、read、write、fcntl、dup)
linux·c语言·unix·gnu
智者知已应修善业9 小时前
【51单片机用数码管显示流水灯的种类是按钮控制数码管加一和流水灯】2022-6-14
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
森焱森19 小时前
无人机三轴稳定控制(2)____根据目标俯仰角,实现俯仰稳定化控制,计算出升降舵输出
c语言·单片机·算法·架构·无人机
楼田莉子20 小时前
数据结构学习之栈
c语言·数据结构·笔记·学习·算法