printf函数的知识点和总结
4.2.1 printf函数的调用格式
Printf(格式控制字符串,输出项列表);
双引号里的内容是:
1,控制字符包括转换说明符,标志,域宽,精度。
2,普通字符。
其中,转换说明符和%一起使用,用于说明输出数据的数据类型。输出项列表指出输出数据,当有多个输出项时,各输出项用英文逗号隔开,输出项可以是常量,变量和表达式。
例如:
printf(%d,%f\n,a,x+1);
输出项必须与格式控制符在类型和数量上完全对应。
下面是分别是格式控制符项和输出项列表多一项的情况(运行结果)。
可以看出,当输出项列表多一项时,不会多出b,也没有多个10。当格式控制字符串多一项时,结果就不定了。
3,转义字符
由于双引号,单引号,反斜杠等在C语言中有特殊的用途,如果要在输出结果中包含这些字符,则必须使用转义字符的形式输出。例如:
{
printf(\hello\””);
}
则在输出结果上显示双引号。
4.2.2 printf函数的格式控制字符串
1.转换说明符
            转换说明符及其含义
转换说明符
                意义
    c
按字符型式输出单个字符
    d
按十进制整数形式输出带符号的整数(正数不输出符号)
    u
按十进制整数形式输出不带符号的整数
    f
按十进制小数形式输出单,双精度的实数
  e,E
按指数形式(科学计数法)输出单,双精度实数
    o
按八进制整数形式输出无符号整数(不输出前缀0)
  x,X
按十六进制整数形式输出无符号整数(不含前缀0x)
    s
按字符串形式输出
表中的字符只有放在%后面才能作为输出的转换说明符。
1. d的输出会输出负符号;
2. c,s的输出分别是字符和字符串,不是整数和实数; d,u,o,x,X的输出是整数,分别是是十进制,十进制,八进制,十六进制;f的输出是实数;
3. 默认情况下,使用%f,%e,%E输出的值保留六个小数位,如果不够六位,则在数尾添0补齐;
4. u的输出如果是负整数,不会把负号去掉,而是证书前面的1不当作负号处理,进而计算为其他数(无符号不是说把负号去掉,而是把最高位的1不看作负号,因此二进制的计算机就会读为其他数了,这个数不是不确定的,对于任意一个负数,用%u转换后是一个确定且唯一的正整数)。
2.长度修饰符
%和转换说明符之间可以加长度修饰符。常用的长度修饰符有两种:l(长)表示按长量输出,h(短)表示用短量输出。
    长度修饰符的常见用法和含义
函数printf作用
格式
      含           
%ld
用于长整型数据的输出
%lf
用于双精度型数据的输出
%hd
用于短整数型数据的输出