c语言强制转换字符类型,C语言数据类型转换实例代码

c语⾔强制转换字符类型,C语⾔数据类型转换实例代码
数据类型转换就是将数据(变量、表达式的结果)从⼀种类型转换到另⼀种类型。例如,为了保存⼩数你可以将int类型的变量转换为double 类型。
数据类型转换的⼀般格式为:
(type_name) expression
连体人
type_name为要转换到的数据类型,expression为表达式。例如:
(float) a; //把a转换为实型
(int)(x+y); //把x+y的结果转换为整型
(float) 100; //将⼀个常量转换为实型
【⽰例】将整数转换为浮点数:
诡辩论#include
int main(){
松下vs6
int sum = 17, count = 5;
double mean;
mean = (double) sum / count;
printf("Value of mean : %f\n", mean);
return 0;
}
运⾏结果:
网络拓扑图
Value of mean : 3.400000
需要注意的是,类型转换运算符( )的优先级⾼于/,(double) sum / count会先将 sum 转换为 double 类型,然后再进⾏除法运算。如果写作(double) (sum / count) ,那么运⾏结果就是 3.000000。
这种由程序员显式进⾏的转换称为强制类型转换。除了强制类型转换,在不同数据类型的混合运算中编译器也会隐式地进⾏数据类型转换,称为⾃动类型转换。
政党文化
⾃动类型转换遵循下⾯的规则:萨拉 帕克斯顿
1.若参与运算的数据类型不同,则先转换成同⼀类型,然后进⾏运算。
2.转换按数据长度增加的⽅向进⾏,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进⾏运算。
3.所有的浮点运算都是以双精度进⾏的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4.char型和short型参与运算时,必须先转换成int型。
5.在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度⽐左边长时,将丢失⼀部分数据,这样会降低精度。
下图表⽰了类型⾃动转换的规则:
【⽰例】⾃动数据类型转换。
#include
int main(){
float PI=3.14159;
int s1, r=5;
double s2;
s1 = r*r*PI;
s2 = r*r*PI;
printf("s1=%d, s2=%f\n", s1, s2);
return 0;
}
运⾏结果:
s1=78, s2=78.539753
在计算表达式r*r*PI时,r 和 PI 都转换成double类型,表达式的结果也为double类型。但由于 s1 为整型,所以赋值运算的结果仍为整型,舍去了⼩数部分。
注意是将⼩数部分直接丢掉,⽽不是按照四舍五⼊向前舍⼊。
⽆论是强制转换或是⾃动转换,都只是为了本次运算的需要⽽对变量的数据长度进⾏的临时性转换,⽽不改变数据说明时对该变量定义的类型。
请看下⾯的例⼦:
#include
int main(){
float f=5.75;
printf("(int)f=%d, f=%f\n",(int)f, f);
return 0;
}
运⾏结果:
(int)f=5, f=5.750000
以上就是对 C语⾔数据类型的转换的实例详解,希望能帮助学习 C语⾔基础知识的同学。

本文发布于:2024-09-22 04:12:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/126948.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换   数据   类型转换
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议