c++教学(4)数据类型 类型转换

本文介绍了C++中的数据类型,包括整数类型和浮点数类型,特别是float和double的区别。同时,详细讲解了数据类型转换,包括隐式转换和显式转换的规则,并通过实例演示了如何在计算中应用类型转换。最后,提供了一个涉及类型转换的实际编程问题——计算每小时织布机的织布量。

知识精炼:

                                1. 数据类型
            学习内容      2. 数据类型转换

            重点知识一    数据类型
                                如果想让变量存放一个整数,那么变量应该定义为整数类型(int),如
                                果想在变量中存放一个浮点数,那么这个变量应该定义为单精度浮点数数
                                据类型(float)或者双精度浮点数数据类型(double)。

            重点知识二  数据类型转换            
                                隐示类型转换:
                                如果算式中有整数也有浮点数,那么整数会自动转换为浮点数再进行
                                计算,并且遵守算术运算法则:
                                3/2 + 1.5 = 1 + 1.5 = 1.0 + 1.5 =2.5
                                显示类型转换:
                                一般形式:(类型名)(表达式)
                                转化时遵守算术运算法则
                                (int)3.6 = 3
                                (float)3/2=1.5

一、 数据类型


如果想对小数进行计算,我们需要用新的数据类型:
单精度浮点数数据类型
float
双精度浮点数数据类型
double
float、double 类型的变量都能够存储小数,但是 double 的精度大于
float,并且 double 的范围也是大于 float 的,因此我们在做题时如果定义存
储浮点数的变量并且题目没有明确要求我们使用 float 类型,那么我们统一使
用 double 类型。


二、数据类型转换


1、隐式类型转换


又称为自动类型转换,若表达式中有不同数据类型的数据,那么简单的数
据类型将自动转化为复杂的数据类型再去进行计算,在进行转化时遵守算术运
算法则。


数据类型复杂程度:


int < float <double
例如:
5.0/2 = 5.0/2.0 = 2.5
3/2 + 1.5 = 1 + 1.5 = 1.0 + 1.5 =4.5


2、显式类型转换


又称为强制类型转换,该转换方式可以将数据转化成任意一种我们需要的
数据类型,并且转化时同样遵守算数运算法则:
(int)5.3 = 5
(double)(5/2)+1.5 = 2.0 + 1.5 = 3.5

例题:

织布:

一台织布机h小时能织布s米,请编写程序计算每小时织布多少米。

输入描述

两个整数h和s

输出描述

每小时织布机能织的米数(一个浮点数)

样例

输入

5 1248

输出

249.6

解题思路:

根据题意,我们知道输入的两个数据是整数,但是最后计算的结果是几个
浮点数,因此在计算的时候需要进行数据类型转换:

#include<iostream>

using namespace std;                //头文件

int main(){

int h,s;                //定义整型变量存储输入的两个整数

double a;               //定义存储计算结果的变量,因为结果是浮点型,所以用doudle类型的变量

cin>>h>>s;                //输入织布的小时和米数

a=1.0*s/h;                //计算出每小时的米数,由于结果要求浮点数,所以需要类型转换

cout<<a;                //输出每小时织出的米数

return 0;                //结束程序

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值