#includeint main(int argc, const char * argv[]) { //整形輸出 printf(%d,%d,3,4); printf( ); //整形輸出的字符寬度,%md printf(%4d,%4d,3,4); printf( ); //長整形的格式輸出 printf(%ld,%ld,(long)3,(long)4); printf( ); //長整形同樣可以設置輸出的字符寬度 printf(%8ld,%8ld,(long)3,(long)4); printf( ); //按8進制的格式輸出%o int a = -1; printf(%d,%o,a,a); printf( ); printf(%d,%13o,a,a); //設置字符的輸出寬度 //-1 在內存中得 存放形式是(以補碼的方式存在):eg:111111111(第一位為符號位) printf( ); //x符號輸出16進制 int b = -1; printf(%x,%o,%d,b,b,b); printf( ); //u為無符號輸出 int c = -1; unsigned int d = 65535; printf(%x,%o,%d,%u,c,c,c,c); printf( ); printf(%x,%o,%d,%u,d,d,d,d); printf( ); //c格式符,輸出一個字符 char e = 'a'; printf(%c,%d,e,e); printf( ); //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 ,x+y); //從結果可以看出來只有7位是有效的。 double x,y; x = 11111111.111;y=22222222.222; printf(%f ,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( ); //%m.ne和%-m.ne,中的m,n,- 和前面的一樣。 double f = 123.456; printf(%e %10e %10.2e %.2e %-10.2e,f,f,f,f,f); printf( ); //格式符g,用來輸出實數,它根據數字的大小,自動選取f格式或者e格式 double g = 123.456; printf(%f %e %g,g,g,g); printf( ); double h = 1234567123.456; printf(%f %e %g,h,h,h); //注意:一個格式符以%開頭,以上面的格式符之一結尾。中間可以插入附加的修飾符,其實就是普通的字符 // printf(c=%cf=%fs=%s,c,f,s);//其實f=是普通的字符 printf( ); //輸出%符號 printf(%f%%,1.0/3); getchar(); return 0; }
下面是相應的一些格式符號輸出的圖片:輸出
下面是轉義字符的使用“”