1. 程式人生 > >printf中的使用(c語言)

printf中的使用(c語言)

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


下面是相應的一些格式符號輸出的圖片:輸出


下面是轉義字元的使用“\”