C语言---Day1

发布时间 2024-01-04 16:36:16作者: o·0

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;