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

C语言(强制类型转换)

 

一.类型转换原则

1.升级:当类型转换出现在表达式时,无论时unsigned还是signed的char和short都会被自动转换成int,如有必要会被转换成unsigned int(如果short与int的大小相同,unsigned short就比int大。这种情况下,unsigned short会被转换成unsigned int)。float会被自动转换成double

2.涉及两种类型的运算,两个值会被分别转换成两种类型的更高级别。

3.类型的级别从高到低依次是long double,double,float,unsigned long long,long long,unsigned long,long,unsigned int,int。例外的情况下,当long和int的大小相同时,unsigned int 比 long的级别高。之所以short和char类型没有列出,是因为它们已经被升级到int或unsigned int

4.降级:把一种类型转换成更低级别的类型

5.当作为函数参数传递时,char和short被转换成int,float转换成double

Int mice;

mice = 1.6 + 1.7 等于 3

下面我们来看一个例题。这里理解就好

首先看

f1 = i = ch = 'C';

‘C’的ASCII码为67,i用四个字节存储67.f1则接受由67转换的67.00

ch = ch + 1;

Ch+1,等于68,打印出来为D

i = f1 + 2 * ch;

I的运算,先2乘以ch,得到136。而为了和f1相加,136转换为浮点数,为136.0。在加上f1的值67.0得203.0,转换为int值就为203

f1 = 2.0 * ch + i;

首先ch68被转换为浮点数68.0,乘以2.i的值203也相应的转换为203.0,最后相加的339.0

ch = 1107;

ch属于char数据类型,只能存储一个字节数据,1107明显超出,所以我们%256(256为一个字节空间最大值)获得83.这是一个类型降级。至于为啥要%256,因为char的值只能在0到255之间,%之后就可以获得到后八位的内存值。

ch = 80.89;

flaot类型转为字符,变为80存储。相对应ASCII的字符为P

二.强制类型转换

大家学习了上面的自动类型转换其实也发现了这种转换的类型。不确定性会给程序的允许造成想不到的影响。所以在非要进行类型转换时,我们最好使用强制类型转换,把类型转换为我们所设想的类型。

使用就是

在量的前面放置用圆括号括起来的需要强制转换的类型名,我们来看个例子。

也可以这样


好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~

如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈

http://www.lryc.cn/news/8577.html

相关文章:

  • 搭建hadoop高可用集群(二)
  • CentOS升级内核-- CentOS9 Stream/CentOS8 Stream/CentOS7
  • 【基础篇】一文掌握css的盒子模型(margin、padding)
  • 重生之我是赏金猎人-漏洞挖掘(十一)-某SRC储存XSS多次BypassWAF挖掘
  • Wails简介
  • 滑动窗口 AcWing (JAVA)
  • vue小案例
  • 阅读笔记3——空洞卷积
  • CSS系统学习总结
  • 阿里一面:你做过哪些代码优化?来一个人人可以用的极品案例
  • Android NFC 标签读写Demo与历史漏洞概述
  • 亿级高并发电商项目-- 实战篇 --万达商城项目 六(编写角色管理、用户权限(Spring Security认证授权)、管理员管理等模块)
  • 博视像元获近5000万元融资,主攻半导体前道及锂电高端部件供应
  • SpringCloud-断路器Hystrix
  • JavaScript精简笔记
  • MySQL常用函数汇总
  • 100M网口客户电脑插上网线就断线,自己工厂正常,是什么问题导致?
  • 从零开始学习无人机 00 硬件配置
  • 免翻在Chrome上使用新必应(New Bing)聊天机器人
  • LA@特征值和特征向量
  • transpose代码学习
  • 【Redis】Redis 常用数据类型操作 ② ( 数据库操作 | 切换数据库 | 查询当前数据库键个数 | 清空当前数据库 | 清空所有数据库 )
  • 最简单的物体识别例子
  • 指针——“C”
  • 学习 Linux 内核书籍推荐
  • 深圳硬件黑客松活动,开放报名!
  • 力扣sql简单篇练习(十七)
  • Linux网络技术学习(六)—— 网络设备初始化(II)
  • 一手教你如何搭建Hadoop基于Zookeeper的集群(5台主机)
  • Spring Cloud是什么?怎么理解Spring Cloud?