C语言:给定一个小写字母,转换成大写字母

发布网友 发布时间:2022-04-23 00:45

我来回答

5个回答

热心网友 时间:2023-08-10 07:00

1、C语言中,字符的存储占用一个字节,且都是使用其对应的ASCII码值来存储的。
2、根据ASCII码表,我们可以看出:大、小写字母都是按顺序进行存储的,大写字母的ASCII值区间为:65~90,对应的字母为:'A'-'Z';小写字母的ASCII值区间为:97~122,对应的字母为:'a'-'z',因此,将小写字母转化为大写字母,可以直接将该变量减32即可得到对应的大写字母。

3、因此源程序如下:

#include <stdio.h>

char toUpCase(char ch);

int main()  

{  

int ch;

printf("请输入一个小写字母:");

scanf("%c",&ch);

    printf("对应的大写字母为:%c\n",toUpCase(ch)) ;

}

char toUpCase(char ch)

{

if(( 'a' <= ch) &&(ch <='z'))

{

    return (ch - 32);

}

return ch;

}

4、输出如下:

热心网友 时间:2023-08-10 07:01

小写字母的ASCII码比大写字母的ASCII码大32(可查ASCII码表),所以只要将小写字母强制转换成int型(这样就转换成了ASCII码),再减去32,所得结果强制转换成char型即可.

热心网友 时间:2023-08-10 07:01

这个有两种做法:
一种直接用库函数toupper(char):
另一种是根据大小写字母之间的差值为32
#include <stdio.h>
#include <ctype.h>//包含toupper(char)函数
void main()
{
char c1,c2;
scanf("%c%c", &c1,&c2);//输入两个字符
printf("%c\n", toupper(c1));//方法1
c2 -= 32; //方法2
printf("%c\n", c2);
}

热心网友 时间:2023-08-10 07:02

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

int main(void)
{
char c;
scanf("%c%*c",&c);
putchar(toupper(c));
return 0;
}

热心网友 时间:2023-08-10 07:02

toupper();

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com