首頁考試吧論壇Exam8視線考試商城網(wǎng)絡(luò)課程模擬考試考友錄實(shí)用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓(xùn) 自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點(diǎn)日語
職稱英語
口譯筆譯
申碩英語
零起點(diǎn)韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點(diǎn)英語
托福考試
托業(yè)考試
零起點(diǎn)法語
雅思考試
成人英語三級
零起點(diǎn)德語
等級考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報(bào) 關(guān) 員
外 銷 員
價(jià)格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報(bào)檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險(xiǎn)從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會計(jì)從業(yè)資格
基金從業(yè)資格
統(tǒng)計(jì)從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計(jì)師
會計(jì)職稱
法律顧問
ACCA考試
注冊會計(jì)師
資產(chǎn)評估師
審計(jì)師考試
高級會計(jì)師
注冊稅務(wù)師
國際內(nèi)審師
理財(cái)規(guī)劃師
美國注冊會計(jì)師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價(jià)師
二級建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價(jià)工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
造價(jià)員考試
注冊計(jì)量師
環(huán)保工程師
化工工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價(jià)
土地估價(jià)師
安全評價(jià)師
房地產(chǎn)經(jīng)紀(jì)人
投資項(xiàng)目管理師
環(huán)境影響評價(jià)師
土地登記代理人
繽紛校園 實(shí)用文檔 英語學(xué)習(xí) 作文大全 求職招聘 論文下載 訪談|游戲
計(jì)算機(jī)等級考試

