C语言printf格式化打印(%d、%md、%f、%c、%s、%o、%x等)

我们要记住signed ➕ 类型 完全等效与 单独的类型
所以我们下面会用(signed)来表示可以省略不写。

​​​​​​​1.整型家族的格式化打印形式

  1. (signed)int   (有符号整型)———%d
     
  2.    unsigned int     (无符号的int类型)———%u

     
  3. (signed)long   (有符号长整型)———%ld
     
  4.    unsigned long    (无符号的长类型)———%lu

     
  5. (signed)long  long(有符号长长整型)———%lld
     
  6.    unsigned long long    (无符号的长类型)———%llu

     
  7. (signed)short   (有符号短整型)———%hd
     
  8.    unsigned short    (无符号的长类型)———%hu

     
  9. 以上类型若是想在printf和scanf中保留相关位数​​​​​​​———%md

请看本篇文章C语言中%md在printf语句和scanf语句中的区别_啵啵吃小面包的博客-CSDN博客

拓展:

  1.  以八进制形式输出无符号整数(不输出前缀0)———%o

    八进制数例如
    :0123,0234,0345,03等前缀是0的数
    ​​​​​​​
  2. 十六进制形式输出无符号整数(不输出前缀Ox)———%x , %X

    十六进制数例如
    :0x11223344,0X11,0x221c等前缀是0x和0X的数
     
  3. 若想输出前缀要改写成———%#x、%#X、%#o

    4.%i和%d的区别:

    在C语言中,%i%d都是格式控制符,用于格式化输出整数类型的变量。
%d  用于输出有符号的十进制整数。它会将整数按照十进制形式输出,并且如果整数是负数,则会输出一个负号。
%i  也用于输出有符号的十进制整数。与%d相比,%i可以将八进制数字和十六进制数字转换成十进制数字输出。

2.浮点型家族格式化打印形式(浮点数只有 有符号的类型)

  1. float(有符号的单精度浮点数)———%f
     
  2. double(有符号的双精度浮点数)———%lf
     
  3. 在输出中想保留n位小数———%.nf    或者    %.nlf
#include 
int main()
{
    float a = 1.2345;
    printf("%.1f\n",a);
    return 0;
}

这里表示输出的结果保留一位小数,也就是1.2

C语言printf格式化打印(%d、%md、%f、%c、%s、%o、%x等)_第1张图片

    4.科学计数法表示的浮点数(小写字母)———%e


    5.科学计数法表示的浮点数(大写字母)———%E

3. 字符类型的格式化打印形式

  1. char———%c( 输出单个字符 )

    char———%d输出字符对应的ASICC值
     
  2. 字符串类型———%s (输出字符串)

若想限制输出字符串中的字符个数,我们用%.ns的格式,表示输出前n个字符

#include 
int main()
{
    char a[50] = "hello world";
    printf("%.7s\n",a);
    return 0;
}

这就代表了输出前7个字符,也就是hello w

C语言printf格式化打印(%d、%md、%f、%c、%s、%o、%x等)_第2张图片

%ms
m代表的是在屏幕上输出m个字符个数,并且右对齐。
如果m<字符串长度,那么m=字符串的长度,也就是打印全部字符串。

#include 
int main(void) {
    printf("%5s,%s","computer","computer");
    return 0;
}

如图,我们是%5s,5是小于字符串长度的,所以打印整个字符串就OK啦

但是当m>字符串长度的时候,我们要输出m个字符,不够就用空格填充,并且右对齐

#include 
int main(void) {
    printf("%15s,%s","computer","computer");
    return 0;
}

所以这里是打印15个字符个数,很明显字符串长度小于m,不够的就用空格填充,并且右对齐。

当m是负数的时候,其他的都一样,但是是左对齐

4.其他的格式化打印形式

打印地址———%p(16进制显示)

你可能感兴趣的:(c语言)