C語言復(fù)習(xí)1第3章_第1頁
C語言復(fù)習(xí)1第3章_第2頁
C語言復(fù)習(xí)1第3章_第3頁
C語言復(fù)習(xí)1第3章_第4頁
C語言復(fù)習(xí)1第3章_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)第三章第三章 最簡單的最簡單的C C程序設(shè)計程序設(shè)計 順序程序設(shè)計順序程序設(shè)計C C語句語句數(shù)據(jù)的表現(xiàn)形式及其運算數(shù)據(jù)的表現(xiàn)形式及其運算數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出順序程序設(shè)計舉例順序程序設(shè)計舉例河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)任意輸入一個華氏溫度,輸出相應(yīng)的攝氏溫度值。任意輸入一個華氏溫度,輸出相應(yīng)的攝氏溫度值。main();輸入一個華氏溫度值輸入一個華氏溫度值;轉(zhuǎn)換轉(zhuǎn)換;輸出相應(yīng)攝氏溫度值輸出相應(yīng)攝氏溫度值scanf(“%f”,

2、&f);float f,c;c=5.0/9.0*(f-32);printf(“%f”,c);本程序涉及四個知識環(huán)節(jié):本程序涉及四個知識環(huán)節(jié):1 1、程序中的數(shù)值怎樣表示;、程序中的數(shù)值怎樣表示;2 2、數(shù)據(jù)如何輸入;、數(shù)據(jù)如何輸入;3 3、數(shù)據(jù)計算;、數(shù)據(jù)計算;4 4、計算結(jié)果輸出;、計算結(jié)果輸出;河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)C C的數(shù)據(jù)類型概述的數(shù)據(jù)類型概述C C語言提供的數(shù)據(jù)結(jié)構(gòu)語言提供的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)類型數(shù)據(jù)類型: : 1.1.基本型基本型: : 整型整型 intint、字符型、字符型 charchar、 實型(

3、浮點型)實型(浮點型)floatfloat和和doubledouble、 2.2.構(gòu)造類型:數(shù)組類型、構(gòu)造類型:數(shù)組類型、 結(jié)構(gòu)體類型結(jié)構(gòu)體類型 structstruct 共用體類型共用體類型 unionunion 枚舉類型枚舉類型 enumenum 3. 3.指針類型指針類型 4.4.空類型空類型 5.typedef5.typedef類型定義類型定義各種類型數(shù)據(jù)在程序各種類型數(shù)據(jù)在程序中以常量或變量的形中以常量或變量的形式存在。式存在。河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)常量常量定義:程序運行時其值不能改變的量(即常數(shù))定義:程序

4、運行時其值不能改變的量(即常數(shù))分類分類: : 符號常量符號常量: :用標(biāo)識符代表常量用標(biāo)識符代表常量 定義格式:定義格式: #define#define 符號常量符號常量 常量常量 一般用大寫字母一般用大寫字母 是預(yù)處理命令,不是是預(yù)處理命令,不是C C語句語句 直接常量直接常量: :用具體數(shù)值直接表示,用具體數(shù)值直接表示, 與所表示類型有關(guān)與所表示類型有關(guān) 整型常量整型常量 實型常量實型常量 字符常量字符常量 字符串常量字符串常量河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)變量變量概念:其值可以改變的量,對應(yīng)計算機(jī)內(nèi)存儲單元。概念:其值

5、可以改變的量,對應(yīng)計算機(jī)內(nèi)存儲單元。屬性:變量名、屬性:變量名、變量值、變量值、變量類型(存儲空間大?。┳兞款愋停ù鎯臻g大?。┳兞慷x的一般格式:變量定義的一般格式: 數(shù)據(jù)類型數(shù)據(jù)類型 變量變量11,變量,變量2 2,變量,變量n;n;int a;int a;int a,b;int a,b;float x;float x;float x;float y;float x;float y;河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué) 定義:用來標(biāo)識變量、常量、函數(shù)等的字符序列定義:用來標(biāo)識變量、常量、函數(shù)等的字符序列組成:組成: 只能由只能由

