C語言第2章數(shù)據(jù)類型與簡單輸入輸出_第1頁
C語言第2章數(shù)據(jù)類型與簡單輸入輸出_第2頁
C語言第2章數(shù)據(jù)類型與簡單輸入輸出_第3頁
C語言第2章數(shù)據(jù)類型與簡單輸入輸出_第4頁
C語言第2章數(shù)據(jù)類型與簡單輸入輸出_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第二章 數(shù)據(jù)類型與簡單輸入輸出2.1 C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型 一個程序應(yīng)包括數(shù)據(jù)結(jié)構(gòu)和算法。一個程序應(yīng)包括數(shù)據(jù)結(jié)構(gòu)和算法。數(shù)據(jù)結(jié)構(gòu)是在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式。數(shù)據(jù)結(jié)構(gòu)是在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式。算法是如何對數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理達(dá)到編程者的目的的想法,算法是如何對數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理達(dá)到編程者的目的的想法,由于每個人的想法不一樣,所以程序代碼有可能不相同,由于每個人的想法不一樣,所以程序代碼有可能不相同,但最后都能達(dá)到自己的目的。根據(jù)不同的編程語言,程但最后都能達(dá)到自己的目的。根據(jù)不同的編程語言,程序的概念可以這樣表示:序的概念可以這樣表示: 程序程序=算法算法+

2、數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法程序設(shè)計(jì)方法+語言環(huán)境語言環(huán)境 2.1 C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型C語言的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型形式出現(xiàn)的。語言的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型形式出現(xiàn)的。C的數(shù)據(jù)類型如下的數(shù)據(jù)類型如下: 構(gòu)造類型構(gòu)造類型 整型整型int 字符型字符型 char 實(shí)型(浮點(diǎn)型)實(shí)型(浮點(diǎn)型) 枚舉類型枚舉類型enum 基本類型基本類型 空類型空類型void 指針類型指針類型 * 單精度型單精度型 float 雙精度型雙精度型 double數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)組類型數(shù)組類型 結(jié)構(gòu)體類型結(jié)構(gòu)體類型struct 共用體類型共用體類型 union不同類型的數(shù)據(jù)代表不同的不同類型的數(shù)據(jù)代表不同的數(shù)

3、據(jù)表示形式數(shù)據(jù)表示形式合法的取值范圍合法的取值范圍占用內(nèi)存空間大小占用內(nèi)存空間大小可參與的運(yùn)算種類可參與的運(yùn)算種類2.2常量常量v 在程序執(zhí)行過程中,其值始終保持不變的量稱之為常量。在程序執(zhí)行過程中,其值始終保持不變的量稱之為常量。常量具有一定的類型,類型由其表示形式?jīng)Q定。常量具有一定的類型,類型由其表示形式?jīng)Q定。v 在在C語言中,常量可以分為整型常量、實(shí)型常量、字符型語言中,常量可以分為整型常量、實(shí)型常量、字符型常量、字符串常量、符號常量等。常量、字符串常量、符號常量等。 2.2常量常量 1. 整型常量整型常量 整型常量就是整型常數(shù),它是一種從字面即可判斷其值的常量。整型常量就是整型常數(shù),它

4、是一種從字面即可判斷其值的常量。C語言中常量可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制表示。語言中常量可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制表示。 1十進(jìn)制整數(shù)。由數(shù)字十進(jìn)制整數(shù)。由數(shù)字09組成但第一個數(shù)不能為組成但第一個數(shù)不能為0的整數(shù)的整數(shù) 。如:如:123,-456,0。 2八進(jìn)制整數(shù)。以八進(jìn)制整數(shù)。以0開頭由開頭由07組成的整數(shù)。組成的整數(shù)。 如如0123表示八進(jìn)制數(shù)表示八進(jìn)制數(shù)123。 3十六進(jìn)制整數(shù)。以十六進(jìn)制整數(shù)。以0 x開頭由數(shù)字開頭由數(shù)字09和字母和字母af(AF)組成的組成的的數(shù)。的數(shù)。如如0 x123,代表數(shù)十六進(jìn)制的代表數(shù)十六進(jìn)制的123。 整型常量的寫法一定要合法,下面各數(shù)不合法:整型常

5、量的寫法一定要合法,下面各數(shù)不合法:078,3a 其中其中078表示八進(jìn)制數(shù),但包含了表示八進(jìn)制數(shù),但包含了07以外的數(shù)以外的數(shù)8。 3a表示十進(jìn)制數(shù),但包含了表示十進(jìn)制數(shù),但包含了09以外的字符以外的字符a。2.2常量常量2 .實(shí)型常量實(shí)型常量 實(shí)數(shù)又稱浮點(diǎn)數(shù),帶小數(shù)點(diǎn)的數(shù)。實(shí)型常量有兩實(shí)數(shù)又稱浮點(diǎn)數(shù),帶小數(shù)點(diǎn)的數(shù)。實(shí)型常量有兩種表示形式:種表示形式: (1)十進(jìn)進(jìn)小數(shù)形式。它由數(shù)字和小數(shù)點(diǎn)組成(注意必須有小數(shù)十進(jìn)進(jìn)小數(shù)形式。它由數(shù)字和小數(shù)點(diǎn)組成(注意必須有小數(shù)點(diǎn))。如點(diǎn))。如.123、123.、123.0、0.0都是十進(jìn)制小數(shù)形式。其中都是十進(jìn)制小數(shù)形式。其中123.0末尾的數(shù)字末尾的數(shù)字

6、0可以省略,可以省略,.123小數(shù)點(diǎn)前面的小數(shù)點(diǎn)前面的0可以省略,可以省略,0.0可以省略其中一個可以省略其中一個0但不能都省略。但不能都省略。 (2)指數(shù)形式。如)指數(shù)形式。如123e3或或123E3都代表都代表123103。但注意字母但注意字母e(或或E)之前必須有數(shù)字,且之前必須有數(shù)字,且e后面的指數(shù)必須后面的指數(shù)必須有整數(shù),有整數(shù),如如e3,2.1e3.5,.e3,e等都不是合法的指數(shù)形式。等都不是合法的指數(shù)形式。 實(shí)型常量一個實(shí)數(shù)可以有多種指數(shù)表示形式。一個實(shí)數(shù)可以有多種指數(shù)表示形式。例如例如123.456可以表示可以表示12.3456e1,1.23456e2,0.123456e3等

