21xrx.com
2024-12-23 01:50:08 Monday
登录
文章检索 我的文章 写文章
【技巧分享】C语言:小写字母如何转化为大写字母
2023-06-15 15:32:56 深夜i     --     --
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;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复