6、字母字母、數(shù)字?jǐn)?shù)字、下劃線下劃線組成,且第一個字母必須是字母或下劃線組成,且第一個字母必須是字母或下劃線 區(qū)別區(qū)別大小寫大小寫 不能使用關(guān)鍵字不能使用關(guān)鍵字 長度:最長長度:最長32個個字符字符命名原則:命名原則:見名知意見名知意不宜混淆不宜混淆 如如1與與l, o與與0例:判斷下列標(biāo)識符號合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123ab標(biāo)識符的概念標(biāo)識符的概念河北大學(xué)河北大學(xué).Hebei UniversityHebei Un

7、iversity河北大學(xué)河北大學(xué)變量的使用規(guī)則一:變量的使用規(guī)則一:先定義,后使用先定義,后使用變量的使用規(guī)則二:變量的使用規(guī)則二:先有值,再使用先有值,再使用main() int b=2; float data; data=(a+b)*1.2; printf(“%f”,data);main() int a,b=2; float data; data=(a+b)*1.2; printf(“%f”,data);河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)例: int b,c=4; float data=3.67; char ch=A; int

8、 x=1,y=1,z=1; int x=y=z=1;給變量值的常用手段:給變量值的常用手段:變量初始化變量初始化變量賦值變量賦值輸入函數(shù)輸入函數(shù)例: int c;c=4; char ch=A; ch=a; int x,y,z; x=y=z=1;例: int b; scanf(“%d”,&b); char ch; scanf(“%c”,&c);河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)變量定義位置:變量定義位置:一般一般放在函數(shù)開頭放在函數(shù)開頭main() int a,b=2; float data; a=1; data=(

9、a+b)*1.2; printf(“data=%fn”,data);變量定義可執(zhí)行語句main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)&整型常量(整常數(shù))整型常量(整常數(shù)) 三種形式:三種形式:十進(jìn)制整數(shù):由數(shù)字十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號表示和正負(fù)號表示.如如 123,-456,0八進(jìn)制整數(shù):由數(shù)字八進(jìn)制整數(shù):由數(shù)字0開頭開頭,后跟數(shù)字后跟數(shù)字07表示表示.如如0123,011十六進(jìn)制

10、整數(shù):由十六進(jìn)制整數(shù):由0 x開頭開頭,后跟后跟09,af,AF表示表示.如如0 x123,0Xff整型常量的類型整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在在整常量后加字母整常量后加字母l l或或L L,認(rèn)為它是認(rèn)為它是long int long int 型常量型常量河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)&實型常量(實數(shù)或浮點數(shù))實型常量(實數(shù)或浮點數(shù))表示形式:表示形式:十進(jìn)制數(shù)形式:(必須有小數(shù)點)十進(jìn)制數(shù)形式:(必須有小數(shù)點) 如如0.123, .123, 123.0, 0.0, 123

11、.指數(shù)形式:(指數(shù)形式:(e或或E之前必須有數(shù)字;指數(shù)必須為整數(shù))之前必須有數(shù)字;指數(shù)必須為整數(shù))如如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 實型常量的類型實型常量的類型默認(rèn)默認(rèn)double型型在在實型常量后加字母實型常量后加字母f或或F,認(rèn)為它是認(rèn)為它是float 型型河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)12&字符常量字符常量定義定義: :用用單引號單引號括起來的單個括起來的單個普通字符普通字符或或轉(zhuǎn)義字符轉(zhuǎn)義字符. . 字符常量的字符常量的值值:該字符的:該字符的ASCIIASCII

12、碼碼值值轉(zhuǎn)義字符含義nvradddtbf“xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號3位8進(jìn)制數(shù)代表的字符水平制表退格換頁反斜線雙引號2位16進(jìn)制數(shù)代表的字符轉(zhuǎn)義字符轉(zhuǎn)義字符: :反斜線后面跟一個字符或一個代碼值表示反斜線后面跟一個字符或一個代碼值表示河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)13ASCIIASCII碼值(參考附錄碼值(參考附錄B B) 美國標(biāo)準(zhǔn)信息交換代碼美國標(biāo)準(zhǔn)信息交換代碼 標(biāo)準(zhǔn)集是七位二進(jìn)制編碼標(biāo)準(zhǔn)集是七位二進(jìn)制編碼 , , 表示表示128128種字符;種字符; 全集是全集是256256種字符編碼。種字符編碼。 牢

13、記:牢記:字符字符00的碼值為的碼值為4848;字符字符AA的碼值為的碼值為6565;字符字符aa的碼值為的碼值為9797;char c;c=A;c=65;c=101;c=x41;河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)字符常量與字符串常量不同字符常量與字符串常量不同&字符串常量字符串常量定義:用雙引號定義:用雙引號(“”)(“”)括起來的字符序列括起來的字符序列存儲:存儲:每個字符串尾每個字符串尾自動自動加一個加一個 0 0 作為字符串結(jié)束標(biāo)志作為字符串結(jié)束標(biāo)志h e l l o 0例例 字符串字符串“hello”hello”

