首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >1.9 C++混合运算

1.9 C++混合运算

作者头像
小林C语言
修改2020-10-30 11:12:02
修改2020-10-30 11:12:02
80800
代码可运行
举报
运行总次数:0
代码可运行

作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?

各类数值型数据间的混合运算

在C++的表达式中会常常遇到不同数据类型之间的运算,运算过程中,当某个二元运算符两边的操作数类型不同但属于类型相容时,系统先将精度低的操作数变换到与另一个操作数精度相同,然后再进行运算。

比如整数+浮点数-字符

代码语言:javascript
代码运行次数:0
运行
复制
9+1.5-'a';

在运算之前,不同的数据类型要先转换为同一数据类型,然后再进行运算。

先执行9+1.5,运算之前会将这两个数转换成double类型的值,此时值应该时10.5

然后执行10.5+'a',a在ASCII码表里面的值是97,因此在运算之前会将a的值先转换为97,然后都转换为double类型再进行运算,最后输出结果。

C++混合运算类型转换规则:

字符可以作为整数参与数值运算,整数值为其在ASCII码表对应的数值。

操作数为字符或短整型时,系统自动转换成整型。

操作数为实型时,系统自动转换成双精度型。

当两数操作数类型不同时,将精度低的操作数的数据类型变换到与另一操作数类型相同再进行运算。

案例:输出整数,浮点数,字符9+1.5-'a'混合运算的值。

代码语言:javascript
代码运行次数:0
运行
复制
#include<iostream>
using namespace std;
int main()       //主函数
{
  cout<<9+1.5-'a'<<endl;
  return 0;
}

执行本程序之后,则会输出-86.5。

类型转换是由系统自动进行的.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档