21xrx.com
2025-04-23 20:05:43 Wednesday
文章检索 我的文章 写文章
【技巧分享】C语言:小写字母如何转化为大写字母
2023-06-15 15:32:56 深夜i     18     0
C语言 大小写转换 toupper()函数 ASCII码 位运算

在C语言编程中,我们经常需要将字符串或字符中的小写字母转换为大写字母。这种转化可以通过代码来实现,下面就来介绍一下具体的实现方法。

方法一:使用库函数toupper()

在C语言中,可以使用库函数toupper()来将单个小写字母转换为大写字母。toupper()函数需要一个字符作为参数,并返回相应的大写字母。

例如,下面的代码将把字符串中的所有小写字母转换成大写字母:

#include 
#include 
int main()
{
  char str[] = "Hello, World!";
  int i;
  for(i=0; str[i]; i++)
    str[i] = toupper(str[i]);
  printf("转换后的字符串:%s\n", str);
  return 0;
}

方法二:使用ASCII码

除了使用toupper()函数外,我们还可以通过ASCII码来将小写字母转换为大写字母。具体实现方法是将小写字母的ASCII码加上32,就可以得到对应的大写字母的ASCII码。

例如,下面的代码将把字符串中的所有小写字母转换成大写字母:

#include 
int main()
{
  char str[] = "Hello, World!";
  int i;
  for(i=0; str[i]; i++)
  {
    if(str[i] >= 'a' && str[i] <= 'z')
      str[i] = str[i] - 32;
  }
  printf("转换后的字符串:%s\n", str);
  return 0;
}

方法三:使用位运算

位运算的效率比其他方法要高。具体方法是使用按位异或(^)运算符,将小写字母的ASCII码和32进行异或运算,就可以得到对应的大写字母的ASCII码。

例如,下面的代码将把字符串中的所有小写字母转换成大写字母:

#include 
int main()
{
  char str[] = "Hello, World!";
  int i;
  for(i=0; str[i]; i++)
  {
    if(str[i] >= 'a' && str[i] <= 'z')
      str[i] = str[i] ^ 32;
  }
  printf("转换后的字符串:%s\n", str);
  return 0;
}

  
  

评论区