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/

相关推荐
啊阿狸不会拉杆几秒前
第二十八章:Python可视化图表扩展-和弦图、旭日图、六边形箱图、桑基图和主题流图
开发语言·python
lmy2012110821 分钟前
提高:图论:强连通分量 图的遍历
c++·算法·图论·强联通分量
人类群星闪耀时40 分钟前
破解 N 皇后 II:位运算的高效艺术
python·算法·数学建模
Demons_kirit42 分钟前
LeetCode 1863.找出所有子集的异或总和再求和
数据结构·算法·leetcode
竹下为生1 小时前
LeetCode --- 443周赛
算法·leetcode·职场和发展
green5+11 小时前
LeetCode18四数之和
java·开发语言·算法
雾里看山1 小时前
算法思想之双指针(一)
算法·leetcode·推荐算法
2401_827499991 小时前
leetcode-热题100(3)
数据结构·算法·leetcode
啊阿狸不会拉杆1 小时前
第二十五章:Python-pyecharts 库实现 3D 地图绘制
开发语言·python·地图
满怀10151 小时前
Python入门(8):文件
开发语言·python