C语言:字母大小写转换

本文详细介绍了ASCII码的基本概念及其在字母大小写转换中的应用。通过一个C语言程序实例,展示了如何利用ASCII码值的特性实现字符的大小写互换,包括计算大写与小写字母间的ASCII值差,以及条件判断下的转换逻辑。

1. 字母大小写转换

1)首先简单介绍ASCII码

(摘抄自ASCII码百度百科)

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 - 'Z' <= 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 - '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')

评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值