C语言——字符串大小写互换

2024-06-14 20:38:25 浏览数 (2)

前言: 在C语言中,大小写字母相互转换是一个常见的操作。本文将详细介绍C语言中实现大小写字母相互转换的各种方法,并附上代码示例。


一、使用tolower()toupper()函数

C语言标准库提供了tolower()toupper()两个函数,分别用于将大写字母转换为小写字母,以及将小写字母转换为大写字母。这两个函数的原型如下:

代码语言:javascript复制
int tolower(int c);
int toupper(int c);

其中,c表示要转换的字符。

示例:

代码语言:javascript复制
#include <stdio.h>
#include <ctype.h>

int main() {
    char str[] = "Hello WORLD!";
    
    // 将字符串中的大写字母转换为小写字母
    for (int i = 0; str[i] != ''; i  ) {
        if (isupper(str[i])) {
            str[i] = tolower(str[i]);
        }
    }
    
    printf("The converted string is: %sn", str);

    return 0;
}

二、使用位操作

位操作是一种通用的方法,可以用于大小写字母的转换。对于ASCII码,大写字母的范围是65-90,小写字母的范围是97-122。我们可以利用这个范围差异进行位操作。

示例:

代码语言:javascript复制
#include <stdio.h>

int main() {
    char str[] = "Hello WORLD!";
    
    // 将字符串中的大写字母转换为小写字母
    for (int i = 0; str[i] != ''; i  ) {
        if (str[i] >= 'A' && str[i] <= 'Z') {
            str[i] = (str[i] - 'A'   'a') % 26   'a';
        }
    }
    
    printf("The converted string is: %sn", str);

    return 0;
}

三、使用字符串操作函数

C语言标准库提供了strlwr()strupr()两个函数,分别用于将小写字母转换为大写字母,以及将大写字母转换为小写字母。这两个函数的原型如下:

代码语言:javascript复制
char *strlwr(char *str);
char *strupr(char *str);

示例:

代码语言:javascript复制
#include <stdio.h>

int main() {
    char str[] = "Hello WORLD!";
    
    // 将字符串中的大写字母转换为小写字母
    str = strlwr(str);
    
    printf("The converted string is: %sn", str);

    return 0;
}

总结,在C语言中实现大小写字母相互转换有多种方法,包括使用tolower()toupper()函数、使用位操作以及使用字符串操作函数等。大家可以根据不同的需要自行选择,当然,还有更多的方法等待你来探索。

创作不易,还请点上一个大大的赞。

0 人点赞