C语言学习笔记(二)--格式字符控制

 

格式字符控制:

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

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

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

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

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

6、 s格式符,用来输出一个字符串。(1)、%sprintf(“%s”,“HELLO”);(2)、%ms输出字符串占m列,如字符串本身大于m,则突破m的限制,字符串全部输出,如果小于m,则左补空格。(3)、%-ms如果字符串小于m,则在m范围内,字符串向左靠,右补空格。(4)、%m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。(5)、%-m.ns,其中mn含义同上,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格式(选择输出时占宽度较小的一种),且不输出无意义的零。

你可能感兴趣的:(c,语言)