7、。把其中的等。把其中的1.23456e2稱為稱為“規(guī)范化的指數(shù)形式規(guī)范化的指數(shù)形式”,即在字母,即在字母e(或或E)之前之前的小數(shù)部分中,小數(shù)點(diǎn)左邊應(yīng)有一位(且只能有一位)非零的數(shù)字。的小數(shù)部分中,小數(shù)點(diǎn)左邊應(yīng)有一位(且只能有一位)非零的數(shù)字。例如,指定將實(shí)數(shù)例如,指定將實(shí)數(shù)5689.65按指數(shù)形式輸出,必然輸出按指數(shù)形式輸出,必然輸出5.68965e+003。2.2常量常量3.字符型常量字符型常量根據(jù)組成結(jié)構(gòu)的不同,字符型常量可分為字符常量、轉(zhuǎn)義字符和字符串根據(jù)組成結(jié)構(gòu)的不同,字符型常量可分為字符常量、轉(zhuǎn)義字符和字符串常量。常量。v1字符常量和轉(zhuǎn)義字符字符常量和轉(zhuǎn)義字符 C的字符常量是用單引

8、號(的字符常量是用單引號()括起來的一個字符。)括起來的一個字符。如如a,x, D,? , $等都是字符常量。注意,等都是字符常量。注意,a和和A是不同的字是不同的字符常量。符常量。 除了以上形式的字符常量外,除了以上形式的字符常量外,C還允許用一種特殊形式的字符常量,就還允許用一種特殊形式的字符常量,就是以一個是以一個“”開頭的字符序列。開頭的字符序列。常用的轉(zhuǎn)義字符見下表:常用的轉(zhuǎn)義字符見下表:2.2常量常量字符形式字符形式等價于等價于ASCII碼碼轉(zhuǎn)義字符的意義轉(zhuǎn)義字符的意義ax077鳴鈴鳴鈴bx088退格,將當(dāng)前位置移到前一列退格,將當(dāng)前位置移到前一列fX0C12走紙換頁走紙換頁nX0

9、A10回車換行回車換行rX0D13回車,將當(dāng)前位置移到本行開頭回車,將當(dāng)前位置移到本行開頭tX099水平制表(跳到下一個水平制表(跳到下一個tab位置)位置)X5C92反斜杠字符反斜杠字符“”X2739單引號字符單引號字符X2234雙引號字符雙引號字符dddddd代表代表1-3位八進(jìn)制數(shù)所代表的字符位八進(jìn)制數(shù)所代表的字符xhhhh代表代表1-2位十六進(jìn)制數(shù)所代表的字符位十六進(jìn)制數(shù)所代表的字符 表中,表中,ddd是用八進(jìn)制數(shù)表示的是用八進(jìn)制數(shù)表示的ASCII碼。例如:用八進(jìn)制數(shù)碼。例如:用八進(jìn)制數(shù)102(相當(dāng)于十(相當(dāng)于十進(jìn)制數(shù)進(jìn)制數(shù)66)代表)代表ASCII字母字母“B”;用用033代表代表E

10、sc。從從ASCII碼表中能夠查到常用碼表中能夠查到常用的轉(zhuǎn)義字符。的轉(zhuǎn)義字符。xhh是用十六進(jìn)制數(shù)表示的是用十六進(jìn)制數(shù)表示的ASCII碼。例如:用碼。例如:用x1B同樣可以代替同樣可以代替Esc。 由此可知,用轉(zhuǎn)義字符可以表示任一由此可知,用轉(zhuǎn)義字符可以表示任一ASCII碼;并且任一碼;并且任一ASCII碼可以有多種碼可以有多種表示方法。表示方法。2.2常量常量有關(guān)字符常量的幾點(diǎn)說明:有關(guān)字符常量的幾點(diǎn)說明: 1)單引號本身只作定界符使用,而不是字符常量的一)單引號本身只作定界符使用,而不是字符常量的一部分。部分。 2)因字符)因字符“”和和“”在字符常量中有特殊用途,因此,在字符常量中有特

11、殊用途,因此,他們不能直接作字符常量使用。若要將這兩個字符用作字符他們不能直接作字符常量使用。若要將這兩個字符用作字符常量,應(yīng)寫為常量,應(yīng)寫為和和,即在這些字符前再加一個反斜杠,即在這些字符前再加一個反斜杠“”。 3)英文字母區(qū)分大小寫。注意,)英文字母區(qū)分大小寫。注意,a和和A是不同的字符是不同的字符常量。常量。 4)字符常量具有數(shù)值,其值對應(yīng)于)字符常量具有數(shù)值,其值對應(yīng)于ASCII碼值,是碼值,是0-255之間的整數(shù)。例如,之間的整數(shù)。例如,A的值是的值是65,a為為97。因此,。因此,字符型常量與整型常量可以混合使用。在不至于引起混淆的字符型常量與整型常量可以混合使用。在不至于引起混淆

12、的情況下,情況下,0-255之間的整數(shù)可以用字符常量表示。之間的整數(shù)可以用字符常量表示。 例如,把例如,把63寫成寫成A-2,反之亦然。反之亦然。 “123101”共有共有5個字符占個字符占6個字節(jié),個字節(jié),其中其中、101分別代表一個字符,輸出為分別代表一個字符,輸出為123A 2.2常量常量例例2.1 字符型常量與整型常量混合使用實(shí)例。字符型常量與整型常量混合使用實(shí)例。要求編程輸出字符要求編程輸出字符“#”以及其以及其ASCII碼值,求碼值,求a+1的值和輸出其的值和輸出其ASCII字符,輸出整數(shù)字符,輸出整數(shù)65以及該數(shù)字所對應(yīng)的以及該數(shù)字所對應(yīng)的ASCII字符。字符。main()pri

