C语言源程序中,可以通过(数据类型) 变量
的形式来进行数据类型强制转换。
整型数据可以存储至浮点型变量中,默认转化为浮点型。
注意:字符和整型数有一一对应的关系,可通过查看ASCII码来获取对应关系。
对于同一个数据,使用不同格式转换符,输出结果不同。比如,整型数据50
- 用%d输出:50
- 用%lf输出:50.000000
- 用%c输出:2
这里的‘2’是字符2而不是阿拉伯数字2。
#include <stdio.h>
#include <math.h>
/* 功能:数据类型转换
时间:2024年10月
地点:贤者楼129
作者:LChen
*/
int main() {
int a;
int t,t1;
double t2;
scanf("%d",&a);
t=(int) sqrt(a); //强制转化为int类型数据
printf("%d is %s a square number.\n",a,t*t==a?"\0":"not");
t1=sqrt(a); //t1为整型变量,转化
t2=sqrt(a); //t2为浮点类型,不转化
printf("%d %d %lf.\n",t,t1,t2);
printf("%d\n",101/2); //101/2=50
printf("%.2lf\n",101.0/2); //50.50,浮点型与整型,依高字节类型
printf("%.2lf\n",(double)101/2);//50.50,先转化为double,后计算
printf("%c\n",(char)101/2); //2,101转化为对应字符,后计算一半
printf("%c\n",'b'/2); //1,ASCII码运算得到一半值的字符
return 0;
}
输出后5行,不同数据类型之间的运算。