当前位置: 首页 > news >正文

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++入门到算法,再到数据结构,查看全部文章请点击​此处icon-default.png?t=N7T8http://www.bigbigli.com/

相关文章:

  • FlinkCDC 3.1.0 支持 Flink 1.18.0 版本选择
  • B树与B+树与Mysql innodb的B+树和其相关索引
  • 厂里资讯之总体架构介绍以及环境搭建
  • PostgreSQL基础(十四):PostgreSQL的数据迁移
  • IT入门知识博客文章大纲(0/10)
  • Windows 11部署FunASR离线语音识别系统
  • iOS接入Flutter
  • 带侧边栏布局:带导航的网页
  • Cask ‘oraclexxx‘ is unavailable: No Cask with this name exists.
  • 如何完美解决升级 IntelliJ IDEA 最新版之后遇到 Git 记住密码功能失效的问题
  • Python语言例题集(015)
  • 【Go语言】Go语言中的接口类型
  • C++ 进制转换
  • Android11 后台启动Activity
  • 组合和外观模式
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • C# 免费离线人脸识别 2.0 Demo
  • interface和setter,getter
  • JavaScript创建对象的四种方式
  • JAVA之继承和多态
  • Magento 1.x 中文订单打印乱码
  • Python - 闭包Closure
  • Vue 重置组件到初始状态
  • Vue2 SSR 的优化之旅
  • Vue2.x学习三:事件处理生命周期钩子
  • windows下mongoDB的环境配置
  • 关于使用markdown的方法(引自CSDN教程)
  • 前端面试之CSS3新特性
  • 如何进阶一名有竞争力的程序员?
  • 微服务入门【系列视频课程】
  • const的用法,特别是用在函数前面与后面的区别
  • ionic异常记录
  • mysql面试题分组并合并列
  • NLPIR智能语义技术让大数据挖掘更简单
  • Spring Batch JSON 支持
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 浅谈sql中的in与not in,exists与not exists的区别
  • 组复制官方翻译九、Group Replication Technical Details
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ### RabbitMQ五种工作模式:
  • #1015 : KMP算法
  • #NOIP 2014#Day.2 T3 解方程
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (1)(1.13) SiK无线电高级配置(六)
  • (23)Linux的软硬连接
  • (function(){})()的分步解析
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (蓝桥杯每日一题)love
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...