13、ntf(%c , %d n , # , # ) ;printf(%c , %d n, a+1, a+1 ) ;printf(%c , %d n , 65 , 65 ) ;運(yùn)行結(jié)果如下運(yùn)行結(jié)果如下: 2.2常量常量v2字符串常量字符串常量 字符串常量是一對字符串常量是一對雙引號雙引號括起來的字符序列,括起來的字符序列,如,如, “How do you do.”, “CHINA”, “a”, “$123.45” 都是字符串常量。可以直接輸出一個字符串。都是字符串常量??梢灾苯虞敵鲆粋€字符串。如如 printf(“How do you do.”); 不要將字符常量與字符串常量混淆。不要將字符常量與字

14、符串常量混淆。a是字符常量,是字符常量,“a”是字是字符串常量,二者不同。有人不能理解符串常量,二者不同。有人不能理解a和和“a”究竟有什么區(qū)別?究竟有什么區(qū)別?C規(guī)定:在每一個字符串的結(jié)尾加一個規(guī)定:在每一個字符串的結(jié)尾加一個“字符串結(jié)束標(biāo)志字符串結(jié)束標(biāo)志”,以便系,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。統(tǒng)據(jù)此判斷字符串是否結(jié)束。C規(guī)定以字符規(guī)定以字符0作為字符串結(jié)束標(biāo)作為字符串結(jié)束標(biāo)志。志。0是一個是一個ASSCII碼為碼為0的字符,從的字符,從ASSCII代碼中可以看到代碼中可以看到ASSCII碼為碼為0字符是字符是“空操作字符空操作字符”,即它不引起任何控制動作,是,即它不引起任何控制動作,

15、是一個不可顯示的字符。如果有一個字符串一個不可顯示的字符。如果有一個字符串“CHINA”,實(shí)際上在內(nèi)存中實(shí)際上在內(nèi)存中是是 它的長度不是它的長度不是5個字符,而是個字符,而是6個字符,最后一個字符為個字符,最后一個字符為0。 CIHNA02.2常量常量4 符號常量符號常量 在在C語言中,代表常量的標(biāo)識符稱作符號常量。符號常語言中,代表常量的標(biāo)識符稱作符號常量。符號常量在使用之前必須先定義,符號常量定義的一般格式為:量在使用之前必須先定義,符號常量定義的一般格式為: #define 標(biāo)識符標(biāo)識符 常量常量 其中其中#define表示宏定義的表示宏定義的一個命令一個命令,宏定義必須寫在一行上。標(biāo),

16、宏定義必須寫在一行上。標(biāo)識符稱為識符稱為“宏名宏名”,字符串稱為,字符串稱為“宏體宏體”。其功能是把該標(biāo)識符定義為。其功能是把該標(biāo)識符定義為其后的常量值。一經(jīng)定義,在程序中所有出現(xiàn)該標(biāo)識符的地方均代表該其后的常量值。一經(jīng)定義,在程序中所有出現(xiàn)該標(biāo)識符的地方均代表該常量值。習(xí)慣上符號常量的標(biāo)識符用大寫字母,變量標(biāo)識符用小寫字母,常量值。習(xí)慣上符號常量的標(biāo)識符用大寫字母,變量標(biāo)識符用小寫字母,以示區(qū)別。以示區(qū)別。 2.2常量常量例例2.2宏定義的使用宏定義的使用#define PI 3.14159 /*宏定義命令定義宏定義命令定義PI 為為3.14159*/main() float s,r; /*

17、s,r定義為實(shí)型變量用來存放實(shí)型數(shù)據(jù)定義為實(shí)型變量用來存放實(shí)型數(shù)據(jù)*/ r=5; /*5賦值給賦值給r*/ s=PI*r*r; printf(s=%fn,s);運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:2.2常量常量 使用符號常量的好處是:使用符號常量的好處是:(1)含義清楚。如上面的程序中,看程序時從)含義清楚。如上面的程序中,看程序時從PI就可知就可知道它代表道它代表“”。因此定義符號常量名時應(yīng)考慮因此定義符號常量名時應(yīng)考慮“見名知見名知意意”。(2)在需要改變一個常量時能做到)在需要改變一個常量時能做到“一改全改一改全改”。在定義符號常量時,應(yīng)注意以下幾點(diǎn):在定義符號常量時,應(yīng)注意以下幾點(diǎn):如果程序中有多

18、個符號常量,必須用多個命令行分如果程序中有多個符號常量,必須用多個命令行分別定義。別定義。即一行只能定義一個符號常量即一行只能定義一個符號常量。#define PI 3.1415926#define TRUE 1符號常量代表的常量可以是前文介紹的各種形式的符號常量代表的常量可以是前文介紹的各種形式的常量,還可以代表程序的其他語法成分。常量,還可以代表程序的其他語法成分。2.2常量常量例例2.3#define P printfmain()char a,b;a=x;b=y;a=a-32;b=b-32;P(%c,%cn%d,%dn,a,b,a,b); 運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:這里用這里用P代表了庫函

19、數(shù)名代表了庫函數(shù)名printf,3)符號常量的定義可以放在程序的任何位置符號常量的定義可以放在程序的任何位置,但必須在使用之前預(yù)先定義;因,但必須在使用之前預(yù)先定義;因此,一般放在程序的開始位置。此,一般放在程序的開始位置。2.3變量變量在程序運(yùn)行過程中,其值可以改變的量稱為變在程序運(yùn)行過程中,其值可以改變的量稱為變量。量。一個變量必須有一個名字即變量名,變量名要一個變量必須有一個名字即變量名,變量名要遵守標(biāo)識符的命名規(guī)則。變量名在內(nèi)存中占據(jù)遵守標(biāo)識符的命名規(guī)則。變量名在內(nèi)存中占據(jù)一定的存儲單元。在該存儲單元中存放變量的一定的存儲單元。在該存儲單元中存放變量的值。值。 v2.3變量變量1.整型

20、變量整型變量 1整型變量的分類整型變量的分類 1)基本整型,以)基本整型,以int表示。表示。 2)短整型,以)短整型,以short int表示,或以表示,或以short表示。表示。 3)長整型,以)長整型,以long int表示,或以表示,或以long表示。表示。隱含為有符號隱含為有符號(signed)。歸納起來,可以用以下歸納起來,可以用以下6種整型變量。即:種整型變量。即: 有符號基本整型有符號基本整型 signed int 無符號基本整型無符號基本整型 unsigned int 有符號短整型有符號短整型signed short int 無符號短整型無符號短整型unsigned shor

