C语言---Day1
1、printf() 函数使用方法
---标准输出,引申头文件stdio.h
---直接输出字符串,printf(“字符串\n”);
---输出控制符,输出参数,printf(“输出控制符1, 输出控制符2 …”, 输出参数1, 输出参数2);
---%d十进制形式输出带符号整数,%f小数形式,%c输出单个字符,%s输出字符串
printf("%d\n", 123); // 123 printf("0%o\n", 123); // 0173 printf("%u\n", 123); // 123 printf("%c\n", 64); // A printf("0x%x 0x%X\n", 123, 123); // 0x7b 0x7B printf("%.5f %.6lf\n", 0.000123, 0.000123); // 0.00012 0.000123 (printf默认精确到小数点后六位) // printf("%f %F %f %F\n", INFINITY, INFINITY, NAN, NAN); //error printf("%e %E\n", 0.000000123, 0.000000123); // 1.230000e-07 1.230000E-07 printf("%g %g\n", 0.000000123, 0.123); // 1.23e-07 0.123 printf("%a %A\n", 15.15, 15.15); // 十六进制p计数法输出浮点数 printf("%.0f %#.0f\n", 1000.0, 1000.0); //当小数点后不输出值时依然输出小数点 1000 1000. printf("%.*f\n", 5, 3.1415926); // 3.14159 printf("\n"); printf("%.8d\n", 1000); // 00001000 printf("%.8f\n", 1000.123456789); // 1000.12345679 printf("%.8f\n", 1000.123456); // 小数精度为8 1000.12345600 printf("%.8g\n", 1000.123456); //最大有效数字为8位 1000.1235 printf("%.8s\n", "abcdefghij"); //超过指定长度截断 abcdefgh printf("%5d\n", 1000); // 默认右对齐,左边补空格 printf("%-5d\n", 1000); // 左对齐,右边补空格 printf("%06d\n", 1000); // 001000 6位,前面补0 printf("% d % d\n", 1000, -1000); // 正号用空格替代,负号输出 printf("%+d %+d\n", 1000, -1000); // 输出正负号
2、二进制
---计算机采用二进制:只使用两个数0和1; 二进位计数制的四则运算简单; 节省设备; 二进制的符号“1”和“0”恰好与逻辑运算中的“对”(true)与“错”(false)对应,便于计算机进行逻辑运算
---由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头
---十进制转二进制:
整数部分: 除以对应进制取余
小数部分:小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,一直取到小数部分为零为止。如果永远不能为零,按照要求保留多少位小数,0舍1入
---十进制转八、十六进制:
(1)整数部分: 除以对应进制取余
小数部分:小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,一直取到小数部分为零为止。如果永远不能为零,按照要求保留多少位小数,3舍4入
(2)先将十进制转换成二进制,然后将二进制又转换成八进制
---二、八、十六进制转十进制
进制每位上的数乘以权
---二进制转八、十六进制
八进制: 3位换
十六进制: 4位换
---二进制的最高位是符号位:0表示正数,1表示负数; 在计算机运算的时候,都是以补码的方式来运算的;
---正数的原码、反码、补码都一样; 0的反码、补码都是0
---负数的反码 = 它的原码符号位不变,其他位取反; 负数的补码 = 它的反码 +1;