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

目录

强制类型转换

强制类型转换格式

整型转换成浮点型

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

训练:糖果奖励

糖果奖励参考代码

浮点型转换成整型

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

训练:分离小数

分离小数参考代码

强制类型转换

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

它是一种临时的转换。

强制类型转换格式

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

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

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

整型转换成浮点型

例如:输出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++入门到算法,再到数据结构,查看全部文章请点击此处http://www.bigbigli.com/

相关推荐
玉米的玉*」*27 分钟前
【每日likou】704. 二分查找 27. 移除元素 977.有序数组的平方
数据结构·算法·leetcode
星火飞码iFlyCode28 分钟前
【无标题】
java·前端·人工智能·算法
XMYX-01 小时前
Python 实现一个带进度条的 URL 批量下载工具(含 GUI 界面)
开发语言·python
lul~1 小时前
[科研理论]无人机底层控制算法PID、LQR、MPC解析
c++·人工智能·无人机
liulilittle1 小时前
OpenSSL 的 AES-NI 支持机制
linux·运维·服务器·算法·加密·openssl·解密
一只小小汤圆1 小时前
如何xml序列化 和反序列化类中包含的类
xml·开发语言·c#
yzx9910131 小时前
柑橘检测模型
服务器·人工智能·深度学习·算法
南枝异客1 小时前
电话号码的字母组合
开发语言·javascript·算法
快乐肚皮1 小时前
快速排序:分治思想的经典实践
java·算法·排序算法
未来并未来2 小时前
Sentinel 流量控制安装与使用
开发语言·python·sentinel