格式輸入函式

2022-07-17 12:39:11 字數 2449 閱讀 4101

格式輸入函式,就像寫漢字一樣,寫出什麼樣的字型,就會看到什麼樣的字型。

在c語言中,格式輸入使用scanf()函式。該函式的功能是指定固定的格式,並且按照指定的格式接收使用者在鍵盤上輸入的資料,最後將資料儲存在指定的變數中。

scanf()函式的一般格式如下:

scanf(格式控制,位址列表)
通過scanf()函式的一般格式可以看出,引數位置中的格式控制與printf()函式相同。如「%d」表示十進位制的整型,「%c」表示單字元。而在位址列表中,此處應該給出用來接收資料變數的位址。如得到乙個整型資料的操作語句如下:

scanf("

%d",&iint); /*

得到乙個整型資料

*/

在這一行**中,「&」符號表示取iint變數的位址,因此不用關心變數的位址具體是多少,只要在**中變數的識別符號前加「&」,就表示取變數的位址。

注意:編寫程式時,在scanf()函式引數的位址列表處,一定要使用變數的位址,而不是變數的識別符號,否則編譯器會提示出現錯誤。

如表5.3所示列出了scanf()函式中常用的格式字元。

表5.3  scanf()函式的格式字元

格 式 字 符

功 能 說 明

d,i用來輸入有符號的十進位制整數

u用來輸入無符號的十進位制整數

o用來輸入無符號的八進位制整數

x,x用來輸入無符號的十六進製制整數(大小寫作用是相同的)

c用來輸入單個字元

s用來輸入字串

f用來輸入實型,可以用小數形式或指數形式輸入

e,e,g,g

與f作用相同,e與f、g之間可以相互替換(大小寫作用相同)

說明:格式字元「%s」用來輸入字串。將字串送到乙個字元陣列中,在輸入時以非空白字元開始,以第乙個空白字元結束。字串以串結束標誌「\0」作為最後乙個字元。

例項07   計算圓的周長和球的體積

在本例項中,輸入圓的半徑,計算圓的周長和球的體積。利用scanf()函式得到使用者輸入的圓的半徑,因為scanf()函式只能用於輸入操作,所以需要使用顯示函式將計算的資訊顯示在螢幕上。具體**如下:

01  #include02

03int

main()

04

執行程式,顯示結果如圖5.10所示。

圖5.10 

面積和體積結果

從該例項**和執行結果可以看出:

(1)為了能接收使用者輸入的資料,在程式**中定義了乙個變數fradius。因為scanf()函式只能接收使用者的資料,而不能顯示資訊,所以先使用puts函式輸出一段字元表示資訊提示。

(2)呼叫scanf()格式輸入函式,在函式引數中可以看到,在格式控制的位置使用雙引號將格式字元包括,「%f」表示輸入的是float浮點型別資料。在引數中的位址列表位置,使用「&」符號表示變數的位址。此時變數fradius已經得到了使用者輸入的資料。

(3)利用表示式計算圓的周長和球的體積,呼叫printf()函式將變數進行輸出。

注意:printf()函式使用的是變數的識別符號,而不是變數的位址。scanf()函式使用的是變數的位址,而不是識別符號。

說明:在輸入多個資料時,scanf()函式使用空白字元分隔輸入的資料,這些空白字元包括空格、換行、製表符(tab)。例如在本程式中,使用換行作為空白字元。

練一練:

輸入身高和體重,計算身體質量指數(bmi),計算公式 bmi = 體重/身高2。

例項07只輸入乙個資料,scanf()函式也可以輸入多個資料,初學者在設計格式輸入時,最好把每個格式控制符分隔開,例如下面的例項08。

例項08  輸入x和y兩個數值,並輸出交換後的值

在本例項中,利用scanf()函式輸入x和y兩個數值。交換後呼叫printf()函式輸出。具體**如下:

01 #include /*

包含標頭檔案

*/02

int main() /*

主函式main

*/03

執行程式,顯示結果如圖5.11所示。

圖5.11 

交換數值

從該例項**和執行結果可以看出:

(1)使用printf()函式顯示一串字元,提示輸入的資料兩個資料,呼叫scanf()函式使變數x和y得到使用者輸入的資料。

(2)第7~第9行**實現x和y兩個數的交換。最後利用printf()函式將輸入得到的資料進行輸出。

練一練:

輸入大寫字母,同時輸出對應的小寫字母。

C語言格式輸入函式scanf 詳解

scanf函式稱為格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中。scanf函式是乙個標準庫函式,它的函式原型在標頭檔案 stdio.h 中。與printf函式相同,c語言也允許在使用scanf函式之前不必包含stdio.h檔案。scanf函式的一般形式為 scanf 格式控制...

C C語言格式輸入函式scanf 詳解

scanf函式稱為格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指定的變數之中。scanf函式是乙個標準庫函式,它的函式原型在標頭檔案 stdio.h 中。與printf函式相同,c語言也允許在使用scanf函式之前不必包含stdio.h檔案。scanf函式的一般形式為 scanf 格式控制...

scanf 函式的格式化輸入

函式原型 int scanf const char restrict format,跟printf 一樣,scanf 使用控制字串和引數列表。但和printf 的區別是,printf 函式使用變數名 變數和表示式 而scanf 函式使用指向變數的指標。scanf 函式所用的轉換說明字元與printf...