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

C语言Day9:C语言类型转换规则

        各位亲爱的读者,大家好!今天博主给大家带来的内容是C语言中的数据类型转换规则

一.自动类型转换

        当程序中有不同的数据类型参与运算后,系统首先会按照一定规则尝试对运算数进行临时类型的转换。规则如下:

(1)当float类型参与运算时,必定先转换为double类型;

(2)当char、short、unsigned char、unsigned short类型数据参与运算时,必定先转换为int类型;

(3)当int、unsigned、long、double类型参与运算的时,不必统一到最高级的double类型,只需要统一转换到两个数据中优先级高的那个类型即可。例如int和unsigned类型数据运算,仅需要统一转换为unsigned类型即可

注意:在运算过程中,变量本身的类型不会发生改变的,改变的只是变量中存储的值,且变量值类型的改变也仅是在计算过程中被临时改变而已。

二.赋值类型转换

        一般情况下,C语言赋值语句要求赋值号两端数据的类型保持一致,但在实际运用中存在赋值号左右两边类型不一致的情况,此时需要按照赋值类型转换规则进行类型转换,具体转换规则如下:

(1)小类型数据(所占空间较小的类型)存入大类型变量时直接转换即可,如int类型数据存入float,double等大类型变量时,直接将整数转为实数存入即可

(2)将float,double类型变量存入整数类型变量时,只要整数部分不超过int类型表示范围,直接舍弃小数部分(不考虑四舍五入)存入即可

(3)char类型存入int类型时,因为char只占据一个字节,而整型变量一般占据2或4个字节,所以此时char类型数据存入整型变量最低的那个字节中,整数变量剩余高字节部分自动补0处理

(4)double类型存入float类型时,只要没有超过float类型的表示范围,可以直接转换为float后存入,如果超过了,则会损失精度

(5)short类型存入int或long类型变量时,要进行符号拓展

(6)将unsigned类型整型数据存入int或long整型变量时,不存在符号扩展,只需要将高16个二进制位补0即可。

三.强制类型转换

        在实际编程中,有时需要将一个对象的数据类型转换为需要的目标类型,此时可以使用强制转换方法,语法格式如下:

(目标类型)(常量|变量|表达式) 

        例如:(double)a+(double)(b+c);

        解释:将a变量的值临时转换为double类型,同时将b+c的结果也强制转换为double类型,最后两者相加。

注意:C语言强制类型转换只是临时的将变量的值或常量值转换为目标类型,整个计算过程中变量本身的类型始终是不变的。

四.今日总结

        在今天的学习中,博主给大家带来了C语言中的类型转换规则,在明天的学习中,博主将会给大家带来printf格式化输出函数的相关内容,在这里感谢大家的关注与支持!欢迎在评论区分享属于你的看法与见解,博主看到后会第一时间回复!

相关文章:

  • ADVANTEST D3286 Error Detector OPeration Manual 爱德万测试
  • CVE-2017-12629-XXE源码分析与漏洞复现
  • 游戏中的数学计算
  • 从时间到宇宙:探索时间同步的底层奥秘与工程实践
  • javascript中运算符的优先级
  • 【时时三省】(C语言基础)函数的递归调用例题
  • Python中质数筛选及优化效率对比
  • 【笔记】修改abu量化本地部署数据文件夹目录
  • Redis集群热点Key问题解决方案
  • HTML应用指南:利用GET请求获取全国罗森门店位置信息
  • 文本编辑器vi的使用
  • 2025年软件测试面试题,精选33道,附答案
  • 5月28日星期三今日早报简报微语报早读
  • SCDN如何同时保障网站加速与DDoS防御?
  • 【C++基础知识】匿名命名空间
  • 可视化数据大屏适配方案之Scale等比缩放
  • AI日报 - 2025年05月28日
  • 鸿蒙如何引入crypto-js
  • 麒麟系统QT打包程序问题
  • gtx的测试
  • 网站路径改版如何做301重定向/黑帽seo优化
  • 哪个网站做线上家教比较好/长沙网站开发
  • 专业从事成都网站建设/网站排名优化价格
  • 网上商城下载/seo网站排名优化公司哪家
  • 共享ip做网站/网络广告策划与制作
  • 苏州 规划建设局网站/seo外包方法