【C语言】之实现大小写字母转换

本文介绍了一个简单的C语言程序,该程序能够接收用户输入的单个字符并判断其是否为字母,若为字母则实现大小写的相互转换。通过两种方法实现了这一功能:一种是直接通过ASCII码值进行转换,另一种则是利用标准库函数进行更通用的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 * 文件名:字母大小写转换.c
 * 功能描述:
 *     输入一个字符判断其是否为字母,如果是字母则将大写转换为小写或将小写转换为大写
 * 编写人:王廷云
 * 编写日期:2017-1-10
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(void)
{
    int key;            /* getchar fgetc getc 返回值为int */

    fprintf(stdout, "请输入一个字母:");
    key = fgetc(stdin); /* fgetc 由函数实现 */
                        /* getchar 和 getc 由宏实现 */
#if 0 /* 方法一:不可移植 */
    
    /* 假定为大写字母 */
    if (key >= 'A' && key <= 'Z')
    {
        fprintf(stdout, "字母'%c'对应的小写字母为:'%c'\n", \
	                                 key, key-'A'+'a');
        exit(1);
    }

    /* 假定为小写字母 */
    if (key >= 'a' && key <= 'z')
    {
        fprintf(stdout, "字母'%c'对应的大写字母为:'%c'\n", \
	                                key, key-'a'+'A');
    }
    else
    {
        fprintf(stdout, "您输入的字符'%c'不是字母!\n", key);
    }
   
#else /* 方法二:可移植 */

    /* 判断是否为字母 */
    if (!isalpha(key))
    {
        fprintf(stdout, "您输入的字符'%c'不是字母!\n", key);
        exit(1);
    }

    /* 字母大小写转换 */
    if (isupper(key))
    {
        fprintf(stdout, "字母'%c'对应的小写字母为:'%c'\n", 
	                                key, tolower(key));
    }
    else
    {
        fprintf(stdout, "字母'%c'对应的大写字母为:'%c'\n", 
                                        key, toupper(key));
    }
#endif 

    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值