【c语言】printf输出格式

目录

一.输出类型说明

1.单个字符

1.1 %c

2.整型

2.1 %d

2.2 %i

2.3 %u

2.4 %x

2.5 %X

2.6 %o

3. 浮点型

3.1 %f

3.2 %a

3.3 %A

3.4 %e

3.5 %E

3.6 %g

3.7 %G

4. 指针

4.1 %p

5. 字符串

5.1 %s

二.说明修饰符

1. 符号

1.1 - 减号

1.2 + 加号

1.3  空格

1.4  数字

1.5  .数字

1.5.1  对于浮点型,如 %8.1f,小数点后的保留位数

1.5.2 对于整型,如%.5i,待打印数字的最小位数 

1.5.3 对于字符串,限制字符串的最大长度

1.6  #

1.6.1  对于%o格式,则以 0开始

1.6.2  对于%x 、%X, 以Ox、0X开头

         1.6.3  所有的浮点型,即使后面没有任何的数字,也打印一个小数点字符  

三.测试全部代码


一.输出类型说明

1.单个字符

1.1 %c

说明:输出单个字符

printf("%c\n",'c');  /*输出结果:c*/

2.整型

2.1 %d

说明:输出十进制整型

printf("%d\n",-10) /*    运行结果:-10     */

2.2 %i

说明:输出十进制整型,和%d功能一样

printf("%i\n",-10); /*    输出结果 :-10	    */

2.3 %u

说明:输出无符号整型

printf("%u\n",10); /*    输出结果:10    */

2.4 %x

说明:无符号十六进制整数

printf("%x\n",10);/*    输出结果:a   */

2.5 %X

说明:无符号十六进制整数,和%x差不多,只是16进制的字母为大写

printf("%X\n",10);/*	输出结果:A	*/

2.6 %o

说明:无符号八进制整数

printf("%o\n",10);    /*	输出结果:12	*/

3. 浮点型

3.1 %f

说明:浮点数,10进制

printf("%f\n",10.3);    /*	输出结果:10.300000	*/

3.2 %a

说明:浮点数、16进制、p计数法

printf("%a\n",10.3);    /*	输出结果:0x1.49999ap+3	*/

3.3 %A

说明:浮点数、16进制、p计数法

printf("%A\n",10.3)    /*	输出结果:0X1.49999AP+3	*/

3.4 %e

说明:浮点数、e 计数法

printf("%e\n",10.3);    /*	输出结果:1.030000e+001	*/

3.5 %E

说明:浮点数、E 计数法

printf("%E\n",10.3)    /*	输出结果:1.030000E+001	*/

3.6 %g

说明: 浮点数、自动选择%f或%e ,指数小于-4或者大于等于精度时使用 %e 

printf("%g\n",10.3) /*    输出结果: 10.3   */

3.7 %G

说明: 浮点数、自动选择%f或%E ,指数小于-4或者大于等于精度时使用 %E

printf("%G\n",10.3)    /*	输出结果:10.3	*/

4. 指针

4.1 %p

说明:输出指针,具体使用根据情况而定

char * str="hello";
printf("%p\n",str);     /* 输出结果:00AA5B78    此处返回的是"hello"的地址 */

5. 字符串

5.1 %s

说明:字符串
 

char * str="hello";
printf("%s\n",str);    /*	输出结果:hello	*/

二.说明修饰符

1. 符号

1.1 - 减号

说明:待打印左对齐

printf("不带左对齐 -:%20s\n","hello,world");    /*	输出结果:         hello,world	*/
printf("带左对齐 -:%-20s\n","hello,world");    /*	输出结果:hello,world	*/

1.2 + 加号

说明:有符号值若为正,则在值前面显示加号,若为负,则加负号

printf("正数输出 带+:%+d\n",10);    /*	输出结果:+10	*/
printf("负数输出 带+:%+d\n",-10);   /*	输出结果:-10	*/

1.3  空格

说明:有符号值若为正,则在值前面加前导空格(不显示任何符号);若为负,则在值前面加负号并覆盖空格

printf("正数输出 带空格:% d\n",10);    /*	输出结果: 10	*/
printf("负数输出 带空格:% d\n",-10);   /*	输出结果: -10	*/

1.4  数字

说明: 最小字段宽度

printf("带数字标识符的的整型:%4d\n",37);    /*	输出结果:  37	*/
printf("带数字标识符的的整型:%4d\n",378219);/*	输出结果:378219	*/
printf("带数字标识符的的字符串:%10s\n","he");/*	输出结果:        he	*/

1.5  .数字

说明:精度。

    1.5.1  对于浮点型,如 %8.1f,小数点后的保留位数
printf("%8.1f\n",37.896);    /*	输出结果::    37.9	*/
     1.5.2 对于整型,如%.5i,待打印数字的最小位数 
printf("%.5i\n",37);    /*	输出结果:00037	*/
      1.5.3 对于字符串,限制字符串的最大长度
printf("%.6s\n","hello,world");    /*	输出结果:hello,    */

1.6  #

说明:把结果转换为另一种形式

