
请详细解释一下C++中字符常量的用法。关于char a ,char‘a’ 和char“a”,有什么用法区别啊?
charb=‘a';cout<<b;结果是a为什么不是输出97?为什么写charb=a;cout<<b;错误了?为什么可以写charch;cin>>ch;ch=ch+32...
char b=‘a';
cout<<b;结果是a
为什么不是输出97?
为什么写
char b=a;
cout<<b;错误了?
为什么可以写
char ch;
cin>>ch;
ch=ch+32;
cout<<ch;
这时输入大写可转换小写,定义的是char ch,ch为什么可以直接加减运算啊?是在运算过程中类型转换了?不是只有’ch‘这种才代表常量吗?
还有为什么
char ch;
cin>>ch;
这样可以,而
char 'ch';
cin>>ch;就不行了?
有char ch=‘101’或char ch='\101';这种写法?
cout<<ch;
我的电脑分别显示1和A啊?
还有。如何使我输入一个阿斯玛值,输出的是对应字母,输如一个字母,输出对应的阿斯玛值?用cin和cout表示。
这一点真是迷糊,回答的清楚我会有加分的。 展开
cout<<b;结果是a
为什么不是输出97?
为什么写
char b=a;
cout<<b;错误了?
为什么可以写
char ch;
cin>>ch;
ch=ch+32;
cout<<ch;
这时输入大写可转换小写,定义的是char ch,ch为什么可以直接加减运算啊?是在运算过程中类型转换了?不是只有’ch‘这种才代表常量吗?
还有为什么
char ch;
cin>>ch;
这样可以,而
char 'ch';
cin>>ch;就不行了?
有char ch=‘101’或char ch='\101';这种写法?
cout<<ch;
我的电脑分别显示1和A啊?
还有。如何使我输入一个阿斯玛值,输出的是对应字母,输如一个字母,输出对应的阿斯玛值?用cin和cout表示。
这一点真是迷糊,回答的清楚我会有加分的。 展开
2个回答
展开全部
char b=‘a';
cout<<b;结果是a
为什么不是输出97?
答:你定义的b是char型,所以输出的是char型,当然就是字符a
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
char b=a;
cout<<b;错误了?
你的a是否定义的是char型,如果是的话,付给b是没问题的比如:
#include < iostream >
using namespace std;
void main()
{
char a='c';
char b=a;
cout<<b;
}
肯定是输出c
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
为什么可以写
char ch;
cin>>ch;
ch=ch+32;
cout<<ch;
这时输入大写可转换小写,定义的是char ch,ch为什么可以直接加减运算啊?是在运算过程中类型转换了?不是只有’ch‘这种才代表常量吗?
这里加减的是ascii码同样道理输出的还是看你的ch定义,本身定义是char型,输出的就是,不然你强制转换下int(ch);你输出的就是ascii码值了
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
char 'ch';
cin>>ch;就不行了?
你的定义就有问题了,char 'ch';不能这样定义字符的,' '里面的内容是传递的东西
ch是接收字符的,而' '里是要传递的东西
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
有char ch=‘101’或char ch='\101';这种写法?
cout<<ch;
我的电脑分别显示1和A啊?
ch='\101'是八进制换成十进制是65所以输出的是A
ch=’101‘这个是传字符的,我试了下,它输出的一定是最后一个字符,也就是1,如果你写10c输出是c
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
如何使我输入一个阿斯玛值,输出的是对应字母,输如一个字母,输出对应的阿斯玛值?用cin和cout表示。
int ch;
cin>>ch;
char c = ch;
cout<<c;
输入97,输出a因为你输出的是char型,同理可用于输出ascII码
cout<<b;结果是a
为什么不是输出97?
答:你定义的b是char型,所以输出的是char型,当然就是字符a
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
char b=a;
cout<<b;错误了?
你的a是否定义的是char型,如果是的话,付给b是没问题的比如:
#include < iostream >
using namespace std;
void main()
{
char a='c';
char b=a;
cout<<b;
}
肯定是输出c
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
为什么可以写
char ch;
cin>>ch;
ch=ch+32;
cout<<ch;
这时输入大写可转换小写,定义的是char ch,ch为什么可以直接加减运算啊?是在运算过程中类型转换了?不是只有’ch‘这种才代表常量吗?
这里加减的是ascii码同样道理输出的还是看你的ch定义,本身定义是char型,输出的就是,不然你强制转换下int(ch);你输出的就是ascii码值了
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
char 'ch';
cin>>ch;就不行了?
你的定义就有问题了,char 'ch';不能这样定义字符的,' '里面的内容是传递的东西
ch是接收字符的,而' '里是要传递的东西
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
有char ch=‘101’或char ch='\101';这种写法?
cout<<ch;
我的电脑分别显示1和A啊?
ch='\101'是八进制换成十进制是65所以输出的是A
ch=’101‘这个是传字符的,我试了下,它输出的一定是最后一个字符,也就是1,如果你写10c输出是c
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
如何使我输入一个阿斯玛值,输出的是对应字母,输如一个字母,输出对应的阿斯玛值?用cin和cout表示。
int ch;
cin>>ch;
char c = ch;
cout<<c;
输入97,输出a因为你输出的是char型,同理可用于输出ascII码
展开全部
在程序代码中
用单引号引起来的有效信息(各种字母、字符、符号)表示:字符,
用双引号引起来表示:字符串,
单纯的字符表示:变量
如:在程序中 a 'a' "a" 是三种不同的东西,只是为了区分
但是在应用中,我们就直接输入就可以了,不用去想这些关系,因为,程序会自动去识别处理相应的数据的。
如:
程序中是getchar() 你输入a就代表是一个字符
程序中是gets()你输入a就表示一个字符串
cin时,程序会自动检查相应变量的类型,将用户所输入的信息进行转换成相应的数据。
不要把所有的信息混在一起来思考,好好去读书,逐一的去理解他们就好了
用单引号引起来的有效信息(各种字母、字符、符号)表示:字符,
用双引号引起来表示:字符串,
单纯的字符表示:变量
如:在程序中 a 'a' "a" 是三种不同的东西,只是为了区分
但是在应用中,我们就直接输入就可以了,不用去想这些关系,因为,程序会自动去识别处理相应的数据的。
如:
程序中是getchar() 你输入a就代表是一个字符
程序中是gets()你输入a就表示一个字符串
cin时,程序会自动检查相应变量的类型,将用户所输入的信息进行转换成相应的数据。
不要把所有的信息混在一起来思考,好好去读书,逐一的去理解他们就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询