
1. 转换说明符%a(%A)%c%d%f%e(%E)%g(%G)%i%u%o%x(%X)%p%s %%浮点数,十六进制数和p-(P-)表示法(C99)带符号的字符,十进制整数浮点数(包括float和doulbe)浮点指数输出[e-(E-)表示法]浮点数并非没有意义零“ 0”有符号十进制整数(与%d相同)无符号十进制整数八进制整数,例如0123十六进制整数0f(0F),例如0x1234指针字符串“%” 2.左对齐的符号: “-”,例如“%-20s”右对齐: “ +”,例如“ %+ 20s”空格: 如果符号为正,则显示空格,如果符号为负,则显示“-”,例如“%6.2f”. #: 对c,s,d,u类无效;对于o类,在输出中添加前缀o;对于x类,在输出中添加前缀0x;对于e,g,f类,仅当结果为小数点时才给出小数点. 3.格式化字符串(格式)[flag] [最小输出宽度] [. [精度] [长度]类型“%-md”: 左对齐,如果m小于实际值,则输出为实际值.

“%m.ns”: 输出m位,从左侧开始输入字符串n位,并在省略n> m或m时在左侧填充空格m = n例如“%7.2s “输入CHINA输出” CH“”%m.nf“: 输出浮点数,m为宽度,n为小数点右边的数字,例如”%3.1f“输入3852.99输出3853.0长度: h为短整形量,l是长整形量printf格式控制完整格式: %-0 mn l或h格式字符下面描述构成格式说明的项目: ①%: 表示格式说明的起始符号,这是必不可少的. ②-: 是-表示左对齐输出,如果省略,则表示右对齐输出. ③0: 如果为0,则表示指定间隙填充为0. 如果省略,则表示未填充指定间隙. ④m.n: m是指字段宽度,即相应的输出项在输出设备上占据的字符数. N代表准确性. 用于描述输出实数的小数位数. 指定n时,隐含精度为n = 6位数字. ⑤l或h: l整数类型是long类型,实数类型是double类型. h用于将整数类型的格式字符修改为短类型. -----------------------------------格式字符格式字符用于指定输出数据类型和输出格式.

①d格式: 用于输出十进制整数. 有几种用法: %d: 根据整数数据的实际长度输出. %md: m是指定输出字段的宽度. 如果数据中的位数小于m,则左端用空格填充,如果大于m,则以实际数字输出. %ld: 输出长整数数据. ②o格式: 以无符号八进制形式输出整数. 对于长整数,可以使用“%lo”格式进行输出. 同样,您也可以指定字段宽度并以“%mo”格式输出. 范例: main(){int a = -1; printf(“%d,%o”,a,a);}操作结果: -1177777程序分析: -1在存储单元中(以补码形式存储))是(1111111111111111)2,转换为八进制数是( 177777)8.③x格式: 以无符号十六进制形式输出整数. 对于长整数,可以使用“%lx”格式进行输出. 您还可以指定字段宽度并以“%mx”格式输出. ④u格式: 以无符号十进制形式输出整数. 对于长整数,可以以“%lu”格式输出. 同样,您也可以指定字段宽度并以“%mu”格式输出. ⑤c格式: 输出一个字符. ⑥s格式: 用于输出字符串.

%s的几种用法: 例如: printf(“%s”,“ CHINA”)输出“ CHINA”字符串(不包括双引号). %ms: 输出字符串占m列. 如果字符串本身的长度大于m,则打破获得m的限制,并输出所有字符串. 如果字符串的长度小于m,则在左侧填充空格. %-ms: 如果字符串的长度小于m,则在m列的范围内,字符串将左对齐,并在右侧填充空格. %m.ns: 输出占用m列,但仅从字符串的左端开始取n个字符. 这n个字符输出到m列的右侧,并在左侧留空格. %-m.ns: 其中m和n与上述含义相同,在m列范围的左侧输出n个字符,并在右侧添加空格. 如果n> m,则自动获取n的值,即确保正常输出n个字符. ⑦f格式: 用于输出实数(包括单精度和双精度),并以十进制形式输出. 有几种使用方法: %f: 未指定宽度,输出整数部分,并输出6位小数. %m.nf: 输出总共占m列,并且有n个小数位,例如,值的宽度小于m,并且左端用空格填充. %-m.nf: 输出总共占据n列,其中n个小数位,例如值的宽度小于m且右端用空格填充. 格式: 以指数形式输出实数. 可用的形式有以下几种: %e: 数字部分(也称为尾数)输出6个小数位,而指数部分则占用5或4位数字.

%m.ne和%-m.ne: mprintf 格式控制,n和“-”字符的含义与以前相同. 其中,n表示数据数字部分的小数位数,m表示整个输出数据的宽度. ⑨g格式: 自动选择f格式或e格式中的较短者进行输出,并且不会输出无意义的零. -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------有关printf函数的进一步说明: 如果要输出字符“%”,应在“格式控制”字符串中用两个连续的%s表示,例如: printf(“%f %%”,1.0 / 3);输出0.333333%. -------------------------------------格式字符输出此时printf 格式控制,只有前7位是有效数字和6位小数. 对于双精度数字,使用%lf格式的字符输出时,前16位是有效数字,而6位是十进制数字. ##################################采摘########### ## ############################专家指导下的mn的格式也可以表示如下(示例)char ch [20]; printf(“%*. * s \ n”,m,n,ch);前面的*表示总宽度,后面的*表示输出数量.
分别对应于外部参数m和n. 我认为此方法的优点是可以在语句外部分配参数m和n来控制输出格式. -------------------------------------------------- ----------------------------今天(06.6.9)看到了另一种输出格式%n,可以转换输出字符串,长度值是分配给变量,请参见以下示例: int slen; printf(“ hello world%n”,&slen);执行后,该变量的值为11.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-201415-1.html
美国就是这个德行
我没觉得台湾香港人享受更高品质生活