21、t int 有符號長整型有符號長整型signed long int 無符號長整型無符號長整型unsigned long int整型常量整型常量2.3變量變量 標(biāo)準(zhǔn)沒有具體規(guī)定以上各類數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),只要求標(biāo)準(zhǔn)沒有具體規(guī)定以上各類數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),只要求long型數(shù)據(jù)長度型數(shù)據(jù)長度不短于不短于int型,型,short型不長于型不長于int型。具體如何實(shí)現(xiàn),由各計(jì)算機(jī)系統(tǒng)自行決定。型。具體如何實(shí)現(xiàn),由各計(jì)算機(jī)系統(tǒng)自行決定。 在計(jì)算機(jī)內(nèi)整形數(shù)據(jù)占在計(jì)算機(jī)內(nèi)整形數(shù)據(jù)占2個字節(jié)。以個字節(jié)。以2為例,把為例,把2轉(zhuǎn)化為二進(jìn)制之后,它的存轉(zhuǎn)化為二進(jìn)制之后,它的存儲形式為:儲形式為:0000000000

22、0000102.3變量變量2.整型變量的定義整型變量的定義 C規(guī)定在程序中所以用到的變量都必須在程序中規(guī)定在程序中所以用到的變量都必須在程序中先定義后使用先定義后使用,即即“強(qiáng)制類型定義強(qiáng)制類型定義”。每個變量必須要有確定的類型。每個變量必須要有確定的類型。整型變量定義的一般形式:整型變量定義的一般形式: 整型數(shù)據(jù)類型名整型數(shù)據(jù)類型名 變量名變量名;例如:例如:int a,b; (指定變量指定變量a、b為整形為整形)unsigned short c,d; (指定變量指定變量c、d為無符號短整型)為無符號短整型)long e,f; (指定變量指定變量e,f為長整型為長整型) 對變量的定義,一般是

23、放在一個函數(shù)的開頭部分的聲明部分對變量的定義,一般是放在一個函數(shù)的開頭部分的聲明部分(也可以放在函數(shù)中某一分程序內(nèi),但作用域只限它所在的分程(也可以放在函數(shù)中某一分程序內(nèi),但作用域只限它所在的分程序)。序)。變量定義之后,編譯系統(tǒng)就會為其分配相應(yīng)的存儲空間。變量定義之后,編譯系統(tǒng)就會為其分配相應(yīng)的存儲空間。 2.3變量變量例例2.42.4整型變量的定義與使用整型變量的定義與使用。main()int a,b; /*定義定義a,b為基本整型變量為基本整型變量*/unsigned u;/*定義定義u為無符號整型變量為無符號整型變量*/a=12;u=10;b=a+u;printf(a+u=%dn,b)

24、; 運(yùn)行結(jié)果為: 可以看到不同種類的整型數(shù)據(jù)可以進(jìn)行算術(shù)運(yùn)算。在本例中是可以看到不同種類的整型數(shù)據(jù)可以進(jìn)行算術(shù)運(yùn)算。在本例中是int型數(shù)據(jù)與型數(shù)據(jù)與unsigned int 型數(shù)據(jù)進(jìn)行相加相減運(yùn)算。型數(shù)據(jù)進(jìn)行相加相減運(yùn)算。 2.3變量變量3整型號數(shù)據(jù)的整型號數(shù)據(jù)的溢出溢出 在在Turbo C中一個中一個int 型變量的最大允許值為型變量的最大允許值為32767,如果再加,如果再加1,會出現(xiàn)什,會出現(xiàn)什么情況?么情況?例例2.5 2.5 整型數(shù)據(jù)的溢出。整型數(shù)據(jù)的溢出。main()int a,b;a =32767;b=a+1;printf(“%d,%d”,a,b); 運(yùn)行結(jié)果為運(yùn)行結(jié)果為 :2.