14、在內(nèi)存中在內(nèi)存中a a 0例 a“a”例例 空串空串 “” “”0例: char ch; ch=A; 例: char ch; ch=“A”; 河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)類型符號關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實型有無(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有

15、float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127無unsigned char80255說明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBM PC機(jī)為例:河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)1.1.自動轉(zhuǎn)換自動轉(zhuǎn)換什么情況下發(fā)生什么情況下發(fā)生運算轉(zhuǎn)換運算轉(zhuǎn)換-不同類型數(shù)據(jù)混合運算時不同類型數(shù)據(jù)混合運算時賦值轉(zhuǎn)換賦值轉(zhuǎn)換-把一個值賦給與其類型不同的變量時把一個值賦給與其類型不同的變量時輸出轉(zhuǎn)換輸出轉(zhuǎn)換-輸出時轉(zhuǎn)換成指定的輸出格式輸出時轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換

16、函數(shù)調(diào)用轉(zhuǎn)換-實參與形參類型不一致時轉(zhuǎn)換實參與形參類型不一致時轉(zhuǎn)換類型之間的轉(zhuǎn)換類型之間的轉(zhuǎn)換河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)2.2.強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換一般形式:一般形式:(類型名類型名)(表達(dá)式)表達(dá)式)例例 (int)(x+y)(int)(x+y) (int)x+y (int)x+y (double)(3/2) (double)(3/2) (int)3.6 (int)3.6 說明:強(qiáng)制轉(zhuǎn)換說明:強(qiáng)制轉(zhuǎn)換是一次性的是一次性的,原變量類型不變,原變量類型不變 例 main() float x; int i; x=3.6; i=(i

17、nt)x; printf(“x=%f,i=%d”,x,i); 結(jié)果:x=3.600000,i=3精度損失問題較高類型向較低類型轉(zhuǎn)換時可能發(fā)生較高類型向較低類型轉(zhuǎn)換時可能發(fā)生河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)C C語言的運算符和表達(dá)式語言的運算符和表達(dá)式學(xué)習(xí)運算符應(yīng)注意:學(xué)習(xí)運算符應(yīng)注意:運算符運算符形式和形式和功能功能與運算量關(guān)系與運算量關(guān)系要求運算量個數(shù)要求運算量個數(shù)單目、雙目、三目單目、雙目、三目要求運算量類型要求運算量類型運算符優(yōu)先級別運算符優(yōu)先級別:先高后低,同級看結(jié)合性先高后低,同級看結(jié)合性結(jié)合方向結(jié)合方向左結(jié)合性、右結(jié)

18、合性左結(jié)合性、右結(jié)合性結(jié)果的類型結(jié)果的類型河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)C運算符算術(shù)運算符:(+ - * / % + -)關(guān)系運算符:( = !=)邏輯運算符:(! & |)位運算符 :( | &)賦值運算符:(= 及其擴(kuò)展)條件運算符:(?:)逗號運算符:(,)指針運算符:(* &)求字節(jié)數(shù) :(sizeof)強(qiáng)制類型轉(zhuǎn)換:(類型)分量運算符:(. -)下標(biāo)運算符:()其它 :(( ) -)河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)表達(dá)式表達(dá)式