1.6.1  对于%o格式,则以 0开始
   printf("无符号八进制整型(不带#):%o\n",10); /*    输出结果:   12 */
   printf("无符号八进制整型(带#):%#o\n",10);  /*    输出结果:   012 */
1.6.2  对于%x 、%X, 以Ox、0X开头
printf("无符号十六进制整型%x(带#):%#x\n",10); /*    输出结果:  0x311109  */

1.6.3  所有的浮点型,即使后面没有任何的数字,也打印一个小数点字符
  

 float testfloat1=10;
 printf("浮点型 (不带#):%8.0f\n",testfloat1); /*    输出结果:   10  */
 printf("浮点型 (带#):%#8.0f\n", testfloat1);  /*    输出结果:   10. */

三.测试全部代码

#include <stdio.h>
/*	 输出函数	*/
int main()
{
	char c='c';
	char * str="hello";
	float testfloat1=10;
	float testfloat2=10.3;
	
	printf("字符:%c\n",'c'); /* 字符	*/
	/*	输出结果:	*/
	/* 整型 */
	printf("有符号十进制整数:%d\n",-10); /* 有符号十进制整数	*/
	printf("有符号十进制整数:%i\n",-10); /* 有符号十进制整数,和%d 一样	*/
	printf("无符号十进制整数:%u\n",-10); /* 无符号十进制整数,如果传入-10,数据显示就不对了	*/
	printf("无符号十进制整数:%u\n",10); /* 无符号十进制整数	*/
	printf("无符号十六进制整数:%x\n",10); /* 无符号十六进制整数	*/
	printf("无符号十六进制整数:%X\n",10); /* 无符号十六进制整数	*/
	printf("无符号八进制整型:%o\n",10); /* 无符号八进制整数*/

	/*浮点数*/
	printf("浮点数、16进制、p计数法:%a\n",10.3); /* 浮点数、16进制、p计数法	*/
	printf("浮点数、16进制、p计数法:%A\n",10.3); /* 浮点数、16进制、p计数法	*/	

	printf("浮点数、e 计数法:%e\n",10.3); /* 浮点数、e 计数法	*/
	printf("浮点数、E 计数法:%E\n",10.3); /* 浮点数、E 计数法	*/	
	printf("浮点数,10进制:%f\n",10.3); /* 浮点数 , 10进制	*/	

	printf("浮点数、自动选择%%f或%%e:%g\n",10.3); /* 浮点数、自动选择%f或%e ,指数小于-4或者大于等于精度时使用 %e	,其中的 g 是general ,通用;*/
	printf("浮点数、自动选择%%f或%%e:%G\n",10.3); /* 浮点数、自动选择%f或%e, 指数小于-4或者大于等于精度时使用 %e	*/	

	
	/* 指针	*/
	
	printf("指针:%p\n",str); /* 指针*/

	/*	字符串	*/
	printf("字符串:%s\n",str); /* 字符串	*/


	/*百分号*/
	printf("百分号:%%\n"); /* 百分号	*/



	/*****************以下为修饰符说明*******************/
	printf("\n");
	printf("\n");
	printf("*****************以下为修饰符说明*******************\n");

	/* - 待打印左对齐 */
	printf("不带左对齐 -:%20s\n","hello,world");
	printf("带左对齐 -:%-20s\n","hello,world");

	/* + 有符号值若为正,则在值前面显示加号,若为负,则加负号 */
	printf("正数输出 带+:%+d\n",10);
	printf("负数输出 带+:%+d\n",-10);


	/* 空格 有符号值若为正,则在值前面加前导空格(不显示任何符号);若为负,则在值前面加负号并覆盖空格 */

	printf("正数输出 带空格:% d\n",10);
	printf("负数输出 带空格:% d\n",-10);

	/* 数字 最小字段宽度*/
	printf("带数字标识符的的整型:%4d\n",37);//不够4个宽度,数字前加空白
	printf("带数字标识符的的整型:%4d\n",378219);
	printf("带数字标识符的的字符串:%10s\n","he");

	/* .数字 精度*/

	printf("带.数字标识符的的浮点型:%8.1f\n",37.896);//浮点型,小数点后保留1位
	printf("带.数字标识符的的整型:%.5i\n",37);//整型,待打印数字的最小位数
	printf("带.数字标识符的的字符串:%.6s\n","hello,world");//字符串的最大长度


	/*  #   把结果转化为另一种形式。 */
	printf("无符号八进制整型(不带#):%o\n",10); /* 无符号八进制整数*/
	printf("无符号八进制整型(带#):%#o\n",10); /* 对于%o , 以o开头的*/
	printf("无符号十六进制整型%x(带#):%#x\n",10); /* 对于%x 、%X, 以Ox、0X开头*/
	printf("浮点型 (不带#):%8.0f\n",testfloat1); /*浮点型,小数点不保留*/
	printf("浮点型 (带#):%#8.0f\n",testfloat1); /*对于所有浮点型,即使后面没有任何的数字,也打印一个小数点字符*/


	getchar();
	return 0;
}

  • 14
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值