C语言输出(主要是printf函数)

C语言基础输出

在C语言中,有三个函数可以用来在显示器上输出数据,它们分别是:

  1. puts():只能输出字符串,并且输出结束后自动换行。

  2. putchar():只能输出单个字符。

  3. printf():可以输出各种类型的数据。

printf()是其中最灵活、最复杂、最常用的输出函数,它通过格式控制符对输出进行格式控制,它的部分格式控制符如下:
在这里插入图片描述

printf高级输出

printf() 格式控制符的完整形式:%[flag][width][.precision]type

[ ] 表示此处的内容可有可无,是可以省略的)

  1. type:输出类型,这一项必须有。例如 %d、%f、%c、%lf,type 就分别对应 d、f、c、lf。

  2. width:最小输出宽度。当输出结果的宽度不足width时,在数字左边以空格补齐;当输出结果的宽度超过width,width不再起作用。

  3. .precision:对于浮点数而言,此项表示输出精度,当小数部分的位数小于precision时,会在后面补0,当小数部分的位数大于precision时,会按照四舍五入的原则丢掉多余的数字;对于整数而言,。.precision表示数字部分最小输出宽度,但与width不同,整数宽度不足时会在左边补0;对于字符串而言,.precision表示最大输出宽度,当字符串长度大于precision时,会截掉多余的字符串,小于不起作用。

  4. flag:flag是标志字符,共4个:‘-’表示左对齐,没有就按照默认方式右对齐;‘+’表示对于整数或小数,输出正负号,没有就仅有负数会输出负号;‘ ’表示输出为正数时,以空格代替正号,输出为负数时,输出负号;‘#’表示对于整数而言,输出时添加前缀;对于浮点数而言,表示强迫输出小数点,即使没有小数部分。

演示代码如下:

#include <stdio.h>

int main()
{	
	int m = 192, n = -234;
	double f = 9.8;
	char c = '@';
	char *str = "abcdefghi";
	
	//演示width 
    	printf("%10d%12lf%4c%8s\n", n, f, c, str);
	
	//演示.precision 
    	printf("n: %.9d  %.4d\n", n, n);
   	printf("f: %.2lf  %.4lf  %.10lf\n", f, f, f);
    	printf("str: %.5s  %.15s\n", str, str);

	//演示flag 
    	printf("m=%10d, m=%-10d\n", m, m);  //演示 - 的用法
    	printf("m=%+d, n=%+d\n", m, n);  //演示 + 的用法
    	printf("m=% d, n=% d\n", m, n);  //演示空格的用法
    	printf("f=%.0lf, f=%#.0lf\n", f, f);  //演示#的用法
    	
	return 0;
}

运行结果如下图:
在这里插入图片描述


版权声明:本文为qq_38705421原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。