黑色星空
欢迎你,注册进来让我们共同打造这片星空吧。。。。。。

by: niusan521

Join the forum, it's quick and easy

黑色星空
欢迎你,注册进来让我们共同打造这片星空吧。。。。。。

by: niusan521
黑色星空
Would you like to react to this message? Create an account in a few clicks or log in to continue.

c语言格式字符控制详解--------

向下

c语言格式字符控制详解-------- Empty c语言格式字符控制详解--------

帖子  niusan521 周五 四月 27, 2012 7:05 pm

格式字符控制:

说明:sprintf(格式化后的字符,"%(长度)格式符",格式化前的字符);

1、 d格式符。用来输出十进制数。有以下几种用法:

(1)、%d按整数的实际长度输出。

(2)、%md,m为指定的输出字段的宽度。如果数据位数小于m,则左端补以空格,若大于m,则按实际位数输出。(3)、%ld,输出长整型数据。例:long a=135790;printf(“%ld”,a);如果用%d输出就会发生错误,因为整型数据的范围是-32768到32767.对long型数据应当用%ld格式输出,对长整型数据也可以指定字段宽度,如:%8ld。

2、 o格式符,以八进制数形式输出整数。由于内存单元中的各位的值(0或1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制的一部分输出。

3、 x格式符,以十六进制数形式输出整数。同样不会出现负的十六进制数。同样可以用%lx输出长整型数,也可以指定输出字段宽度。

4、 u格式符,用来输出unsigned型数据,即无符号数,以十进制形式输出。一个有符号整数(int型)也可以用%u格式输出,反之,一个unsigned型的数据也可以用%d格式输出。按相互赋值的规则处理。Unsigned型数据也可以用%x格式输出。

5、 c格式符,用来输出一个字符。一个字符型数据也可以用整数形式输出。

6、 s格式符,用来输出一个字符串。

(1)、%s,printf(“%s”,“HELLO”);

(2)、%ms输出字符串占m列,如字符串本身大于m,则突破m的限制,字符串全部输出,如果小于m,则左补空格。(3)、%-ms如果字符串小于m,则在m范围内,字符串向左靠,右补空格。

(4)、%m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。

(5)、%-m.ns,其中m,n含义同上,n个字符输出在m范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。

7、 f格式符,用来输出实数(包括单,双精度),以小数形式输出。

(1)、%f,不指定字段宽度,有系统自动指定,使整数部分全部如数输出,并输出6位小数。应当注意,并非全部数字都是有效数字。单精度实数的有效位数一般是7位。

(2)、%m.nf指定输出的数据占m列,其中有n位小数。如果数值长度小于m,则左补空格。

(3)、%-m.nf与%m.nf基本相同,只是输出的数值向左端靠,右端补空格。

8、 e格式符,以指数形式输出。

9、 g格式符,用来输出实数,它根据数值的大小,自动选择f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。


黑色星空,有你更加精彩。。。。。
niusan521
niusan521

帖子数 : 210
注册日期 : 12-01-09

返回页首 向下

返回页首


 
您在这个论坛的权限:
不能在这个论坛回复主题