强制类型转换
强制类型转换,就是把一种数据类型转化为另一种指定的数据类型。
它是一种临时的转换。
强制类型转换格式
格式:(数据类型) (表达式)
即:(要被转换成的类型)(被转换的式子);
注意:类型名或者表达式至少要有一个被括号括起来。
整型转换成浮点型
例如:输出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/