《C语言输入输出格式.doc》由会员分享,可在线阅读,更多相关《C语言输入输出格式.doc(6页珍藏版)》请在金锄头文库上搜索。
1、C中格式字符串的一般形式为: 标志输出最小宽度.精度长度类型其中方括号中的项为可选项。各项的意义介绍如下: 1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:表示输出类型的格式字符 格式字符意义a 浮点数、十六进制数字和p-计数法(C99)A 浮点数、十六进制数字和p-计数法(C99)c 输出单个字符d 以十进制形式输出带符号整数(正数不输出符号)e 以指数形式输出单、双精度实数E 以指数形式输出单、双精度实数f 以小数形式输出单、双精度实数g 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大 于等于精度时使用G 以%f%e中较短的输出宽度输出单、双精度
2、实数,%e格式在指数小于-4或者大于等于精度时使用i 有符号十进制整数(与%d相同)o 以八进制形式输出无符号整数(不输出前缀O)p 指针s 输出字符串x 以十六进制形式输出无符号整数(不输出前缀OX)X以十六进制形式输出无符号整数(不输出前缀OX)u 以十进制形式输出无符号整数/* 测试常见的输出类型 */#include stdio.h#include conio.hmain() printf(The program test print style!n); /* 以十进制形式输出带符号整数(正数不输出符号) */ printf(%dn , 223); printf(%dn , -232)
3、; printf(n); /* 以八进制形式输出无符号整数(不输出前缀O) */ printf(%on , 223); printf(%on , -232); printf(n); /* 以十六进制形式输出无符号整数(不输出前缀OX) */ printf(%xn , 223); printf(%xn , -232); printf(n); /* 以十进制形式输出无符号整数 */ printf(%un , 223); printf(%un , -232); printf(n); /* 以小数形式输出单、双精度实数 */ printf(%fn , 223.11); printf(%fn , 232
4、.11111111); printf(%fn , -223.11); printf(%fn , -232.11111111); printf(n); /* 以指数形式输出单、双精度实数 */ printf(%en , 223.11); printf(%en , 232.11111111); printf(%en , -223.11); printf(%en , -232.11111111); printf(n); /* 以%f%e中较短的输出宽度输出单、双精度实数 */ printf(%gn , 223.11); printf(%gn , 232.111111111111); printf(%
5、gn , -223.11); printf(%gn , -232.111111111111); printf(n); /* 输出单个字符 */ printf(%cn , a); printf(%cn , 97); printf(n); /* 输出单个字符 */ printf(%sn , this is a test!); printf(%sn , 2342o34uo23u); printf(n); getch();2.标志标志字符为-、+、#、空格和0五种,其意义下表所示:标志格式字符 标 志 意 义- 结果左对齐,右边填空格+ 输出符号(正号或负号)空格 输出值为正时冠以空格,为负时冠以负号
6、# 对c,s,d,u类无影响;对o类,在输出时加前缀0;对x类, 在输出时加前缀0x或者0X;对g,G 类防止尾随0被删除; 对于所有的浮点形式,#保证了即使不跟任何数字,也打印一个小数点字符0 对于所有的数字格式,用前导0填充字段宽度,若出现-标志或者指定了精度(对于整数),忽略3.输出最小宽度用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。/* 测试标志字符为-、+、#、空格四种 */#include stdio.h#include conio.hmain() /* 以十进制形式输出带符号整数(正数不输出符号) */ p
7、rintf(*%-10d*n, 223); printf(*%+10d*n , -232); printf(*%2d*n , 223); printf(*%#d*n , -232); printf(n); getch(); /* 以八进制形式输出无符号整数(不输出前缀O) */ printf(*%-10o*n , 223); printf(*%+10o*n , -232); printf(*%o*n , 223); printf(*%#o*n , -232); printf(n); getch(); /* 以十六进制形式输出无符号整数(不输出前缀OX) */ printf($%-10x$n ,
8、 223); printf($%010x$n , -232); printf($% x$n , 223); printf($%#x$n , -232); printf(n); /* 以十进制形式输出无符号整数 */ printf(%-10un , 223); printf(%+10un , -232); printf(% un , 223); printf(%#un , -232); printf(n); getch(); /* 以小数形式输出单、双精度实数 */ printf(%-10fn , 223.11); printf(%+10fn , 232.11111111); printf(%
9、fn , -223.11); printf(%#fn , -232.11111111); printf(n); getch(); /* 以指数形式输出单、双精度实数 */ printf(%-10en , 223.11); printf(%+10en , 232.11111111); printf(% en , -223.11); printf(%#en , -232.11111111); printf(n); getch(); /* 以%f%e中较短的输出宽度输出单、双精度实数 */ printf(%-10gn , 223.11); printf(%+10gn , 232.1111111111
10、11); printf(% gn , -223.11); printf(%#gn , -232.111111111111); printf(n); getch(); /* 输出单个字符 */ printf(%-10cn , a); printf(%+10cn , 97); printf(% cn , a); printf(%#cn , 97); printf(n); getch(); /* 输出单个字符 */ printf(%-20sn , this is a test!); printf(%+20sn , 2342o34uo23u); printf(% 20sn , this is a test!);/* 不足补空格 */ printf(%#sn , 2342o34uo23u); printf(n); getch();4.精度精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。/* 测试精度 */#include stdio.h#include conio.hmain() printf(%.3dn , 5555); getch(); printf(%.3fn , 0.88888); getch(); printf(%.3fn , 0.