首页 > 编程知识 正文

c整型变量转字符串,c汉字字符变量类型

时间:2023-05-05 04:02:32 阅读:241072 作者:531

C++中字符型变量与整型的算术运算 字符型变量与整型的算术运算C++中算术运算中的精度下面的代码展示了上面表达式中类型的转换数据类型的自动转换

字符型变量与整型的算术运算

最近在学习C++,经常碰到字符与整数的加减,如:char b = ‘a’+1,碰到这种比较容易蒙,b的结果是什么呢?为啥字符可以与整数相加减呢?

C++中算术运算中的精度

当几个数一起做算术运算时,如:加、减、乘、除、求模等,以其中精度高的类型为准。也就是说其中精度低的类型会先转化成精度高的类型。这样开头那个表达式中’a’+1,‘a’为字符型,1为整型,所以会先把‘a’转换成int型,也就是97,这时整个表达式的结果就是整型97+1=98。

下面的代码展示了上面表达式中类型的转换 #include <cstdio>#include <iostream>#include <typeinfo>using namespace std;int main(){printf("1 type: %s", typeid(1).name());return 0;}

上面代码的输出如下:

#include <cstdio>#include <iostream>#include <typeinfo>using namespace std;int main(){printf("'a' + 1 type: %s", typeid('a'+1).name());return 0;}

上面代码输出结果:

可见表达式的类型已经变为了与1相同的int型。

数据类型的自动转换

C++中有些数据类型是可以相互进行赋值的,赋值时会进行数据类型的自动转换。因此在我们最开始的表达式char b = ‘a’+1中,就会把’a’+1表达式的int型自动转换成char型再赋值给char型变量b。所以b的最终值就为字符’b’。

#include <cstdio>#include <iostream>#include<typeinfo>using namespace std;int main(){char b = 'a' + 1;printf("'b type: %sn", typeid(b).name());printf("b is %c", b);return 0;}

结果为

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。