c语言大小写字母转换以及ASCII

请问1.字符A和'A'的区别是什么,字符加单引号和不加单引号的区别是什么,'a-A'是代表什么2.实现任意大小写字母转换。代码如下:#include<stdio.h>vo... 请问 1. 字符A和'A'的区别是什么,字符加单引号和不加单引号的区别是什么,'a-A'是代表什么

2.
实现任意大小写字母转换。代码如下:
#include<stdio.h>
void main()
{
char x='a';
printf("请您输入任意大写字母或者小写字母x:\n");
scanf("%c",&x);
if( x>='A' && x<='Z')
{
x=x+32;
}
else
if( x>='a' && x<='z')
{
x=x-32;
}
printf("%c\n",x);
}
x>='A' 和x<='Z'中的'A' 'Z'是什么意思,是字符还是字符对应的数字?如果是字符,为什么还能比较大小呢,如果这里边的A 和Z我不加单引号 x>=A 和x<=Z,这样表示的是什么

3. #include<stdio.h>

int main(void)
{
int x;
char y;

printf("输入字符\n");

scanf("%c",&y);

x='y'+1;

printf("%d\n",x);

return 0;

}

如果我把x='y'+1;换成x=y+1;,结果为何不同,是什么原因造成的结果的不同
展开
 我来答
kaixingui2012
2014-07-14 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6427万
展开全部
  1. 字符A和'A'的区别是什么,   A是个变量   'A'是一个字符

  2. 字符加单引号和不加单引号的区别是什么,     有单引号是字符常量,没有,只能是个变量符号

  3. 'a-A'是代表什么   这么写是错的,可以写成a-'A'   这表示得到a在字母中的序号,如a='A' 则,a-'A'=0

更多追问追答
追问
第三个问题,y在这个程序中是char型,y的ASCII是121,x=y+1=122,无论我给y怎样赋值,结果都是122,然而x='y'+1的结果是我给y赋的值的ascii的值+1的结果,你能不能给我解释一下,这是为啥
追答
x='y'+1;   这里你用的是'y'这个字符常量!!!!所以,无论你输入什么都不会变!

换成
x=y+1; 这里你用的是个变量y,也就是你输入的数据scanf("%c",&y ); 这样,你输入的信息不同,x的结果就不同了!
百度网友018ba30
2014-07-14
知道答主
回答量:27
采纳率:0%
帮助的人:20.7万
展开全部
  1. 不加引号,A就是一个变量。加了引号就是A的ASCII码

  2. x>='A' 和x<='Z'这个变身x要在A和Z的ASCII之间 而x>=A 和x<=Z表示x在A和Z两个变量指代的值之间

  3. x='y'+1就是说x为y的ASCII码和1的和 而x=y+1表示y这个变量的值和1的和

追问
你回答的第三个问题我没看明白,这个程序我运行了,y在这个小程序中是char型,y的ASCII是121,x=y+1=122,无论我给y怎样赋值,结果都是122,然而x='y'+1的结果是我给y赋的值的ascii的值+1的结果,你能不能给我解释一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赞的都帅
高粉答主

2018-05-31 · 说的都是干货,快来关注
知道小有建树答主
回答量:150
采纳率:100%
帮助的人:4.9万
展开全部

就是ASCII码的加减,字母的大写和小写的ASCII码的差值是一样的。

小写的字母ASCII码为 97('a')到 122('z'),转换成大写字母则ASCII减32,变成从65('A')到90('Z')

每个字母对应一个ascii码,查ascii码表就可以一目了然。输入字母,转换为int类型,看其值是在什么范围,就可以知道输入的是大写还是小写。

ASCII码:美国(国家)信息交换标准(代)码,一种使用7个或8个二进制位进行编码的方案,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。ASCII码于1968年提出,用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。

ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
znstj
2017-06-21 · TA获得超过685个赞
知道小有建树答主
回答量:589
采纳率:66%
帮助的人:323万
展开全部
c2=c1+32;这一句实现大小写转换的。
这里的字符是ASSIC码。
大写字母A~Z是65-90.
小写字母a~z是97~122.
故加12转换、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
肆意横流的思念
2011-07-11 · TA获得超过280个赞
知道答主
回答量:27
采纳率:0%
帮助的人:23.4万
展开全部

#include<stdio.h>

void main()

{

char c1,c2;           // 定义两个字符c1,c2

c1=getchar();       //从键盘输入一个大写字母,放在c1  

printf("%c,%d\n",c1,c1);//输出 你输入的那个大写字母 以及他的ASCII

c2=c1+32;               //将大写的转换成小写的

printf("%c,%d\n",c2,c2);输入小写字母

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式