2.2 C++强制类型转换 | 将3.3转换为整型输出

举报
C语言入门到精通 发表于 2021/02/20 02:38:42 2021/02/20
【摘要】 强制类型转换运算符在C++的表达式中,不同的数据类型会自动地转换类型进行运算,但有的时候也需要程序员自己进行强制类型转换,将某个表达式转换成自己所需要的数据类型。强制类型转换的一般形式为(类型名) (表达式)如果进行强制类型转换的对象是一个变量,则该变量的括号可以省略;如果要进行强制转换的对象是一个包含多项的表达式,则应该用小括号括起来表达式比如(int) (a+b); //将...

强制类型转换运算符

在C++的表达式中,不同的数据类型会自动地转换类型进行运算,但有的时候也需要程序员自己进行强制类型转换,将某个表达式转换成自己所需要的数据类型。

强制类型转换的一般形式为

(类型名) (表达式)

如果进行强制类型转换的对象是一个变量,则该变量的括号可以省略;如果要进行强制转换的对象是一个包含多项的表达式,则应该用小括号括起来表达式

比如

(int) (a+b); //将a+b的值转换成整型
(float)(7%3); //将7%3的值转换成float型
(double) x; //将x转换成double类型

如果读者,看过小林之前推送C语言的文章,会发现C++的强制类型转换和C语言一样,因为C++编写者将C语言的优点保留了下来,除此之外C++还特别增加了

类型名 (表达式),类型名不加括号,但是变量或者表达式用括号括起来

int (a);
float (7%3);

案例:将浮点型变量3.3转换为整型变量并输出。

#include<iostream>
using namespace std;
int main() //主函数
{
  float num_1=3.3; //定义浮点型变量且赋初值
  int num_2; //定义整型变量
  num_2=(int)num_1; //强制类型转换
  cout<<num_1<<' '<<num_2<<endl; //输出结果
  return 0;
}

执行本程序之后,则会输出3.3 3。

在强制类型转换时,会得到一个中间变量,原来变量的类型未发生变化,但是如果从高精度向低精度转换时,会丢失精度。

2.2 C++强制类型转换 | 将3.3转换为整型输出 mp.weixin.qq.com

文章来源: zhuanlan.zhihu.com,作者:,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/324759835

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。