2013年計(jì)算機(jī)等考二級《C語言》復(fù)習(xí)筆記第三章第2節(jié)

  數(shù)據(jù)輸出語句

  本小節(jié)介紹的是向標(biāo)準(zhǔn)輸出設(shè)備顯示器輸出數(shù)據(jù)的語句。在C語言中,所有的數(shù)據(jù)輸入/輸出都是由庫函數(shù)完成的。 因此都是函數(shù)語句。本小節(jié)先介紹printf函數(shù)和putchar函數(shù)。printf函數(shù)printf函數(shù)稱為格式輸出函數(shù),其關(guān)鍵字最末一個字母f即為“格式”(format)之意。其功能是按用戶指定的格式, 把指定的數(shù)據(jù)顯示到顯示器屏幕上。在前面的例題中我們已多次使用過這個函數(shù)。

  一、printf函數(shù)調(diào)用的一般形式

  printf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。但作為一個特例,不要求在使用 printf 函數(shù)之前必須包含stdio.h文件。printf函數(shù)調(diào)用的一般形式為: printf(“格式控制字符串”,輸出表列)其中格式控制字符串用于指定輸出格式。 格式控制串可由格式字符串和非格式字符串兩種組成。格式字符串是以%開頭的字符串,在%后面跟有各種格式字符,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。如“%d”表示按十進(jìn)制整型輸出,“%ld”表示按十進(jìn)制長整型輸出,“%c”表示按字符型輸出等。后面將專門給予討論。

  非格式字符串在輸出時原樣照印,在顯示中起提示作用。 輸出表列中給出了各個輸出項(xiàng), 要求格式字符串和各輸出項(xiàng)在數(shù)量和類型上應(yīng)該一一對應(yīng)。

  void main()

  {

  int a=88,b=89;

  printf("%d %d\n",a,b);

  printf("%d,%d\n",a,b);

  printf("%c,%c\n",a,b);

  printf("a=%d,b=%d",a,b);

  }

  a<--8,b<--89

  printf("%d %d\n",a,b);

  printf("%d,%d\n",a,b);

  printf("%c,%c\n",a,b);

  printf("a=%d,b=%d",a,b);

  本例中四次輸出了a,b的值,但由于格式控制串不同,輸出的結(jié)果也不相同。第四行的輸出語句格式控制串中,兩格式串%d 之間加了一個空格(非格式字符),所以輸出的a,b值之間有一個空格。第五行的printf語句格式控制串中加入的是非格式字符逗號, 因此輸出的a,b值之間加了一個逗號。第六行的格式串要求按字符型輸出 a,b值。第七行中為了提示輸出結(jié)果又增加了非格式字符串。

  二、格式字符串

  在Turbo C中格式字符串的一般形式為: [標(biāo)志][輸出最小寬度][.精度][長度]類型 其中方括號[]中的項(xiàng)為可選項(xiàng)。各項(xiàng)的意義介紹如下:

  1.類型類型字符用以表示輸出數(shù)據(jù)的類型,其格式符和意義下表所示:

  表示輸出類型的格式字符 格式字符意義

  d 以十進(jìn)制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)

  o 以八進(jìn)制形式輸出無符號整數(shù)(不輸出前綴O)

  x 以十六進(jìn)制形式輸出無符號整數(shù)(不輸出前綴OX)

  u 以十進(jìn)制形式輸出無符號整數(shù)

  f 以小數(shù)形式輸出單、雙精度實(shí)數(shù)

  e 以指數(shù)形式輸出單、雙精度實(shí)數(shù)

  g 以%f%e中較短的輸出寬度輸出單、雙精度實(shí)數(shù)

  c 輸出單個字符

  s 輸出字符串

  2.標(biāo)志

  標(biāo)志字符為-、+、#、空格四種,其意義下表所示:

  標(biāo)志格式字符 標(biāo) 志 意 義

  - 結(jié)果左對齊,右邊填空格

  + 輸出符號(正號或負(fù)號)空格輸出值為正時冠以空格,為負(fù)時冠以負(fù)號

  # 對c,s,d,u類無影響;對o類, 在輸出時加前

  綴o 對x類,在輸出時加前綴0x;對e,g,f 類當(dāng)結(jié)果有小數(shù)時才給出小數(shù)點(diǎn)

  3.輸出最小寬度

  用十進(jìn)制整數(shù)來表示輸出的最少位數(shù)。 若實(shí)際位數(shù)多于定義的寬度,則按實(shí)際位數(shù)輸出, 若實(shí)際位數(shù)少于定義的寬度則補(bǔ)以空格或0.

  4.精度

  精度格式符以“.”開頭,后跟十進(jìn)制整數(shù)。本項(xiàng)的意義是:如果輸出數(shù)字,則表示小數(shù)的位數(shù);如果輸出的是字符, 則表示輸出字符的個數(shù);若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過的部分。

  5.長度

  長度格式符為h,l兩種,h表示按短整型量輸出,l表示按長整型量輸出。

  void main(){

  int a=15;

  float b=138.3576278;

  double c=35648256.3645687;

  char d='p';

  printf("a=%d,%5d,%o,%x\n",a,a,a,a);

  printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);

  printf("c=%lf,%f,%8.4lf\n",c,c,c);

  printf("d=%c,%8c\n",d,d);

  } a<--15

  b<--138.3576278

  c<--35648256.3645687

  d<--'p'

  main()

  {

  int a=29;

  float b=1243.2341;

  double c=24212345.24232;

  char d='h';

  printf("a=%d,%5d,%o,%x\n",a,a,a,a);

  printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);

  printf("c=%lf,%f,%8.4lf\n",c,c,c);

  printf("d=%c,%8c\n",d,d);

  }

  本例第七行中以四種格式輸出整型變量a的值,其中“%5d ”要求輸出寬度為5,而a值為15只有兩位故補(bǔ)三個空格。 第八行中以四種格式輸出實(shí)型量b的值。其中“%f”和“%lf”格式的輸出相同,說明“l(fā)”符對“f”類型無影響!%5.4lf”指定輸出寬度為5,精度為4,由于實(shí)際長度超過5故應(yīng)該按實(shí)際位數(shù)輸出,小數(shù)位數(shù)超過4位部分被截去。第九行輸出雙精度實(shí)數(shù),“%8.4lf”由于指定精度為4位故截去了超過4位的部分。第十行輸出字符量d,其中“%bc”指定輸出寬度為8故在輸出字符p之前補(bǔ)加7個空格。

  使用printf函數(shù)時還要注意一個問題,那就是輸出表列中的求值順序。不同的編譯系統(tǒng)不一定相同,可以從左到右, 也可從右到左。Turbo C是按從右到左進(jìn)行的。如把例2.13改寫如下述形式:

  void main(){

  int i=8;

  printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i--,i++,-i--);

  } i<--8

  這個程序與例2.13相比只是把多個printf語句改一個printf 語句輸出。但從結(jié)果可以看出是不同的。為什么結(jié)果會不同呢?就是因?yàn)閜rintf函數(shù)對輸出表中各量求值的順序是自右至左進(jìn)行 的。在式中,先對最后一項(xiàng)“-i--”求值,結(jié)果為-8,然后i自減1后為7。 再對“-i++”項(xiàng)求值得-7,然后i自增1后為8.再對“i--”項(xiàng)求值得8,然后i再自減1后為7。再求“i++”項(xiàng)得7,然后I再自增1后為8. 再求“--i”項(xiàng),i先自減1后輸出,輸出值為7。最后才求輸出表列中的第一項(xiàng)“++i”,此時i自增1后輸出8。但是必須注意, 求值順序雖是自右至左,但是輸出順序還是從左至右, 因此得到的結(jié)果是上述輸出結(jié)果。

  字符輸出函數(shù)

  putchar 函數(shù)

  putchar 函數(shù)是字符輸出函數(shù), 其功能是在顯示器上輸出單個字符。其一般形式為: putchar(字符變量) 例如:

  putchar('A'); 輸出大寫字母A

  putchar(x); 輸出字符變量x的值

  putchar('\n'); 換行 對控制字符則執(zhí)行控制功能,不在屏幕上顯示。 使用本函數(shù)前必須要用文件包含命令:

  #include

  void main(){

  char a='B',b='o',c='k';

  putchar(a);putchar(b);putchar(b);putchar(c);putchar('\t');

  putchar(a);putchar(b);

  putchar('\n');

  putchar(b);putchar(c);

  }

1 2  下一頁

  編輯推薦:

  2012年9月計(jì)算機(jī)等級考試成績查詢短信提醒

  2013年上半年計(jì)算機(jī)等級考試報(bào)名時間預(yù)測

  2012年計(jì)算機(jī)等級考試二級VB重點(diǎn)知識匯總

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計(jì)算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。