19、形式:形式:用運算符和括號將運算對象連接起來的用運算符和括號將運算對象連接起來的, ,符合符合C C語法規(guī)則的式子。語法規(guī)則的式子。 意義:意義:是一種運算關(guān)系和運算次序的表述,且表達(dá)式是一種運算關(guān)系和運算次序的表述,且表達(dá)式中的每個量都必須有確定的值。中的每個量都必須有確定的值。 結(jié)果:一個表達(dá)式結(jié)果:一個表達(dá)式對應(yīng)一個數(shù)值。對應(yīng)一個數(shù)值。 例如:例如:int a,b,c=2;int a,b,c=2; a=c+ba=c+b* *2;2; 有錯誤有錯誤 a=ca=c* *2+5;2+5; 表達(dá)式的值為表達(dá)式的值為9 9 b=a+cb=a+c* *3 3; 表達(dá)式的值為表達(dá)式的值為1515 (b

20、-a-1)(b-a-1)* *2;2; 表達(dá)式的值為表達(dá)式的值為1010河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué) 說明:說明: 1.1.表達(dá)式和語句的意義不同。表達(dá)式和語句的意義不同。 2.2.表達(dá)式不能在程序中獨立使用,要依附于語句。表達(dá)式不能在程序中獨立使用,要依附于語句。 2.2.語句中可以包含表達(dá)式,表達(dá)式中不能包含語句。語句中可以包含表達(dá)式,表達(dá)式中不能包含語句。 3.3.語句和表達(dá)式可以相互轉(zhuǎn)換。語句和表達(dá)式可以相互轉(zhuǎn)換。 4.4.最簡單的表達(dá)式可以是一個常量或變量。最簡單的表達(dá)式可以是一個常量或變量。 例如:例如: int

21、 a,b,c=2;int a,b,c=2; c c* *3+9 3+9 錯誤錯誤 if(i5)a=1;else a=2; if(i5)a=1;else a=2; i5 i -* * / % / % - - + -+ - (2) (3) (4) (2) (3) (4)說明:說明:“-”“-”可為可為單目單目運算符時運算符時, ,右結(jié)合性右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù)兩整數(shù)相除,結(jié)果為整數(shù)% %要求兩側(cè)均為整型數(shù)據(jù)要求兩側(cè)均為整型數(shù)據(jù) 5%2 1 1/2 0 5/2.0 2.5 5.5%2 ()河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)算術(shù)運

22、算符和表達(dá)式算術(shù)運算符和表達(dá)式自增、自減運算符自增、自減運算符+ -+ -作用:使變量值加作用:使變量值加1 1或減或減1 1,與,與i=i+1i=i+1區(qū)別區(qū)別種類:種類: 前置前置 +i, -i (+i, -i (先執(zhí)行先執(zhí)行i i+1+1或或i-1i-1,再使用再使用i i值)值) 后置后置 i+,i- (i+,i- (先使用先使用i i值值, ,再執(zhí)行再執(zhí)行i i+1+1或或i-1i-1)例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)

23、*b; 河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)算術(shù)運算符和表達(dá)式算術(shù)運算符和表達(dá)式自增、自減運算符自增、自減運算符+ -+ -說明: + - + - 不能用于常量和表達(dá)式不能用于常量和表達(dá)式, ,如如5+5+,( (a+b)+a+b)+ + - + - 結(jié)合方向:結(jié)合方向: 右結(jié)合性右結(jié)合性 優(yōu)先級:優(yōu)先級:- - + - - - -* * / % -+ - / % -+ - (2) (3) (4)河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)賦值運算符和表達(dá)式賦值運算符和表達(dá)式簡單

24、賦值運算符簡單賦值運算符符號:符號: = =格式:格式: 變量標(biāo)識符變量標(biāo)識符= =表達(dá)式表達(dá)式作用:將一個數(shù)據(jù)(常量或表達(dá)式)賦給一個變量作用:將一個數(shù)據(jù)(常量或表達(dá)式)賦給一個變量河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)賦值運算符和表達(dá)式賦值運算符和表達(dá)式a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3復(fù)合賦值運算符復(fù)合賦值運算符種類種類:+= -= *= /= %= = = &= = |=含義:含義: exp1 op= exp2 exp1 op= exp2 exp1 = exp1 op exp2 exp1

