您的位置:首页 > 其它

显示转换、隐式转换--精确度、scanf、转义

2015-12-28 00:11 260 查看
显示转换

#include<stdio.h>
#include<stdlib.h>
void main(){

char ch = 'A';//赋值的时候,自动进行数据类型转换
/*赋值的时候,自动进行数据类型转换
赋值号会自动将右边转换成左边变量类型
大数据转小数据,小数据也可以转大数据
*/
short sh = 66;
int num = 100.0;
double db = 100;
double db1 = num + 100.f;
printf("ch=%c,sh=%d,num=%d,db=%f,db1=%f",ch,sh,num,db,db1);
//保存的时候,保存的是字符的ASICC码,
printf("\n%d,%d",sizeof('A'),sizeof(char));
printf("\n%d,%d", sizeof(66), sizeof(short));
printf("\n%d,%d", sizeof(100.0), sizeof(int));
printf("\n%d,%d", sizeof(100), sizeof(double));
printf("\n%d,%d", sizeof(num+100.f), sizeof(double));
printf("\n%d,%d,%d,%d,%d,%d", sizeof(char), sizeof(short), sizeof(int), sizeof(long), sizeof(float), sizeof(double));
getchar();
}


ch=A,sh=66,num=100,db=100.000000,db1=200.000000
4,1
4,2
8,4
4,8
4,8
1,2,4,4,4,8


隐式转换

#include<stdio.h>
#include<stdlib.h>
void main(){
/*char shor直接转为int,32位系统下int和long一样大*/
char ch = 'A';
short sh = 100;
int num = 10000;
float fl = 1.000;
double db = 10000.000;
//'A'首先转换int类型65,在相加得到
printf("%d,%d",sizeof(ch+num),ch+num);
//short类型转为int类型
printf("\n%d,%d",sizeof(sh+num),sh+num);
//int类型转为double类型
printf("\n%d,%f", sizeof(db + num), db + num);
//int类型转为float类型
printf("\n%d,%f", sizeof(fl + num), fl + num);
//float类型转为double类型
printf("\n%d,%f", sizeof(db + fl), db + fl);
//转为int,4个字节
printf("\n%d,%d", sizeof(ch + sh), ch + sh);

unsigned int unum = 4294967000u;
int num1 = 100;
//打印出-196,说明超出int范围
printf("\n%d,%u,%d",sizeof(num1+unum),num1+unum,num1+unum);

system("pause");
}


4,10065
4,10100
8,20000.000000
4,10001.000000
8,10001.000000
4,165
4,4294967100,-196请按任意键继续. . .


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void main(){
float f1 = 9.1234567;//float只能精确到后6位
float f2 = 9.12345679f;
printf("%f\n",f1);
printf("%f\n", f2);

if (f1 == f2){
printf("f1==f2\n");//相等
}
/*double类型只能保证小数点15位是正确的,超过的会出现误差*/
double d = 1.232534534532423423434;
printf("%f\n",d);
printf("%.20f\n", d);

char str[30] = "calc";
printf("我爱%s\n",str);
printf(str);

/*scanf*/
int num;
scanf("%d",&num);
printf("num=%d",num);

/*转衣字符*/
printf("%%");//%
system("pause");
getchar();
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: