C语言将字符转换为大写

如何编写一个C程序,使用内置函数toupper将字符转换为大写,以及不使用toupper函数的情况。C编程中的toupper是存在于<ctype.h>头文件中的一个内置函数。它用于将小写字符转换为大写,C toupper函数的语法是

toupper (<character>);

使用toupper函数将字符转换为大写的C程序

这个将小写字符转换为大写字符的程序允许用户输入任何字符。接下来,它将使用名为toupper的内置Cctype函数将字符转换为大写。

#include <stdio.h> 
#include <ctype.h>

int main()
{
  char Ch;
 
  printf("\n Please Enter any alphabet\n");
  scanf(" %c", &Ch);

  if (isalpha(Ch) )
   {  
     Ch = toupper(Ch); 
     printf ("\n Uppercase of Entered character is %c", Ch);
   }
  else
   {
     printf("\n Please Enter Valid Alphabet");
   }  
}
C Program to Convert Character to Uppercase 1

在这个将小写字符转换为大写字符的C程序中,我们声明了一个字符变量Ch。在下一行,我们使用了 If语句,if (isalpha(Ch))。

如果条件为TRUE,则给定的字符是字母。接下来,我们可以使用下面的C tooper函数toupper(Ch)将给定的字符转换为大写。

在下一行,我们有一个C编程printf语句来打印转换后的大写字母。

如果上述条件为FALSE,则给定的字符不是字母。因此,它将打印else语句

不使用toupper函数将字符转换为大写的C程序

这个程序允许用户输入任何字符,并在不使用内置Cctype函数toupper的情况下将其转换为大写。

在这个例子中,我们将使用ASCII码将小写字符转换为大写。请参考查找字符ASCII值的C程序文章,了解每个字母的ASCII值。

#include <stdio.h> 

int main()
{
  char Ch;
 
  printf("\n Please Enter any alphabet\n");
  scanf(" %c", &Ch);
  
  if (isalpha(Ch) )
  {
   if (Ch>=97 && Ch<=122)
    {  
      Ch = Ch-32; 
      printf ("\n Uppercase of Entered character is %c", Ch);
    }
   else
    {
      printf("\n You Already Entered Uppercase Character");
    }  
  }
  else
   {
     printf("\n Entered character is Not an Alphabet");
   }  
}
 Please Enter any alphabet
a

 Uppercase of Entered character is A

让我们看看,当我们给Ch赋值一个大写字母时会发生什么

 Please Enter any alphabet
L

 You Already Entered Uppercase Character

让我们看看,当我们给Ch赋值一个数字时会发生什么

 Please Enter any alphabet
9

 Entered character is Not an Alphabet

在这个将字符转换为大写的C程序示例中,如果您查看上面的嵌套If语句

if (Ch>=97 && Ch<=122)
//or
if (Ch >= 'a' && Ch <= 'z')

我们都知道,所有小写字符都在a到z之间,它们的ASCII码是97到122。因此,上面的if条件检查给定的字符是否在a到z之间。

如果上述条件为TRUE,那么我们需要将给定的字符转换为大写。如果您看到大写和小写字符的ASCII码,它们之间的差是32。例如,a的ASCII码=97,A的ASCII码=65(差值为32)。这就是为什么我们从字符的ASCII值中减去了32。在下一行,我们有一个printf语句来打印转换后的大写字母

如果上述条件为FALSE,则给定的字符已经是大写。因此,它将打印以下语句