25、 = exp1 op exp2 (exp1exp1必須是變量,必須是變量,exp2exp2可以是任何數(shù)值形式)可以是任何數(shù)值形式)河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)例:int a=2; a%=4-1; a+=a*=a-=a*=3; 說明說明: :結(jié)合方向:結(jié)合方向:右結(jié)合性右結(jié)合性優(yōu)先級優(yōu)先級: : 14(14(倒數(shù)第二倒數(shù)第二) )左側(cè)必須是變量,不能是常量或表達(dá)式左側(cè)必須是變量,不能是常量或表達(dá)式類型轉(zhuǎn)換規(guī)則類型轉(zhuǎn)換規(guī)則: :使賦值號右邊表達(dá)式值自動轉(zhuǎn)換成使賦值號右邊表達(dá)式值自動轉(zhuǎn)換成其左邊變量的類型其左邊變量的類型賦值表達(dá)式

26、的值與變量值相等賦值表達(dá)式的值與變量值相等, ,且可嵌套且可嵌套 3=x-2*y; a+b=3;例 float f; int i; i=10; f=i;則 f=10.0例 int i; i=2.56; /*結(jié)果i=2;* /例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)/*表達(dá)式值為5,a,b,c值為5*/* b=5;a=5*/*表達(dá)式值11,c=6,a=11*/*表達(dá)式值10,a=10,b=4,c=6*/*表達(dá)式值5,a=5,b=10,c=2*/例: a=12; a+=a-=a*a /*a=-264 等價于a=a+(a=a-

27、(a*a)*/*a=0 等價于a=a+(a=a*(a=a-(a=a*3)*/河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)各種類型數(shù)據(jù)間的混合運算各種類型數(shù)據(jù)間的混合運算 intint、floatfloat、doubledouble型數(shù)據(jù)可以混合運算型數(shù)據(jù)可以混合運算 charchar、intint型數(shù)據(jù)可以通用型數(shù)據(jù)可以通用 一個運算符兩側(cè)的數(shù)據(jù)類型不同一個運算符兩側(cè)的數(shù)據(jù)類型不同, ,先進(jìn)行自動轉(zhuǎn)換先進(jìn)行自動轉(zhuǎn)換, ,再運算。再運算。 如如:10+10+a+1.5- 8765.4321a+1.5- 8765.4321* *bb河北大學(xué)河北

28、大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)doublefloatlongunsignedintchar,short低高說明:必定的轉(zhuǎn)換運算對象類型不同時轉(zhuǎn)換例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i; float f; double d; long l;河北大學(xué)河北大學(xué).Heb

29、ei UniversityHebei University河北大學(xué)河北大學(xué)C程序源程序文件1源程序文件i源程序文件n預(yù)編譯命令函數(shù)1函數(shù)n 說明部分執(zhí)行部分(語句)C C的語句概述的語句概述#include main( ) int a,b=1; a=b+mul(5); printf(“a=%d”,a); int mul(int n) int i=1,s=1; while(i = 0) ;else y = x ; while ( x = = 1) ;河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)用用 把一些語句括起來作為一個整體,即成為復(fù)合語句

30、。把一些語句括起來作為一個整體,即成為復(fù)合語句。說明:說明: “”后不加分號后不加分號 語法上和單一語句相同語法上和單一語句相同 復(fù)合語句可嵌套復(fù)合語句可嵌套如:如: if (x 0) i+ +;sum = sum + x ; else j+ +;sub = sub + x;又如:循環(huán)體又如:循環(huán)體 while (i = 1)i+ +;a = b + c ; while (i = 1)i+ +;a = b + c ;河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)輸入輸出的概念輸入輸出的概念輸入輸出以計算機(jī)為主體輸入輸出以計算機(jī)為主體; ;默認(rèn)

31、顯示器和鍵盤默認(rèn)顯示器和鍵盤 C C語言的輸入語言的輸入/ /輸出功能用庫函數(shù)來完成;輸出功能用庫函數(shù)來完成;如:如: putchar( ) getchar( ) putchar( ) getchar( ) 帶回顯字符輸入帶回顯字符輸入 putch( ) getch( ) putch( ) getch( ) 不帶回顯字符輸入不帶回顯字符輸入 printf( ) scanf( ) printf( ) scanf( ) 格式輸入輸出格式輸入輸出 puts( ) gets( ) puts( ) gets( ) 字符串輸入輸出字符串輸入輸出河北大學(xué)河北大學(xué).Hebei UniversityHebei

