admin管理员组文章数量:1794759
C语言学习笔记——类型转换与运算符的优先级
一、类型转换
自动类型转换:在程序运行的时候,低精度的数据会自动向高精度的数据进行这类型转换,数据的进度不会丢失
强制类型转换:有时候在我们运算的过程中,需要对数据进行短暂的类型转换,去进行运算,让数据更加精确
- 自动类型转换:
- 一般为 低精度 向 高精度 转换
- (可按字节大小顺序记,有低精度到高精度的数据类型)
- char - short - int - long - float -double .....
- 强制类型转换:
- 常应用于:指针,因为指针的类型不管如何转换,它的精度都是不会丢失的。
- 当用于 高精度 向 低精度 强制转换时, 数据会丢失!
- 如:float a = 3.14; (int) a -> a = 3 , 数据丢失!
- 判断输出类型的方法:
- 若为 同精度 运算,则输出仍为同精度(强制转换除外)。如: int/int -> int
- 若为 不同精度 计算,则输出为更高的进度(强制转换除外)。如: int/float -> float
例:
自动类型转换 与 强制类型转换的 代码 与 输出结果 如图所示:
#include<stdio.h> void main() { //自动类型转换: printf("100/3 = %d\\n", 100/3); printf("100/3.0 = %f\\n", 100/3.0); //强制类型转换: printf("(float)100/3 = %f\\n", (float)100/3); printf("(float)(100/3) = %f\\n", (float)(100/3)); } 二、运算符优先级运算符的一般优先级:
由高到低:算术运算符 -> 关系运算符 -> 逻辑运算符 ->赋值运算符
注:sizeof 为长度运算符。
附上运算符优先级表:
版权声明:本文标题:C语言学习笔记——类型转换与运算符的优先级 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686628046a88146.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论