目录
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;
}