C++语法08 数据类型之间的强制转换

 这是《C++算法宝典》语法入门篇的第08节文章~

如果你之前没有太多C++基础,请点击👉专栏:C++语法入门,如果你C++语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构

目录

强制类型转换

强制类型转换格式

整型转换成浮点型

整型转换成浮点型其他写法

训练:糖果奖励

糖果奖励参考代码

浮点型转换成整型

浮点型转换成整型其他写法

训练:分离小数

分离小数参考代码

强制类型转换

强制类型转换,就是把一种数据类型转化为另一种指定的数据类型。

它是一种临时的转换。

强制类型转换格式

格式:(数据类型) (表达式)

即:(要被转换成的类型)(被转换的式子);

注意:类型名或者表达式至少要有一个被括号括起来。

整型转换成浮点型

例如:输出5/2的小数结果,可以这么写:

int a=5;  
cout<<(double)a/2;

这么写就相当于先把a转化成double类型,再除以2。这样的话与5.0/2的道理是一样的,这里的a只是临时转化成浮点型。

整型转换成浮点型其他写法

把整型变量a转换成浮点型除了(double)a这种写法外还有其他两种写法,分别是:

double(a)
(double)(a)

通过上面三种写法可以看出,要把整型变量a转换成浮点型,在a或者double外至少要有一对小括号。

训练:糖果奖励

老师准备买n斤糖果平均分给小知还有另外四个在本学期取得优异成绩的学生,买的时候发现商场做活动,买n斤送一斤,请问每名同学能分到多少斤糖果?

【输入描述】一行,一个正整数n

【输出描述】每位优异学生分得的糖果

【样例输入】7

【样例输出】1.6

糖果奖励参考代码

#include <iostream>
using namespace std;
int main( )
{
    int n;
    cin>>n;
    cout<<double(n+1)/(1+4);
    return 0;
}

浮点型转换成整型

例如:输出5.5/2的整数结果,可以这么写:

double a=5.5;  
cout<<(int)a/2;

注意:把double变成int进行的操作是取整数部分,不管小数部分是多少,都只要整数部分,如(int)9.9=9;也是临时的转换。

浮点型转换成整型其他写法

把浮点型变量a转换成整型除了(int)a这种写法外也有其他两种写法,分别是:

int(a)
(int)(a)

通过上面三种写法也可以看出,要把浮点型变量a转换成整型,在a或者int外也至少要有一对小括号。

训练:分离小数

输入一个小数a,分别输出a的整数部分和小数部分。

【输入描述】一行,一个小数a

【输出描述】两个整数,空格隔开

【样例输入】12.34

【样例输出】12 0.34

分离小数参考代码

#include <iostream>
using namespace std;
int main( )
{
    double a;
    cin>>a;
    cout<<(int)a<<"  "<<a-(int)a;
    return 0;
}

从C++入门到算法,再到数据结构,查看全部文章请点击​此处icon-default.png?t=N7T8http://www.bigbigli.com/

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bigbigli_大李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值