#include <stdio.h>
int main()
{
printf("%s","hello world1!\n");//%s字符标志可省略 字符串。输出字符串中的字符直至字符串中的空字符(字符串以空字符’\0‘结尾)
printf("hello world2!\n");
int bla=10;
float blb=10.005;
float blc=0.00000323;
printf("%d\n",bla);//%i %d输出十进制有符号32bits整数
printf("%i\n",bla);
printf("%o\n",bla);//%o八进制显示
printf("0%o\n",bla);//一般八进制显示前面带0,与十进制相区分
printf("%u\n",bla);//无符号十进制整数
printf("%x\n",bla);//%x十六进制显示 :小写 (10-15)
printf("%X\n",bla);//%x十六进制显示 :大写 (10-15)
printf("0x%x\n",bla);//%x十六进制显示 :小写 (10-15) ,一般十六进制以0X开头
printf("0X%X\n",bla);//%x十六进制显示 :大写 (10-15),一般十六进制以0X开头
printf("%e\n",blb);//%e科学计数法表示
printf("%E\n",blb);//%E科学计数法表示浮点数
printf("%E\n",blb);//%E科学计数法表示浮点数
printf("%f\n",blb);//%f单精度浮点数
printf("%lf\n",blb);//%lf双精度浮点数
printf("%g,%f,%e\n",blc,blc,blc); //%g选择最短的方式输出(从%e %f选择)
printf("%G,%f,%e\n",blc,blc,blc); //%g选择最短的方式输出(从%e %f选择)
int bld=65;
printf("%#X\n",&bld);//得到变量bld的地址
printf("%c\n",bld);//%c字符型。可以把输入的数字按照ASCII码相应转换为对应的字符
printf("%010p\n","lvlv");//输出:0x004007e6,C语言中有一个控制符%p,专门用来以十六进制形式输出地址,不过 %p 的输出格式并不统一,有的编译器带0x前缀,有的不带
int a = 100;
char str[20] = "c.biancheng.net";
printf("%#X, %#X\n", &a, str);//%#X表示以十六进制形式输出,并附带前缀0X。a 是一个变量,用来存放整数,需要在前面加&来获得它的地址;str 本身就表示字符串的首地址,不需要加&。
int num=0;
printf("lv534543lv%n\n",&num);
printf("num:%d\n",num);
printf("%%\n");//输出:%
printf("%m\n");//打印errno值对应的出错内容(不明白)
printf("%a %A",15.15,15.15);//十六进制p计数法输出浮点数,a为小写,A为大写
/*2.2标志(flags)
flags规定输出样式,取值和含义如下:
字符 名称 说明
- 减号 结果左对齐,右边填空格。默认是右对齐,左边填空格。
+ 加号 输出符号(正号或负号)
space 空格 输出值为正时加上空格,为负时加上负号
# 井号 type是o、x、X时,增加前缀0、0x、0X。
type是a、A、e、E、f、g、G时,一定使用小数点。默认的,如果使用.0控制不输出小数部分,则不输出小数点。
type是g、G时,尾部的0保留。
0 数字零 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用“-”)
*/
printf("%+d %+d\n",1000,-1000); //输出正负号
printf("% d % d\n",1000,-1000); //正号用空格替代,负号输出
printf("%x %#x\n",1000,1000); //输出0x
printf("%.0f %#.0f\n",1000.0,1000.0);//当小数点后不输出值时依然输出小数点
printf("%g %#g\n",1000.0,1000.0); //保留小数点后后的0
printf("%05d\n",1000); //前面补0
}