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

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

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、输出如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-06-09
小写字母的ASCII码比大写字母的ASCII码大32(可查ASCII码表),所以只要将小写字母强制转换成int型(这样就转换成了ASCII码),再减去32,所得结果强制转换成char型即可.
第2个回答  2008-06-09
这个有两种做法:
一种直接用库函数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);
}
第3个回答  推荐于2017-10-05
#include <stdio.h>
#include <ctype.h>

int main(void)
{
char c;
scanf("%c%*c",&c);
putchar(toupper(c));
return 0;
}本回答被提问者采纳
第4个回答  2008-06-09
toupper();

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网