现在的位置: 首页 > 综合 > 正文

printf的一些用法

2013年01月31日 ⁄ 综合 ⁄ 共 1158字 ⁄ 字号 评论关闭

int a=3;
long d= -43456;
float b=5.1416;
char c='m';

printf("a:%d",3); 
// %为格式说明起始字符,可以翻译成汉语:“我要输出变量(或常量)了,输出类型和格式看我后面的说明。”
// 这里的d就是具体说明了,它在这里表示的是(十进制dec)整型数。
// ,逗号一定要记得加,后面的a就是要输出的变量了。
// 输出结果为3

 int a=81;
 printf("%3d/n",a);
//3表示输出3位数,不足3位在数的左边加空格
//输出为:_81

 int a=81;
 printf("%-4d,%+4d./n",a,a);
//-表示不足4位在数的右边加空格,+表示输出符号位(注:4位中包含符号位)
//输出为:81__,_+81.

printf("%f",5.4);
// f 表示输出(单精度)浮点数(默认接收7位有效数字(不计小数点)),其它与上相同
// 输出结果为5.400000

printf("c:%3c",c);
// c表示输出字符,这里需要注意的是这个3,什么意思呢?占位用的,表示要输出3位(字节数),当字符位数小于3个字节时(事实上字符只能是1位,所以满足条件)不足的差额(3-1=2)在左面加空格补足。
// 所以输出为‘--m’,我这里为了明显地表现出空格,所以用‘-’代替之。

printf("%4.3f",5.1416);
// 4表示一共要输出4位(数),3表示小数点后为3位
//输出结果为5.142(被四舍五入)

 short i=-4;
 printf("/ni:dec=%d,oct=%o,hex=%x,uns=%u/n",i,i,i,i);
// /n表示换行,o表示输出八进制(Octal)数,x表示十六进制输出(Hex)数,u表示输出无符号整型(Unsigned int)
以16位为例:十进制:-4,由于其是负数所以它在计算机中的二进制表示是其绝对值(也就是正数)的二进制补码
4的原码:二进制:0000,0000,0000,0100
4的反码:二进制:1111,1111,1111,1011
4的补码:二进制:1111,1111,1111,1100(此值即是-4的二进制表示)
转成八进制:177774
转成十六进制:7fff4
转成十进制:65532
//输出结果:(16位机)"i:dec=-4,oct=177774,hex=fffc,uns=65532"
(32位机)"i:dec=-4,oct=37777777774,hex=fffffffc,uns=4294967292"

 int a=7281;
 printf("%#o,%#x/n",a,a);
//#表示八进制输出(o)时在前面加0,十六进制输出(x)时前面加0x,以区别于十进制数
//输出结果为: 016161,0x1c71

未完..

抱歉!评论已关闭.