#include <stdio.h>
int main()
{
// 字符和数字是不同的
char a=1;
char b='1';
printf("%d\n",a); //1
printf("%d\n",b); //49 这个49是ASCII码
printf("%c\n",b); //'1' 输出的时候把 %d 换成 %c 就可以输出这个字符了
/* 字符也可以做加减法,以他的ASCII码做运算,输出的是ASCII对应的字符
两个字符的减,得到他们在表中的距离,字母在ASCII码中的顺序是排列的
*/
char c='A';
c++;
printf("%c\n",c); //B
int d='Z'-'A';
printf("%d",d); //25
return 0;
}
上面是说字符和数字是不同的
下面在说逃逸字符
#include <stdio.h>
int main()
{
// 逃逸字符
printf("123\b456\n"); //\b回退一格,如果\b后面没有东西那就原样输出,如果有东西那就后面的东西替换\b前面的最后一位
printf("123\n"); //换行
printf("111\r"); //回车
printf("123\t123\n");
printf("12345678\t123\n"); // \t到下一个表格位
printf("123 \"周\" \n"); //输出结果:123"周" \"表示双引号
printf("123 \'周\' \n"); //输出结果:123'周' \'表示双引号
printf("\\"); // \\代表反斜杠本身
return 0;
}
再来一个如何控制浮点数的小数点后的位数
#include <stdio.h>
int main()
{
//浮点数在%和f中间加 .数字 表示小数点后的位置,采取四舍五入的方式
printf("%.3f\n",3.333333); //3.333
printf("%.3f\n",3.336333); //3.334
printf("%.30f\n",3.333333); //3.333333000000000100000000000000
//浮点数的精度
// 带小数点的字面量是double而不是float,float需要用f或F后缀来表明身份
float a,b,c;
a=1.345f;
b=1.123f;
c=a+b;
if(c==2.468){
printf("相等\n");
} else{
printf("不相等!c=%.10f",c); //不相等!c=2.467999935247
}
}