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/

相关推荐
倒头就睡的小比特4 天前
算法竞赛C++常用的STL
c++·算法
weilx12344 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼4 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
Smileyqp沛沛4 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车4 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光4 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark4 天前
大规模并行计算中的负载均衡算法研究4
算法
吞下星星的少年·-·4 天前
C++ 萌新语法入门篇
c++·算法比赛