32、University河北大學(xué)河北大學(xué)庫函數(shù)和頭文件庫函數(shù)和頭文件Turbo CTurbo C系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)頭文件:頭文件: * *.h.h 在在includeinclude文件夾內(nèi)文件夾內(nèi)使用使用C C的庫函數(shù)時,要使用預(yù)編譯命令將有關(guān)頭文件包含到的庫函數(shù)時,要使用預(yù)編譯命令將有關(guān)頭文件包含到用戶源文件的最開始;用戶源文件的最開始;如:如: #include “stdio.h”#include “stdio.h” 或或 #include #include #include #include 河北大學(xué)河北大學(xué).Hebei UniversityHebei University

33、河北大學(xué)河北大學(xué)字符輸入輸出函數(shù)字符輸入輸出函數(shù)格式格式: putchar( c ): putchar( c )用法:包含用法:包含stdio.hstdio.h參數(shù)參數(shù): c: c為字符常量、變量或表達(dá)式為字符常量、變量或表達(dá)式功能:把字符功能:把字符c c輸出到顯示器上輸出到顯示器上返值:正常,為顯示的代碼值;出錯,為返值:正常,為顯示的代碼值;出錯,為EOF(-1)EOF(-1)字符輸出函數(shù)字符輸出函數(shù)#include main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a);河北大學(xué)河北大學(xué).Hebei Uni

34、versityHebei University河北大學(xué)河北大學(xué)字符輸入函數(shù)(帶回顯)字符輸入函數(shù)(帶回顯)格式格式:getchar( ):getchar( )用法:包含用法:包含stdio.hstdio.h功能:從鍵盤讀一字符功能:從鍵盤讀一字符, ,顯示器顯示輸入字符顯示器顯示輸入字符返值:正常,返回讀取的代碼值;出錯返值:正常,返回讀取的代碼值;出錯, ,返回返回EOF(-1)EOF(-1)#include main() int c; printf(Enter a character:); c=getchar(); printf(%c-hex%xn,c,c);河北大學(xué)河北大學(xué).Hebei

35、UniversityHebei University河北大學(xué)河北大學(xué)字符輸入函數(shù)(不帶回顯)字符輸入函數(shù)(不帶回顯)格式格式:getch( ):getch( )用法:包含用法:包含conio.hconio.h功能:從鍵盤讀一字符功能:從鍵盤讀一字符, ,顯示器不顯示輸入字符顯示器不顯示輸入字符返值:正常,返回讀取的代碼值;出錯返值:正常,返回讀取的代碼值;出錯, ,返回返回EOF(-1)EOF(-1)作用:這個函數(shù)可以讓用戶按下任意鍵而不需要回車作用:這個函數(shù)可以讓用戶按下任意鍵而不需要回車就可以接受到用戶的輸入。可以用來作為就可以接受到用戶的輸入??梢杂脕碜鳛椤皃ress any press

36、 any key to continue”key to continue”的實現(xiàn)。的實現(xiàn)。 河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)#include #include main() char ch; printf(press any key to continue.); getch(); printf(“nInput a character:); ch = getch(); printf(nYou input a %cn, ch); 運行結(jié)果:press any key to continue.按任意鍵Input a character

37、:(按A健)You input a A河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)格式輸出函數(shù)格式輸出函數(shù)格式:格式:printf(“printf(“格式控制串格式控制串”,輸出表,輸出表) )功能:按指定格式向顯示器輸出數(shù)據(jù)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯,返回返值:正常,返回輸出字節(jié)數(shù);出錯,返回EOF(-1)EOF(-1) printf(“a=%d,b=%d”,a,6+1);printf(“a=%d,b=%d”,a,6+1);輸出表:輸出表: 要輸出的數(shù)據(jù)(可以沒有,多個時以要輸出的數(shù)據(jù)(可以沒有,多個

38、時以“,”“,”分隔)分隔)格式控制串:包含兩種信息格式控制串:包含兩種信息 格式說明:格式說明: 修飾符修飾符 ,用于指定輸出格式,用于指定輸出格式 普通字符或轉(zhuǎn)義序列:原樣輸出普通字符或轉(zhuǎn)義序列:原樣輸出河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)格式輸出函數(shù)格式輸出函數(shù)d,ix,Xoucse,Efg%十六進(jìn)制無符號整數(shù)十六進(jìn)制無符號整數(shù)不帶符號十進(jìn)制整數(shù)不帶符號十進(jìn)制整數(shù)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點小數(shù)指數(shù)形式浮點小數(shù)單一字符單一字符字符串字符串八進(jìn)制無符號整數(shù)八進(jìn)制無符號整數(shù)小數(shù)形式浮點小數(shù)小數(shù)形式浮點小數(shù)e和和f中較短一種中較

