printf中的使用(c語言)
阿新 • • 發佈:2019-02-18
#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; }
下面是相應的一些格式符號輸出的圖片:輸出
下面是轉義字元的使用“\”