您現在的位置:程序化交易>> 外匯現貨>> MT5>> MT5知識>>正文內容

C語言基礎知識:printf的輸出格式(MQL5照用) [MT4]

  • printf()函數是格式輸出函數,請求printf()打印變量的指令取決與變量的類型.例如,在打印整數是使用%d符號,在打印字符是用%c 符號.這些符號被稱為轉換說明.因為它們指定了如何不數據轉換成可顯示的形式.下列列出的是ANSI C標準peintf()提供的各種轉換說明.
     
              轉換說明及作為結果的打印輸出%a 浮點數、十六進制數字和p-記數法(C99)
    %A    浮點數、十六進制數字和p-記法(C99)
    %c    一個字符 
    %d    有符號十進制整數 
    %e    浮點數、e-記數法
    %E    浮點數、E-記數法
    %f    浮點數、十進制記數法  
    %g    根據數值不同自動選擇%f或%e.
    %G    根據數值不同自動選擇%f或%e.
    %i 有符號十進制數(與%d相同)
    %o    無符號八進制整數
    %p    指針    
    %s    字符串
    %u    無符號十進制整數
    %x    使用十六進制數字0f的無符號十六進制整數 
    %X    使用十六進制數字0f的無符號十六進制整數
    %%    打印一個百分號 使用printf ()函數 printf()的基本形式: printf("格式控制字符串",變量列表);
    #include<cstdio>int main()
    {
    //for int
    int i=30122121;
    long i2=309095024l;
    short i3=30;
    unsigned i4=2123453; printf("%d,%o,%x,%X,%ld,%hd,%u\n",i,i,i,i,i2,i3,i4);//如果是:%l,%h,則輸不出結果
    printf("%d,%ld\n",i,i2);//試驗不出%ld和%d之間的差別,因為long是4bytes
    printf("%hd,%hd\n\n\n",i,i3);//試驗了%hd和%d之間的差別,因為short是2bytes
    //for string and char
    char ch1='d';
    unsigned char ch2=160;
    char *str="Hello everyone!";
    printf("%c,%u,%s\n\n\n",ch1,ch2,str);//unsigned char超過128的沒有字符對應
    //for float and double,unsigned and signed can not be used with double and float
    float fl=2.566545445F;//or 2.566545445f
    double dl=265.5651445;
    long double dl2=2.5654441454;

    //%g沒有e格式,默認6位包括小數點前面的數,
    //%f沒有e格式,默認6位僅只小數點后面包含6位
    //%e采用e格式,默認6位為轉化后的小數點后面的6位
    printf("%f,%e,%g,%.7f\n",fl,dl,dl,dl);
    printf("%f,%E,%G,%f\n",fl,dl,dl,dl);//%F is wrong
    printf("%.8f,%.10e\n",fl,dl);
    printf("%.8e,%.10f\n\n\n",fl,dl);

    //for point
    int *iP=&i;
    char *iP1=new char;
    void *iP2;//dangerous!
    printf("%p,%p,%p\n\n\n",iP,iP1,iP2);

    //其他知識:負號,表示左對齊(默認是右對齊);%6.3,6表示寬度,3表示精度
    char *s="Hello world!";
    printf(":%s: \n:%10s: \n:%.10s: \n:%-10s: \n:%.15s: \n:%-15s: \n:%15.10s: \n:%-15.10s:\n\n\n",
    s,s,s,s,s,s,s,s); double ddd=563.908556444;
    printf(":%g: \n:%10g: \n:%.10g: \n:%-10g: \n:%.15g: \n:%-15g: \n:%15.10g: \n:%-15.10g:\n\n\n",
    ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd);
    //還有一個特殊的格式%*.* ,這兩個星號的值分別由第二個和第三個參數的值指定 printf("%.*s \n", 8, "abcdefgggggg");
    printf("%*.*f \n", 3,3, 1.25456f); return 0;

【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 99r精品在线| 久久精品成人一区二区三区| 一区二区三区四区视频在线 | 在线国产小视频| 久久久久亚洲精品无码蜜桃 | www天堂在线| 欧美日韩亚洲一区| 国产国语一级毛片中文| 一级黄色日b片| 日韩成年人视频| 亚洲欧美日韩色图| 精品国产_亚洲人成在线| 国产在线精品二区赵丽颖| 69xxxx国产在线观看| 小兔子救了蛇被蛇两根进去| 久久精品一本到99热免费| 欧美日韩综合在线视频免费看| 午夜免费1000部| 香港台湾日本三级纶理在线视| 国产精品自在拍一区二区不卡| 一本大道香蕉在线高清视频| 日本特黄特黄刺激大片免费| 亚洲大香伊人蕉在人依线| 被窝影院午夜无码国产| 国产精品人成在线播放新网站 | 在线观看黄日本高清视频| 中国老熟妇自拍HD发布| 日韩av无码成人精品国产| 免费体验120秒视频| 亚洲www在线| 在线果冻传媒星空无限传媒 | 国产成人黄色小说| 91久久精品国产免费一区| 好男人在线社区www| 中文字幕无线码免费人妻| 欧美精品黑人粗大| 六月婷婷在线视频| 亚洲黄色激情视频| 国内精品久久久久伊人av| 国产激情一区二区三区成人91| 亚洲欧美色中文字幕在线|