39、短一種百分號本身百分號本身int a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+02567.789000

40、567.789%說明說明 格式字符要用小寫格式字符要用小寫 格式字符與輸出項個數(shù)應(yīng)相同,按先后順序一一對應(yīng)格式字符與輸出項個數(shù)應(yīng)相同,按先后順序一一對應(yīng) 格式字符與輸出項類型不一致格式字符與輸出項類型不一致, ,自動按指定格式輸出自動按指定格式輸出或出錯或出錯例 main() unsigned int u=65535; printf(”u=%dn,u); 輸出結(jié)果:u=-1例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b);輸出結(jié)果: 3 4 a=3, b=411 11 11 11 11 11 11 1165535河北

41、大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)附加格式說明符(修飾符)附加格式說明符(修飾符).n對實數(shù),指定小數(shù)點后位數(shù)(四舍五入)對字符串,指定實際輸出位數(shù)修飾符功 能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度m,左補(bǔ)空格;否則按實際輸出輸出數(shù)據(jù)在域內(nèi)左對齊(缺省右對齊)-指定在有符號數(shù)的正數(shù)前顯示正號(+)+輸出數(shù)值時指定左面不使用的空位置自動填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0 x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l河北大學(xué)河北大學(xué).Hebei UniversityHebei Universit

42、y河北大學(xué)河北大學(xué)例 9-1 main() int a=1234; float f=123.456; char ch=a; printf(“%8d,%2dn”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2en”,f,f,f,f,f); printf(“%3cn”,ch);運行結(jié)果:運行結(jié)果: 1234,1234123.456000,123.456000, 123.5,123.46,1.23e+02a例 char a=“Hello,world!” printf(“%sn%15sn%10.5sn%2.5sn%.3sn”,a,a,a,a,a);運行結(jié)果:運行結(jié)果:Hello

43、,world! Hello,world! HelloHelloHel 河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)例 int a=1234; float f=123.456; static char c=“Hello,world!”; printf(“%8d,%-8dn”,a,a); printf(“%10.2f,%-10.1fn”,f,f); printf(“%10.5s,%-10.3sn”,c,c);運行結(jié)果:運行結(jié)果: 1234,1234 123.46,123.5 Hello,Hel 河北大學(xué)河北大學(xué).Hebei University

44、Hebei University河北大學(xué)河北大學(xué)例 int a=1234; float f=123.456; printf(“%08dn”,a); printf(“%010.2fn”,f); printf(“%0+8dn”,a); printf(“0+10.2fn”,f); 例 int a=123; printf(“%o,%#o,%X,%#Xn”,a,a,a,a); 例 long a=65536; printf(“%d,%8ldn”,a, a); 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00000012340000123.46000+1234

45、000+123.56 173,0173,7B,0X7B0, 65536運行結(jié)果:運行結(jié)果:河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)格式格式: scanf(“: scanf(“格式控制串格式控制串”,地址表),地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的 存儲單元中存儲單元中, ,并按回車鍵結(jié)束并按回車鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個數(shù)返值:正常,返回輸入數(shù)據(jù)個數(shù)地址表:變量的地址,常用取地址運算符地址表:變量的地址,常用取地址運算符& &格式字符格式字符:d,i

46、,o,x,u,c,s,f,e:d,i,o,x,u,c,s,f,e例 scanf(“%d”,&a); 輸入:10 則則 a=10例 scanf(“%x”,&a); 輸入:11 則則 a=17格式輸入函數(shù)格式輸入函數(shù)河北大學(xué)河北大學(xué).Hebei UniversityHebei University河北大學(xué)河北大學(xué)l修飾符功 能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項讀入后不賦給變量例例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 輸入輸入 1

溫馨提示

  • 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

提交評論