25、3變量變量 2.實(shí)型變量實(shí)型變量 1實(shí)型變量的分類實(shí)型變量的分類 C語言中實(shí)型變量用來存放實(shí)型常量的。實(shí)型變量分為單精度語言中實(shí)型變量用來存放實(shí)型常量的。實(shí)型變量分為單精度(float型)、雙精度(型)、雙精度(double型)和長雙精度型(型)和長雙精度型(long double)。)。 數(shù)據(jù)類型數(shù)據(jù)類型 所占字節(jié)數(shù)(個)所占字節(jié)數(shù)(個)所占位數(shù)(所占位數(shù)(bit) 有效位數(shù)有效位數(shù) float 4 32 67 double 8 64 1516表2.32實(shí)型變量的定義實(shí)型變量的定義實(shí)型變量定義的一般形式:實(shí)型變量定義的一般形式:實(shí)型數(shù)據(jù)類型名實(shí)型數(shù)據(jù)類型名 變量名;變量名;例如例如float

26、 x,y; (指定指定x,y為單精度實(shí)數(shù)為單精度實(shí)數(shù))double z; (指定指定z為雙精度實(shí)數(shù)為雙精度實(shí)數(shù))2.3變量變量3實(shí)型數(shù)據(jù)的使用實(shí)型數(shù)據(jù)的使用 由于實(shí)型變量是由有限的存儲單元組成的,因此能提供的有效由于實(shí)型變量是由有限的存儲單元組成的,因此能提供的有效數(shù)字總是有限的,在有效位以外的數(shù)字將被舍去。由此可能會產(chǎn)生一數(shù)字總是有限的,在有效位以外的數(shù)字將被舍去。由此可能會產(chǎn)生一些誤差。些誤差。例例2.6 實(shí)型數(shù)據(jù)的舍入誤差。實(shí)型數(shù)據(jù)的舍入誤差。main()float a,b;a=123456.789e5;b=a+20;printf(a=%fnb=%f,a,b);運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:2

27、.3變量變量3.字符型變量字符型變量 1字符型變量的分類字符型變量的分類 字符型變量用來存放字符常量,字符型變量用來存放字符常量,C語言的字符型變量分為有符語言的字符型變量分為有符號型(號型(char)變量和無符號型(變量和無符號型(unsigned char)變量。變量。數(shù)據(jù)類型數(shù)據(jù)類型所占字節(jié)數(shù)(個)所占字節(jié)數(shù)(個) 所占位數(shù)(所占位數(shù)(bit) 取值范圍取值范圍 char 1 8 -128127unsigned char 1 8 02552字符變量的定義字符變量的定義字符型變量在內(nèi)存中占用字符型變量在內(nèi)存中占用1個字節(jié)的存儲空間,只能放一個字符,個字節(jié)的存儲空間,只能放一個字符,不要以為

28、在一個字符變量中可以放一個字符串(包括若干字符)。不要以為在一個字符變量中可以放一個字符串(包括若干字符)。定義的一般形式:定義的一般形式:字符型數(shù)據(jù)類型名字符型數(shù)據(jù)類型名 變量名變量名char c1,c2;其中其中c1和和c2為字符型變量,各可以放一個字符。為字符型變量,各可以放一個字符。 2.3變量變量 3字符型變量的使用字符型變量的使用 例例2.7:向字符變量賦以整數(shù)。:向字符變量賦以整數(shù)。 main() char c1,c2; c1=65; c2=97; printf(c1=%c c2=%cn,c1,c2); printf(c1=%d c2=%dn,c1,c2); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:

29、 2.3變量變量可以看到:字符型數(shù)據(jù)和整型數(shù)據(jù)是通用的??梢钥吹剑鹤址蛿?shù)據(jù)和整型數(shù)據(jù)是通用的。它們既可以用字符格式輸出(用它們既可以用字符格式輸出(用%c),),也可以用整數(shù)也可以用整數(shù)形式輸出(用形式輸出(用%d)。)。但應(yīng)注意字符數(shù)據(jù)只占一個字節(jié),它只能存放但應(yīng)注意字符數(shù)據(jù)只占一個字節(jié),它只能存放0255或或-128127范圍內(nèi)的整數(shù)。范圍內(nèi)的整數(shù)。2.3變量變量 例例2.8:大小寫字母的轉(zhuǎn)換。:大小寫字母的轉(zhuǎn)換。 main() char c1 , c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c %c,c1,c2); 運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:2

30、.3變量變量 所有用到的變量所有用到的變量 “先定義,后使用先定義,后使用”。這樣做的目的是:。這樣做的目的是: 1凡未被事先定義的,不作為變量名,這就能保證程序中變量凡未被事先定義的,不作為變量名,這就能保證程序中變量名使用得正確。名使用得正確。 例如,如果在定義部分寫了例如,如果在定義部分寫了 int abc; 而在執(zhí)行語句中錯寫成而在執(zhí)行語句中錯寫成acb。 如:如: acb=30; 在編譯時檢查出在編譯時檢查出acb未經(jīng)定義,不作為變量名。因此輸出未經(jīng)定義,不作為變量名。因此輸出“變變量量acb未經(jīng)聲明未經(jīng)聲明”的信息,便于用戶發(fā)現(xiàn)錯誤,避免變量名使用時出的信息,便于用戶發(fā)現(xiàn)錯誤,避免

31、變量名使用時出錯。錯。 2每一個變量被指定為一確定類型,在編譯時就能為其分配相每一個變量被指定為一確定類型,在編譯時就能為其分配相應(yīng)的存儲單元。應(yīng)的存儲單元。 如指定如指定a、b為為int型,型,Turbo C編譯系統(tǒng)為編譯系統(tǒng)為a和和b 各分配兩個字節(jié),各分配兩個字節(jié),并按整數(shù)方式存儲數(shù)據(jù)。并按整數(shù)方式存儲數(shù)據(jù)。 3指定每一變量屬于一個類型,這就便于在編譯時,據(jù)此檢查指定每一變量屬于一個類型,這就便于在編譯時,據(jù)此檢查該變量所進(jìn)行的運(yùn)算是否合法。該變量所進(jìn)行的運(yùn)算是否合法。 例如,整型變量例如,整型變量a和和b,可以進(jìn)行求余運(yùn)算:可以進(jìn)行求余運(yùn)算: a%b %是是“求余求余”,得到,得到a/

32、b的余數(shù)。如果將的余數(shù)。如果將a、b的指定為實(shí)型的指定為實(shí)型變量,則不允許進(jìn)行變量,則不允許進(jìn)行“求余求余”運(yùn)算,在編譯時會給出有關(guān)運(yùn)算,在編譯時會給出有關(guān)“出錯信出錯信息息”。2.3變量變量4.變量賦初值變量賦初值 程序中常需要對一些變量賦初值。賦初值的方式如下:程序中常需要對一些變量賦初值。賦初值的方式如下: 1語言允許在定義變量的同時使變量初始化。如:語言允許在定義變量的同時使變量初始化。如: int a=3:/*指定指定a為整型變量,初值為為整型變量,初值為3*/ float f=3.56;/*指定指定f為實(shí)型變量,初值為為實(shí)型變量,初值為3.56*/ char c=a;/*指定指定c

33、為字符型變量,初值為為字符型變量,初值為a*/ 2也可以使被定義的變量的一部分賦初值。如也可以使被定義的變量的一部分賦初值。如 int a,b,c=5; 表示指定表示指定a、b、c為整型變量,只對為整型變量,只對c初始化,初始化,c的值為的值為5。 3對于幾個變量同時賦初值。如對于幾個變量同時賦初值。如 int a=3,b=3,c=3; 表示表示a、b、c的初值都是的初值都是3。不能寫成:。不能寫成: int a=b=c=3; 初始化不是在編譯階段完成的,而是在程序運(yùn)行時執(zhí)行本函數(shù)時賦予初始化不是在編譯階段完成的,而是在程序運(yùn)行時執(zhí)行本函數(shù)時賦予初值的。初值的。 由于由于C語言本身不像其他某些

34、高級語言一樣有輸入和輸語言本身不像其他某些高級語言一樣有輸入和輸出語句,其出語句,其輸入和輸出是由標(biāo)準(zhǔn)的輸入和輸出函數(shù)完成輸入和輸出是由標(biāo)準(zhǔn)的輸入和輸出函數(shù)完成的,的,使用標(biāo)準(zhǔn)輸入輸出函數(shù)時,由于這些函數(shù)的原型均在特定使用標(biāo)準(zhǔn)輸入輸出函數(shù)時,由于這些函數(shù)的原型均在特定的的stdio.h這個頭文件中定義,因此需要通過預(yù)處理命令在這個頭文件中定義,因此需要通過預(yù)處理命令在程序開頭嵌入頭文件程序開頭嵌入頭文件stdio.h,寫出如下命令:寫出如下命令: #include 由于由于printf函數(shù)和函數(shù)和scanf函數(shù)在程序中用的比較頻繁,函數(shù)在程序中用的比較頻繁,在在tc中程序中可以不加中程序中可以

35、不加#include 命令命令 2.4 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出2.4 字符輸入輸出函數(shù)字符輸入輸出函數(shù) 1.字符輸入函數(shù)字符輸入函數(shù)getchar getchar函數(shù)的功能是從標(biāo)準(zhǔn)輸入設(shè)備(通常是鍵盤)上輸入函數(shù)的功能是從標(biāo)準(zhǔn)輸入設(shè)備(通常是鍵盤)上輸入一個字符。當(dāng)程序執(zhí)行到一個字符。當(dāng)程序執(zhí)行到getchar函數(shù)時,將等待用戶從鍵盤上輸入一函數(shù)時,將等待用戶從鍵盤上輸入一個字符,并將這個字符作為函數(shù)結(jié)果值返回。個字符,并將這個字符作為函數(shù)結(jié)果值返回。調(diào)用形式如下調(diào)用形式如下getchar( ); 若需要使用若需要使用getchar( )函數(shù),則要把頭文件函數(shù),則要把頭文件stdio.h

36、包含進(jìn)來。包含進(jìn)來。例例2.9#includemain()char c;printf(please input a character:); /* 輸出提示內(nèi)容輸出提示內(nèi)容*/c=getchar(); /* 從鍵盤讀入字符從鍵盤讀入字符 */ printf(The character inputed is %cn,c); /* 在屏幕上輸出所輸入的字在屏幕上輸出所輸入的字符符 */ 運(yùn)行結(jié)果: 運(yùn)行該程序時,提示操作后輸入一個或幾個字符,但由于運(yùn)行該程序時,提示操作后輸入一個或幾個字符,但由于getchar函數(shù)只能接收一個字符,字符函數(shù)只能接收一個字符,字符c被接收,其他字被接收,其他字符不起

37、作用。然后在終端上以字符格式輸出所輸入的字符。符不起作用。然后在終端上以字符格式輸出所輸入的字符。 2.4 字符輸入輸出函數(shù)字符輸入輸出函數(shù) 2字符輸出函數(shù)字符輸出函數(shù)putchar( ) 該函數(shù)向標(biāo)準(zhǔn)輸出設(shè)備(通常是顯示終端)輸出一字符。它的調(diào)用形式該函數(shù)向標(biāo)準(zhǔn)輸出設(shè)備(通常是顯示終端)輸出一字符。它的調(diào)用形式如下:如下: putchar(字符變量字符變量); 例例2.10 #include main() int a; /* 定義整數(shù)變量名定義整數(shù)變量名 */ a=100; /* 給變量賦值給變量賦值 */ printf(output the charactern); putchar(a);

38、 /* 輸出字符輸出字符 */ 運(yùn)行結(jié)果運(yùn)行結(jié)果執(zhí)行該程序,將把字符執(zhí)行該程序,將把字符d(其(其ASCII碼為碼為100)輸出在顯示屏上。)輸出在顯示屏上。2.4 字符輸入輸出函數(shù)字符輸入輸出函數(shù) 3.2.1 格式輸出函數(shù)格式輸出函數(shù) printf函數(shù)是將輸出項(xiàng)按指定的格式輸出到標(biāo)準(zhǔn)輸出函數(shù)是將輸出項(xiàng)按指定的格式輸出到標(biāo)準(zhǔn)輸出設(shè)備上。調(diào)用設(shè)備上。調(diào)用printf函數(shù)的一般形式如下:函數(shù)的一般形式如下: printf(格式控制字符串,輸出項(xiàng)列表格式控制字符串,輸出項(xiàng)列表);2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)1格式控制字符串格式控制字符串 格式控制字符串通常是一對雙引號括起來的字格式控制字

39、符串通常是一對雙引號括起來的字符串常量。它包括兩方面的內(nèi)容:符串常量。它包括兩方面的內(nèi)容:1)格式字符)格式字符 它由字符它由字符“%”和格式字符組成,如和格式字符組成,如%d、%f、%c等,它們規(guī)定了輸出項(xiàng)的輸出格式。等,它們規(guī)定了輸出項(xiàng)的輸出格式。常用的格式說明中的格式字符及含義如表常用的格式說明中的格式字符及含義如表2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)格式字符 說明d 十進(jìn)制整數(shù)十進(jìn)制整數(shù)o八進(jìn)制整數(shù)八進(jìn)制整數(shù)x十六進(jìn)制整數(shù)十六進(jìn)制整數(shù)u 無符號十進(jìn)制整型數(shù)無符號十進(jìn)制整型數(shù) c 單個字符單個字符 s 字符串字符串 f 小數(shù)形式的浮點(diǎn)數(shù)小數(shù)形式的浮點(diǎn)數(shù) e 指數(shù)形式的浮點(diǎn)數(shù)指數(shù)形式的

