关于格式符(1    d格式符。用来输出十进制整数。[1]%d。按十进制整数数据的实际长度输出。[2]%mdM为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出,比如:Printf(“%4d%4d”,ab);若a=123b=12345,则输出结果为 123,12345[3]%ld.输出长整型数据,比如:Long a=135790Printf(“%ld”,a);如果是用%d输出就会出错,因为整型数据的范围为—32768~32767,对long型数据应用%ld格式输出。(2    o格式符。以八进制整数形式输出,由于是将内存单元中的各位的值(01)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制的一部分输出。比如:int a=—1printf(“%d%o”,aa);—1在内存单元中的存放形式(以补码形式存放):      1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 输出为:      —1177777不会输出带负号的八进制整数。(3    x格式符。以十六进制数形式输出整数,同样不会出现负的十六进制数,比如:int a=—1printf(“%x%o%d”,aaa);输出结果为:ffff177777—14    u格式符。用来输出unsigned型数据,即无符号型数,以十进制整数形式输出。一个有符号整数(int型)也可以用%u格式输出,一个unsigned型数据也可以用%o%d格式输出。(5)c格式符。用来输出一个字符。(6s格式符,用来输出一个字符串。[1]%s。比如:Printf(%s,CHINA);输出字符串“CHINA”(不包括双引号)[2]%ms,输出的字符串占m列,
如字符串本身长度大于m,则突破m的限制,将字符串全部输出,如串长小于m,则左边补空格。[3]%-ms,如果串长小于m,则在m列范围内,字符串向左靠,右补空格。[4]%m.s。输出占m列,但只取字符串中左端n个字符,这n个字符输出在m列的右端,左补空格。[5]%-m.n,其中mn含义同上,n个字符输出在m列范围的左侧,右补空格,如果nm,则mn的值,即保证n个字符正常输出。
7f格式符。用来输出实数(包括单精度,双精度),以小数形式输出[1]%f,不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数。应当注意,在输出的数字中并非全部数字都是有效数字。单精度实数的有效位数一般为7位。[2]%m.n,指定输出的数据共占m列,其中有n为小数,如果数值长度小于m,则左端补空格。[3]%-m.nf%m.n基本相同,只是使输出的数值向左端靠,右端补空格。(8e格式符,以指数形式输出实数。[1]%e,不指定输出数据所占的宽度和数字部分的小数位数,有地C编译系统自动指定给出数字部分的小数位数是6位,指数部分占5(e+002),其中“e”占1位,指数符号占一位,指数占3位。数值按规范化指数形式输出(小数点前必须有而且只有1位非零数字。[2]%m.neprintf直接输出数字和%-m.ne和“-”字符的含义与前相同,此处n指输出的数据的小数部分的小数位数。(9g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出站宽度较小的一种)
,且不输出无意义的零。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。