【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
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: printf输出格式说明符是用于指定输出格式的占位符,用于控制输出的格式和精度。常用的格式说明符包括: 1. %d:输出十进制整数。 2. %f:输出浮点数。 3. %c:输出字符。 4. %s:输出字符串。 5. %p:输出指针地址。 6. %o:输出八进制整数。 7. %x或%X:输出十六进制整数,%x输出小写字母,%X输出大写字母。 8. %e或%E:输出科学计数法表示的浮点数,%e输出小写字母,%E输出大写字母。 9. %u:输出无符号十进制整数。 10. %g或%G:根据数值的大小自动选择%f或%e输出浮点数,%g输出小写字母,%G输出大写字母。 除了以上常用的格式说明符外,还有一些其他的格式说明符,如%ld、%lld、%lu等,用于输出长整型、长长整型、无符号长整型等数据类型。在使用printf输出时,需要根据实际需要选择合适的格式说明符,以达到正确的输出效果。 ### 回答2: printf 是 C 程序非常常用的输出函数,可以将变量和常量以指定的格式输出到控制台上或者文件printf输出格式说明符是非常重要的组成部分,可以掌握他们的含义与用法将会有助于更好的使用 printf 函数。 下面我们来详细解读一下格式说明符常用的几个: %s:将字符串输出。例如:printf("%s", "Hello world"),输出字符串 Hello world。 %c:将字符输出。例如:printf("%c", 'H'),输出字符 H。 %d:将十进制整数以带符号方式输出。例如:printf("%d", 123),输出整数 123。 %ld:将长整型以带符号方式输出。例如:printf("%ld", 123456L),输出长整型 123456。 %f:将浮点数以小数形式输出。例如:printf("%f", 3.14),输出浮点数 3.140000。 %e:将浮点数以指数形式输出。例如:printf("%e", 3.14),输出浮点数 3.140000e+00。 %x:将十六进制整数以无符号方式输出,并且以小写字母表示 a-f。例如:printf("%x", 255),输出十六进制整数 ff。 %X:将十六进制整数以无符号方式输出,并且以大写字母表示 A-F。例如:printf("%X", 255),输出十六进制整数 FF。 %u:将十进制整数以无符号方式输出。例如:printf("%u", 123),输出无符号整数 123。 %p:输出指针地址值。例如:printf("%p", &a),输出变量 a 的地址。 %o:将八进制形式输出一个整数。例如:printf("%o", 8),输出八进制数 10。 上面是 printf 函数常用的格式说明符。此外,还有许多特殊的格式说明符,如:printf("%10d", 123),输出宽度为 10 的十进制整数 123,这里的 10 指定了输出的宽度。还有其它许多小技巧,需要在使用逐渐积累。 需要注意的是,在使用 printf 函数时,格式说明符一定要与要输出的变量类型匹配,否则会造成输出错误。同时,在输出整数时,可以使用修正符号来指定输出的宽度和长度精度,这有助于我们得到更规范、美观的输出结果。 综合来看,printf 输出格式说明符是 C 程序非常重要的部分,因此仔细学习使用,可以为我们的程序输出效果带来很大的改善。 ### 回答3: C语言printf函数是一种输入输出函数,它的主要作用是将参数输出到标准输出设备(stdout),即打印机或屏幕上。在使用printf函数输出时,需要使用格式说明符指定输出的格式,否则输出的内容将无法正确地显示在屏幕上。以下是C语言printf输出格式说明符的详解: 1. 字符类型(%c) %c用于输出单个字符,例如:printf("%c", 'A'); 则输出结果为"A"。 2. 整数类型(%d/%i) %d/%i用于输出以十进制形式表达的整数,例如:printf("%d", 100); 则输出结果为"100"。 3. 八进制类型(%o) %o用于输出以八进制形式表达的整数,例如:printf("%o", 100); 则输出结果为"144"。 4. 十六进制类型(%x/%X) %x/%X用于输出以十六进制形式表达的整数,其%x输出结果为小写字母,%X输出结果为大写字母。例如:printf("%x", 100); 则输出结果为"64"。 5. 浮点数类型(%f) %f用于输出以小数形式表达的实数,例如:printf("%f", 3.1415926); 则输出结果为"3.141593"。 6. 科学计数法类型(%e/%E) %e/%E用于输出以科学计数法形式表达的实数,其%e输出结果为小写字母,%E输出结果为大写字母。例如:printf("%e", 3.1415926); 则输出结果为"3.141593e+00"。 7. 字符串类型(%s) %s用于输出字符串,例如:printf("%s", "Hello World!"); 则输出结果为"Hello World!"。 8. 指针类型(%p) %p用于输出指针地址,例如:printf("%p", &a); 则输出结果为"0x7ffeeb4b345c"。 以上是C语言printf输出格式说明符的详解,掌握这些格式说明符可以更加灵活地输出内容。同时,在程序使用printf函数时,需要注意输出格式和参数类型的匹配,否则会产生错误的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值