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

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

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

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

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

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

  非格式字符串在輸出時(shí)原樣照印,在顯示中起提示作用。 輸出表列中給出了各個(gè)輸出項(xiàng), 要求格式字符串和各輸出項(xiàng)在數(shù)量和類(lèi)型上應(yīng)該一一對(duì)應(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é)果也不相同。第四行的輸出語(yǔ)句格式控制串中,兩格式串%d 之間加了一個(gè)空格(非格式字符),所以輸出的a,b值之間有一個(gè)空格。第五行的printf語(yǔ)句格式控制串中加入的是非格式字符逗號(hào), 因此輸出的a,b值之間加了一個(gè)逗號(hào)。第六行的格式串要求按字符型輸出 a,b值。第七行中為了提示輸出結(jié)果又增加了非格式字符串。

  二、格式字符串

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

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

  表示輸出類(lèi)型的格式字符 格式字符意義

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

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

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

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

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

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

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

  c 輸出單個(gè)字符

  s 輸出字符串

  2.標(biāo)志

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

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

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

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

  # 對(duì)c,s,d,u類(lèi)無(wú)影響;對(duì)o類(lèi), 在輸出時(shí)加前

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

  3.輸出最小寬度

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

  4.精度

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

  5.長(zhǎng)度

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

  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ǔ)三個(gè)空格。 第八行中以四種格式輸出實(shí)型量b的值。其中“%f”和“%lf”格式的輸出相同,說(shuō)明“l(fā)”符對(duì)“f”類(lèi)型無(wú)影響!%5.4lf”指定輸出寬度為5,精度為4,由于實(shí)際長(zhǎng)度超過(guò)5故應(yīng)該按實(shí)際位數(shù)輸出,小數(shù)位數(shù)超過(guò)4位部分被截去。第九行輸出雙精度實(shí)數(shù),“%8.4lf”由于指定精度為4位故截去了超過(guò)4位的部分。第十行輸出字符量d,其中“%bc”指定輸出寬度為8故在輸出字符p之前補(bǔ)加7個(gè)空格。

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

  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

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

  字符輸出函數(shù)

  putchar 函數(shù)

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

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

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

  putchar('\n'); 換行 對(duì)控制字符則執(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);

  }

  編輯推薦:

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

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

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

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