#include <stdio.h>
int main(int argc, const char * argv[]) {
//整形输出
printf("%d,%d",3,4);
printf("\n");
//整形输出的字符宽度,%md
printf("%4d,%4d",3,4);
printf("\n");
//长整形的格式输出
printf("%ld,%ld",(long)3,(long)4);
printf("\n");
//长整形同样可以设置输出的字符宽度
printf("%8ld,%8ld",(long)3,(long)4);
printf("\n");
//按8进制的格式输出%o
int a = -1;
printf("%d,%o",a,a);
printf("\n");
printf("%d,%13o",a,a); //设置字符的输出宽度
//-1 在内存中得 存放形式是(以补码的方式存在):eg:111111111(第一位为符号位)
printf("\n");
//x符号输出16进制
int b = -1;
printf("%x,%o,%d",b,b,b);
printf("\n");
//u为无符号输出
int c = -1;
unsigned int d = 65535;
printf("%x,%o,%d,%u",c,c,c,c);
printf("\n");
printf("%x,%o,%d,%u",d,d,d,d);
printf("\n");
//c格式符,输出一个字符
char e = 'a';
printf("%c,%d",e,e);
printf("\n");
//s格式符,用来输出一个字符串
// char f[]="china";
// prinf("%s",f);
#warning 输出字符串有问题
//f格式符,用来输出实数(包括:单精度、双精度),以小数的形式输出
//1、%f格式符,不指定字段的宽度,有系统自动指定,使整数部分全部输出,并且输出6位小数。注意:输出数字中并非全部数字都是有效数字,单精度实数有效位一般是7位。双精度有效位为16位,给出小数6位。
// float x,y;
// x = 11111111.111;y=22222222,222;
// printf("%f \n",x+y); //从结果可以看出来只有7位是有效的。
double x,y;
x = 11111111.111;y=22222222.222;
printf("%f \n",x+y);
//2、%m.nf,指定输出的数据供占有m列,其中小数位n位,如果数值大于m,就会在左边不空格。
//3、%-m.nf与%m.nf基本相同,只是输出的数值向左端靠,右端补空格。
//符号e,以指数的形式输出
//1、%e,不指定输出数据所占有的宽度,和数字部分的小数的位数,有的c编译系统自动指出给出的数字是小数部分为6位,指数部分为5位,(eg:+002)
printf("%e",12389.454566);//而这个系统是默认栈4位
printf("\n");
//%m.ne和%-m.ne,中的m,n,- 和前面的一样。
double f = 123.456;
printf("%e %10e %10.2e %.2e %-10.2e",f,f,f,f,f);
printf("\n");
//格式符g,用来输出实数,它根据数字的大小,自动选取f格式或者e格式
double g = 123.456;
printf("%f %e %g",g,g,g);
printf("\n");
double h = 1234567123.456;
printf("%f %e %g",h,h,h);
//注意:一个格式符以%开头,以上面的格式符之一结尾。中间可以插入附加的修饰符,其实就是普通的字符
// printf("c=%cf=%fs=%s",c,f,s);//其实f=是普通的字符
printf("\n");
//输出%符号
printf("%f%%",1.0/3);
getchar();
return 0;
}
下面是相应的一些格式符号输出的图片:输出
下面是转义字符的使用“\”