40、浮點(diǎn)數(shù) g e和和f中較短的一種中較短的一種 2) 普通字符普通字符格式控制字符串中的普通字符是需要照原樣輸出的字符,可起提示作用。格式控制字符串中的普通字符是需要照原樣輸出的字符,可起提示作用。 格式字符格式字符v 2輸出項(xiàng)列表輸出項(xiàng)列表輸出項(xiàng)是需要輸出的數(shù)據(jù)項(xiàng)(常量、變量或表達(dá)輸出項(xiàng)是需要輸出的數(shù)據(jù)項(xiàng)(常量、變量或表達(dá)式),數(shù)據(jù)項(xiàng)應(yīng)當(dāng)與格式控制字符串中的格式字符一一式),數(shù)據(jù)項(xiàng)應(yīng)當(dāng)與格式控制字符串中的格式字符一一對應(yīng)。對應(yīng)。如果輸出項(xiàng)有多個,數(shù)據(jù)項(xiàng)之間用逗號隔如果輸出項(xiàng)有多個,數(shù)據(jù)項(xiàng)之間用逗號隔 開。開。例如:例如: printf (“A=%d,B=%fn”,a,b)如果上面的語句中如果上

41、面的語句中a的值為的值為10,f的值為的值為 1.5,則,則輸出為:輸出為:A=10,B=1.5000002.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)3. 常用格式字符的用法常用格式字符的用法1)d、o、x、u格式字符格式字符 屬于整形數(shù)據(jù)的格式符,分別輸出十進(jìn)制、八進(jìn)制、十六進(jìn)制和屬于整形數(shù)據(jù)的格式符,分別輸出十進(jìn)制、八進(jìn)制、十六進(jìn)制和無無 符號十進(jìn)制整數(shù)符號十進(jìn)制整數(shù)。形式說明%d %o %x %u 按整型數(shù)據(jù)的實(shí)際長度輸出按整型數(shù)據(jù)的實(shí)際長度輸出 %md %mo %mx%mu m為整數(shù),按為整數(shù),按m指定的字段寬度輸出,指定的字段寬度輸出,若數(shù)據(jù)的實(shí)際

