C++"char"类型的一些解释

C++"char"类型的一些解释

说明
本文适合初学者阅读
为方便叙述和理解,本文牺牲部分严谨性
本文中的概念”数字“代表整数等日常意义上的数而并非书写符号

"char"类型

C++中用char类型存储标准ASCII标准字符。char类型占用一个字节,可以有128个取值,每个取值代表一个字符,对应规则由“ASCII字符集”规定。比如,char中取值48代表着字符’0’。
char类型的变量存储的数据仍然是一个数,只是这个数在0~127之间。即对于以下两句代码来说,它们是等效的。

char n = 115;
char n = 's';

想把一个字符常量(比如说一个字母)赋值给一个char类型的变量只需要用单引号括起即可。这样写的效果与写出那个字符对应的数字的效果相等,即在程序中可以把’s’直接当作115来进行各种运算而不用担心语法错误。

"char"类型的cin和cout

对于cin来说,需要为char类型的变量读入一个值并存入时,会先把读入的字符转换成一个与符号对应的数后再存储。例如,对于以下代码,如果输入值为’s’,那么实际上n中存储的值为115。

char n;
cin >> n;

但是当输入115时n中存储的值并不会是115。此时n中存储的值为’1’(也就是49),因为cin将“115”看作字符而不是数字处理,它只取第一个字符“1”,剩下的“15”则仍存在于输入流。
下面这个例子很好地展示了这个特性:

char n;
int s;
cin >> n >> s;
cout << n << endl << s;

当输入值为115时,输出结果为:

1
15

很明显,15被弃用在输入流中并随后被赋值给s(此时15被解释为数字了)。


对于cout来说,需要显示一个char值时会先把char类型变量里的数值转换为字符,再进行输出。cout(cin也一样)会自己根据变量的类型判断变量存储的值代表的是字符还是数字。

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值