如何编写一个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程序中,我们声明了一个字符变量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,则给定的字符已经是大写。因此,它将打印以下语句