42、長度小于若數(shù)據(jù)的實(shí)際長度小于m,輸出時,輸出時,向右對齊,左端補(bǔ)以空格;若數(shù)據(jù)的向右對齊,左端補(bǔ)以空格;若數(shù)據(jù)的實(shí)際長度大于實(shí)際長度大于m,則按實(shí)際長度輸出。,則按實(shí)際長度輸出。 %ld %lo %lx %lu 輸出長整型數(shù)據(jù)輸出長整型數(shù)據(jù) 例例2.11#includemain() int a=12,b=123,c=12345; long d=123456; printf(%d,%4d,%4d,%ld,%8ldn,a,b,c,d,d); printf(%o,%4o,%4o,%lo%8lon,a,b,c,d,d); printf(%x,%4x,%4x,%lx,%8lxn,a,b,c,d,d);

43、printf(%u,%4u,%4u,%lu,%8lun,a,b,c,d,d);運(yùn)行結(jié)果:運(yùn)行結(jié)果:2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù) 對于一個數(shù)可以以不同的形式輸出2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)2)c格式字符 用來輸出單個字符。形式形式 說明說明 %c 按單個字符輸出按單個字符輸出 %mc m為整數(shù),按為整數(shù),按m指定的字段寬度輸出,若指定的字段寬度輸出,若m1,輸出時,輸出時,向右對齊,左端補(bǔ)以空格。向右對齊,左端補(bǔ)以空格。 例2.12#includemain() char c=a; int n=98; printf(%c,%dn,c,n); printf(%4c,%4dn,

44、c,n); printf(%d,%cn,c,n); printf(%4d,%4cn,c,n);2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)運(yùn)行結(jié)果: 如果整數(shù)的值在0255范圍內(nèi),也可以用字符形式輸出;反之,字符數(shù)據(jù)也能用整型數(shù)格式輸出。2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)3)s格式字符 用來輸出字符串。形式形式說明說明%s 按字符串的原樣輸出。按字符串的原樣輸出。 %ms m為整數(shù),按為整數(shù),按m指定的字段寬度輸出,若實(shí)際字符串長度大于指定的字段寬度輸出,若實(shí)際字符串長度大于m,則按實(shí)際長度輸出;若實(shí)際字符串長度小于,則按實(shí)際長度輸出;若實(shí)際字符串長度小于m,輸出時,向,輸出時,向右對齊,左

45、端補(bǔ)以空格。右對齊,左端補(bǔ)以空格。 %-ms m為整數(shù),按為整數(shù),按m指定的字段寬度輸出,若實(shí)際字符串長度大于指定的字段寬度輸出,若實(shí)際字符串長度大于m,則按實(shí)際長度輸出;若實(shí)際字符串長度小于,則按實(shí)際長度輸出;若實(shí)際字符串長度小于m,輸出時,向,輸出時,向左對齊,右端補(bǔ)以空格。左對齊,右端補(bǔ)以空格。 %m.ns 輸出指定寬度為輸出指定寬度為m,從字符串左端取出,從字符串左端取出n個字符輸出。若個字符輸出。若nm,按,按n個字符輸出。個字符輸出。 %-m.ns 輸出指定寬度為輸出指定寬度為m,從字符串左端取出,從字符串左端取出n個字符輸出。若個字符輸出。若nm,按,按n個字符輸出。個字符輸出。

46、 2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)例2.13#includemain() printf(%sn,English); printf(%4sn,English); printf(%8sn,English); printf(%-8sn,English); printf(%8.2sn,English); printf(%-8.2sn,English);運(yùn)行結(jié)果:運(yùn)行結(jié)果: 2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)4)f格式字符用來輸出實(shí)型數(shù),以小數(shù)形式輸出。用來輸出實(shí)型數(shù),以小數(shù)形式輸出。形式說明%f按格式輸出,整數(shù)部分全部輸出,小數(shù)不分取按格式輸出,整數(shù)部分全部輸出,小數(shù)不分取6位。并位。并

47、非全部數(shù)字都是有效數(shù)字,單精度實(shí)型數(shù)有效位為非全部數(shù)字都是有效數(shù)字,單精度實(shí)型數(shù)有效位為7位,位,雙精度實(shí)型數(shù)有效位為雙精度實(shí)型數(shù)有效位為16位。位。 %m.nf輸出指定寬度為輸出指定寬度為m(包含小數(shù)點(diǎn)),保留(包含小數(shù)點(diǎn)),保留n位小數(shù)。若位小數(shù)。若實(shí)際長度大于實(shí)際長度大于m,則按實(shí)際長度輸出;若實(shí)際長度小,則按實(shí)際長度輸出;若實(shí)際長度小于于m,則左端補(bǔ)足空格。,則左端補(bǔ)足空格。 %-m.nf輸出指定寬度為輸出指定寬度為m(包含小數(shù)點(diǎn)),保留(包含小數(shù)點(diǎn)),保留n位小數(shù)。若位小數(shù)。若實(shí)際長度大于實(shí)際長度大于m,則按實(shí)際長度輸出;若實(shí)際長度小,則按實(shí)際長度輸出;若實(shí)際長度小于于m,則右端補(bǔ)足

