#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 }