物聯網學習教程——格式輸入與輸出

千鋒教育官方發表於2019-09-11


  (一)格式輸出函式


  函式作用:向終端(或系統隱含指定的輸出裝置)輸出若干個任意型別的資料。


  一般格式:printf(格式控制,輸出表列)


  %d:以帶符號的十進位制形式輸出整數


  %o:以八進位制無符號形式輸出整數


  %x:以十六進位制無符號形式輸出整數


  To be continued……


  %u:以無符號十進位制形式輸出整數


  %c:以字元形式輸出,只輸出一個字元


  %s:輸出字串


  %f:以小數形式輸出單,雙精度數,隱含輸出六位小數


  %e:以指數形式輸出實數


  %g:選用%f或%e格式中輸出寬度較短的一種格式,不輸


  出無意義的0


  幾種常見的格式符的修飾符:


  L:用於長整型整數,可加在格式符d,o,x,u前面


  M(代表一個正整數):資料最小寬度


  N(代表一個正整數):對實數,表示輸出n位小數;


  對字串,表示擷取的字元個數


  —:輸出的數字或字元在域內向左靠


  d格式符。用來輸出十進位制整數。


  幾種用法:


  ①%d:按十進位制整型資料的實際長度輸出。


  ②%md:m為指定的輸出欄位的寬度。如果資料的位數小於m,


  則左端補以空格,若大於m,則按實際位數輸出。


  例:printf(″%4d,%4d″,a,b);


  若a=123,d=12345,則輸出結果為


  123,12345


  ③%ld:輸出長整型資料。


  例:longa=135790;/*定義a為長整型變數*/


  printf(″%ld″,a);


  (2)o格式符。以八進位制整數形式輸出。


  輸出的數值不帶符號,符號位也一起作為八進位制數的一部分輸出。


  例:int a=-1;


  printf("%d,%o",a,a);


  -1在記憶體單元中的存放形式(以補碼形式存放)如下:


  1111111111111111


  輸出為:


  -1,177777


  不會輸出帶負號的八進位制整數。對長整數(long型)可以


  用“%lo”格式輸出。還可以指定欄位寬度。


  例:printf("%8o",a);


  輸出為:177777。(數字前有2個空格)


  (3)x格式符。以十六進位制數形式輸出整數。同樣不會出


  現負的十六進位制數。


  例:inta=-1;


  printf(″%x,%o,%d″,a,a,a);


  輸出結果為:


  ffff,177777,-1


  可以用“%lx”輸出長整型數,也可以指定輸出欄位的寬度。


  例:“%12x”


  (4)u格式符,用來輸出unsigned型資料。


  一個有符號整數(int型)也可以用%u格式輸出;


  一個unsigned型資料也可以用%d格式輸出;


  unsigned型資料也可用%o或%x格式輸出。


  (5)c格式符,用來輸出一個字元。


  如:chard=′a′;


  printf(″%c″,d);


  輸出字元′a′.


  一個整數,只要它的值在0~255範圍內,可以用


  “%c”使之按字元形式輸出,在輸出前,系統會將該整數


  作為ASCII碼轉換成相應的字元;一個字元資料也可以用


  整數形式輸出。


  例4.3無符號資料的輸出。


  #include<stdio.h>


  void main()


  {


  unsigned int a=65535;int b=-2;


  printf(“a=%d,%o,%x,%u\n”,a,a,a,a);


  printf(“b=%d,%o,%x,%u\n”,b,b,b,b);


  }


  執行結果:


  a=-1,177777,ffff,65535


  b=-2,177776,fffe,65534


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2656717/,如需轉載,請註明出處,否則將追究法律責任。

相關文章