48、空格。,則右端補(bǔ)足空格。 2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)例2.14#includemain() float f=1234.1234; double d=12345.123456789; printf(%f,%lfn,f,d); printf(%10.2f,%10.2lfn,f,d); printf(%-10.2f,%-10.2lfn,f,d);運(yùn)行結(jié)果運(yùn)行結(jié)果: 可以看出,單精度實(shí)型數(shù)可以看出,單精度實(shí)型數(shù)f只有前只有前7位是有效位是有效數(shù)字,而最后三位是無意義的。數(shù)字,而最后三位是無意義的。 2.4格式輸入輸出函數(shù)格式輸入輸出函數(shù)5)e格式字符以指數(shù)形式輸出實(shí)數(shù)。指數(shù)形式為:以指數(shù)

49、形式輸出實(shí)數(shù)。指數(shù)形式為:d.ddddd e xx小數(shù)點(diǎn)前有小數(shù)點(diǎn)前有1位非位非0數(shù)字,小數(shù)點(diǎn)占數(shù)字,小數(shù)點(diǎn)占1位,小數(shù)點(diǎn)后的數(shù)字個位,小數(shù)點(diǎn)后的數(shù)字個數(shù)為數(shù)為n-1,n表示輸出精度(有效數(shù)字位數(shù)),格式轉(zhuǎn)換時四舍五入表示輸出精度(有效數(shù)字位數(shù)),格式轉(zhuǎn)換時四舍五入處理。指數(shù)部分包括字母處理。指數(shù)部分包括字母e(或(或E)、正負(fù)號和至少兩位數(shù)字,如)、正負(fù)號和至少兩位數(shù)字,如e+03。形式說明%e按系統(tǒng)規(guī)定輸出指數(shù)形式的實(shí)型數(shù),系統(tǒng)規(guī)定:有效數(shù)字位數(shù)按系統(tǒng)規(guī)定輸出指數(shù)形式的實(shí)型數(shù),系統(tǒng)規(guī)定:有效數(shù)字位數(shù)n=6,小數(shù)點(diǎn)后保留小數(shù)點(diǎn)后保留5位,轉(zhuǎn)換時按四舍五入處理。位,轉(zhuǎn)換時按四舍五入處理。 %m

50、.ne輸出指定寬度為輸出指定寬度為m(包含小數(shù)點(diǎn)),若實(shí)際長度小于(包含小數(shù)點(diǎn)),若實(shí)際長度小于m,則左,則左端補(bǔ)足空格(對端補(bǔ)足空格(對%-m.ne,則右端補(bǔ)空格)。若實(shí)際長度大,則右端補(bǔ)空格)。若實(shí)際長度大于于m,則按實(shí)際長度輸出,保留,則按實(shí)際長度輸出,保留n-1位小數(shù),轉(zhuǎn)換時按四舍五位小數(shù),轉(zhuǎn)換時按四舍五入入。 2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)例例2.15#includemain() float f=123.456; printf(%e,%10.2en,f,f);運(yùn)行結(jié)果運(yùn)行結(jié)果: 2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)6)g格式字符 用來輸出實(shí)數(shù),它根據(jù)數(shù)值的大小,自動選用

51、來輸出實(shí)數(shù),它根據(jù)數(shù)值的大小,自動選f格式或格式或 e格式(選擇輸出時占寬度較小的一種),且不輸出無意義格式(選擇輸出時占寬度較小的一種),且不輸出無意義的零。的零。例例2.16#includemain() float f=123.456; printf(%f,%e,%gn,f,f,f);運(yùn)行結(jié)果:運(yùn)行結(jié)果: 2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)2.4.2. 格式輸入函數(shù)格式輸入函數(shù)scanf函數(shù)函數(shù)scanf的作用是從標(biāo)準(zhǔn)輸入設(shè)備的作用是從標(biāo)準(zhǔn)輸入設(shè)備(通常是鍵盤)按照指定的格式把它們送到(通常是鍵盤)按照指定的格式把它們送到相應(yīng)的數(shù)據(jù)存儲地址中。相應(yīng)的數(shù)據(jù)存儲地址中。調(diào)用調(diào)用scanf

52、函數(shù)的一般格式如下:函數(shù)的一般格式如下: scanf(格式控制字符串,地址表格式控制字符串,地址表);變量的地址可由取地址運(yùn)算符變量的地址可由取地址運(yùn)算符“&”得到(如得到(如變量變量a的地址為的地址為 &a)。)。2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù)例例2.17 用戶從鍵盤輸入一個整數(shù)、一個實(shí)數(shù)和一個字符。用戶從鍵盤輸入一個整數(shù)、一個實(shí)數(shù)和一個字符。 #includemain() int i; float f; char c; scanf(%d %f %c,&i,&f,&c); printf(%d,%f,%cn,i,f,c); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:由于%f說明中沒有指明精度,小數(shù)點(diǎn)后面保

53、留6位小數(shù)。2.4 格式輸入輸出函數(shù)格式輸入輸出函數(shù) 使用使用scanf函數(shù)應(yīng)注意以下幾個方面:函數(shù)應(yīng)注意以下幾個方面: vv 1.格式控制字符中的每個格式說明都必須與地址表中一個變量格式控制字符中的每個格式說明都必須與地址表中一個變量地址對應(yīng),類型應(yīng)一致地址對應(yīng),類型應(yīng)一致(%d與與&i對應(yīng),對應(yīng),%c與與&c對應(yīng),對應(yīng),%f與與&f 對應(yīng))。對應(yīng))。 2.當(dāng)格式控制字符之間沒有任何字符時,輸入數(shù)據(jù)之間用一個當(dāng)格式控制字符之間沒有任何字符時,輸入數(shù)據(jù)之間用一個或多個空格、(或多個空格、(Tab)鍵或回車鍵分開。下面輸入均為合法:)鍵或回車鍵分開。下面輸入均為合法:例如:例如: scanf(%d%d%d,&a,&b,&c); 可用以下方式輸入可用以下方式輸入a、b、c的值:的值: 1) 1 2 3(按回車?。ò椿剀嚱。?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論