C語言初級講座之輸入輸出

來源:互聯網
上載者:User

資料輸出語句

本小節介紹的是向標準輸出裝置顯示器輸出資料的語句。在C語言中,所有的資料輸入/輸出都是由庫函數完成的。 因此都是函數語句。本小節先介紹printf函數和putchar函數。printf函數printf函數稱為格式輸出函數,其關鍵字最末一個字母f即為“格式”(format)之意。其功能是按使用者指定的格式, 把指定的資料顯示到顯示器螢幕上。在前面的例題中我們已多次使用過這個函數。

一、printf函數調用的一般形式

printf函數是一個標準庫函數,它的函數原型在標頭檔“stdio.h”中。但作為一個特例,不要求在使用 printf 函數之前必須包含stdio.h檔案。printf函數調用的一般形式為: printf(“格式控制字元串”,輸出表列)其中格式控制字元串用於指定輸出格式。 格式控制串可由格式字串和非格式字串兩種組成。格式字串是以%開頭的字串,在%後面跟有各種格式字元,以說明輸出資料的類型、形式、長度、小數位元等。如“%d”表示按十進位整型輸出,“%ld”表示按十進位長整型輸出,“%c”表示按字元型輸出等。後面將專門給予討論。

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

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

二、格式字串

在Turbo C中格式字串的一般形式為: [標誌][輸出最小寬度][.精度][長度]類型 其中方括弧[]中的項為可選項。各項的意義介紹如下:

1.類型類型字元用以表示輸出資料的類型,其格式符和意義下表所示:

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

d 以十進位形式輸出帶正負號的整數(正數不輸出符號)

o 以八進位形式輸出不帶正負號的整數(不輸出首碼O)

x 以十六進位形式輸出不帶正負號的整數(不輸出首碼OX)

u 以十進位形式輸出不帶正負號的整數

f 以小數形式輸出單、雙精確度實數

e 以指數形式輸出單、雙精確度實數

g 以%f%e中較短的輸出寬度輸出單、雙精確度實數

c 輸出單個字元

s 輸出字串

2.標誌

標誌字元為-、+、#、空格四種,其意義下表所示:

標誌格式字元 標 志 意 義

- 結果靠左對齊,右邊填空格

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

# 對c,s,d,u類無影響;對o類, 在輸出時加首碼。對x類,在輸出時加首碼0x;對e,g,f 類當結果有小數時才給出小數點

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.