- 2
- 0
- 约1千字
- 约 3页
- 2017-06-09 发布于北京
- 举报
C编译器基本类型的转换
在实际的编写代码过程中,经常会遇到类型不同的数据之间要互相运算,那么运算的最终数据结果是什么类型呢?有符号?无符号?字符型?整形?是和什么相关呢?接下来,在这篇文章中,我们要彻底搞清楚这个问题,首先看这个代码:
运行结果:
这段代码没有难度,主要是考察基本数据类型之间的默认转换,在这段代码中,主要考察了unsigned int和char数据类型之间的默认转换。
该代码在VC和GCC编译器下编译运行后,结果都为0,想必读者会想到,在执行ab
这个表达式的时候,char类型的数据b被转换成了unsigned int类型,根据补码运算,-1变为了很大的正数,因此,ab这个关系表达式的值为假,条件表达式(ab)?1:0的最终结果返回0。
请再思考,如果上述代码unsigned int a=1变为unsigned short a=1,那么代码最终的运行结果还是一样的吗?代码如下:
运行结果:
经过在编译器上编译运行,可以看到,如果变量a的类型是unsigned short,那么运行结果为1,那么这次char类型的变量b没有转换成unsigned short类型吗?很显然没有,那么我们如何来判断不同数据类型之间的默认转换。
请看以下这个数据类型转换图:
其中,横向的箭头表示,在运算之前必须转换的;竖向的箭头表示运算过程中默认转换的顺序,也就是说,float类型的数据在运算之前,都转换为double类型的数据进行运算,同理,short和char类型的数据在运算之前,都是转换为int类型的数据进行运算。根据这张表,就可以解释前面两段代码的运行结果了。
在第一段代码中,unsigned int a和char b进行运算(关系表达式ab),那么char b首先转换为int b,然后在运算过程中再转换为unsigned int,也就是说,实际上是unsigned int a和unsigned int b在进行运算,那么他们之间的关系为ab
在第二段代码中,unsigned short a和char b进行运算,那么a和b都会转换为int类型的数据,即int a和int b,都是有符号类型的,因此a=1,b=-1, ab为真。
到这里,想必读者对C编译器对于基本数据类型的默认转换有了一定的认识,只要能记住上面那张类型转换表,就能掌握数据类型之间的默认转换。
您可能关注的文档
- CEO10岁小孩都该知道快乐的6个好习惯.docx
- cfdnouh铁的重要化合物说课.doc
- cforEachvarStatus属性.doc
- Cf刷稀有永久角色方法.doc
- CF如何帮自己刷经验等级.doc
- cf战队名字格式设计.doc
- CF手游新地图幽灵模式:失落的遗迹玩法.docx
- CF手游超级生化模式打法介绍两种模式区别讲解.docx
- CF比CSOL好的N大理由.docx
- CF穿越火线游戏名字大全.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 作文稿纸A4打印模板.docx VIP
- 《城市轨道交通客运服务》教案 项目二 城市轨道交通客运服务标志.pdf VIP
- 弱电系统维保方案(三篇).pdf VIP
- 2026建筑施工企业复工复产开工第一课.pptx
- 肠内营养(江苏)PPT课件.pptx VIP
- 基于51单片机智能晾衣架的设计.doc VIP
- 第一单元 第1课《童年艺趣》(课件)人教版三年级美术上册.ppt
- 交互设计2 交互系统与设计目标.ppt VIP
- 2024-2025学年广东深圳龙华区高一(上)期末数学试卷【答案版】.pdf VIP
- 工程伦理 课件全套 李正风 第1--9章 工程与伦理、 如何理解伦理--- 全球化视野下的工程伦理(414页).pptx VIP
原创力文档

文档评论(0)