第2章C語言的基本知識._第1頁
第2章C語言的基本知識._第2頁
第2章C語言的基本知識._第3頁
第2章C語言的基本知識._第4頁
第2章C語言的基本知識._第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2章 C語言的基本知識 2.1 語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型2.2 變量與常量變量與常量2.3 整型數(shù)據(jù)整型數(shù)據(jù)2.4 浮點(diǎn)數(shù)浮點(diǎn)數(shù)2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)本章小結(jié)本章小結(jié)習(xí)題參考答案習(xí)題參考答案 2.1 C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型引例:引例: 廚師制作菜肴廚師制作菜肴 (1)配料)配料 (2)操作步驟)操作步驟數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+算法算法=程序程序數(shù)據(jù)結(jié)構(gòu):操作對象的數(shù)據(jù)表示數(shù)據(jù)結(jié)構(gòu):操作對象的數(shù)據(jù)表示算法:對數(shù)據(jù)的操作方法和步驟算法:對數(shù)據(jù)的操作方法和步驟 C語言語言數(shù)據(jù)類型數(shù)據(jù)類型2.1 C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)的范圍和存放形式數(shù)據(jù)的范圍和存放形式P13

2、2.2 常量與變量常量與變量例:例:12(整型整型),3.2(實(shí)型實(shí)型),a(字符型字符型)一、常量一、常量l符號常量:符號常量: 可為常量命名,稱為符號常量??蔀槌A棵?,稱為符號常量。定義格式:定義格式: # define 符號常量名符號常量名 常量常量l常量常量: 程序運(yùn)行時程序運(yùn)行時,其值不能改變的量其值不能改變的量。# include #define PI 3.14159 /*通常用大寫通常用大寫*/void main() float r,c,s; scanf(%f,&r); c=2*PI*r; s=PI*r*r; printf(c=%f,s=%fn,c,s);例例2.1 輸入圓的半

3、徑輸入圓的半徑r,求圓的周長,求圓的周長c和面積和面積s。輸入圓的半徑輸入圓的半徑l變量變量: :程序運(yùn)行時程序運(yùn)行時, ,其值可以改變的量其值可以改變的量。 變量變量代表內(nèi)存中的存儲單元代表內(nèi)存中的存儲單元, ,用來存數(shù)據(jù)。用來存數(shù)據(jù)。l變量變量有有變量名變量名和和變量值變量值變量值變量值a3存儲單元存儲單元變量名變量名a=3;二、變量二、變量先定義先定義后使用后使用類型說明符類型說明符 變量名變量名;滿足標(biāo)識符滿足標(biāo)識符的命名規(guī)則的命名規(guī)則;不可??;不可省標(biāo)示符的命名規(guī)則標(biāo)示符的命名規(guī)則 P15 P15 u只能由只能由字母、數(shù)字、下劃線字母、數(shù)字、下劃線3 3種字符組成種字符組成u且第一個

4、字符必須為且第一個字符必須為字母字母或或下劃線下劃線u不允許與關(guān)鍵字重名不允許與關(guān)鍵字重名1、變量的定義、變量的定義空格空格二、變量二、變量1、變量的定義、變量的定義例:例:int sum ; 以以分分號號“;”結(jié)束結(jié)束 float f1=2.3 ; 賦初值賦初值 char c1 ,c2; 定義多個變量定義多個變量數(shù)據(jù)類型數(shù)據(jù)類型 變量變量1,變量,變量2,變量,變量n; double z1=1.234 ,z2=45.3 ;注意:注意:int a=b=2 (錯誤錯誤) int a=2,b=2; (正確正確)二、變量二、變量二、變量二、變量2、變量的定義與使用、變量的定義與使用變量必須變量必須

5、先先定義定義,后,后使用使用#include void main() int x,y; x=3; y=x*x; printf(“%d,y);2.3 整型數(shù)據(jù)整型數(shù)據(jù)2.3.1整型變量整型變量1整型數(shù)據(jù)在內(nèi)存中的存放形式整型數(shù)據(jù)在內(nèi)存中的存放形式l有符號整型有符號整型 在內(nèi)存中以二進(jìn)制在內(nèi)存中以二進(jìn)制補(bǔ)碼補(bǔ)碼形式存放。形式存放。 最高位最高位是符號位,是符號位,0為正,為正,1為負(fù)為負(fù)。 正數(shù)的補(bǔ)碼與原碼相同;正數(shù)的補(bǔ)碼與原碼相同; 負(fù)數(shù)的補(bǔ)碼是將其負(fù)數(shù)的補(bǔ)碼是將其原碼按位取反加原碼按位取反加1。 l無符號整型數(shù)據(jù)無符號整型數(shù)據(jù) 全部位均表示數(shù)值,包括最高位。全部位均表示數(shù)值,包括最高位。 2.

6、3 整型數(shù)據(jù)整型數(shù)據(jù) int a,b; a=10; b=-10; /VC中中占占4字節(jié)字節(jié)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 01010ab原碼原碼b反碼反碼b補(bǔ)碼補(bǔ)碼10 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 010101111111111111111111111111111010111111111111111111111111111110110231-1=2147483647 -231=-2147483648 0-1整型變量表數(shù)范圍為整型變量表數(shù)范圍為- -21

7、474836482147483648 21474836472147483647。上例中發(fā)生上例中發(fā)生“溢出溢出”,但并不報錯。,但并不報錯。運(yùn)行結(jié)果:運(yùn)行結(jié)果: a=a=21474836472147483647, ,B=-B=-21474836482147483648例例 整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出#include void main() int a,b; a= 2147483647; b=a+1; printf(“a=%d,nb=%dn”,a,b);2.3 整型數(shù)據(jù)2整型變量的分類整型變量的分類類型說明符類型說明符數(shù)的范圍數(shù)的范圍字節(jié)數(shù)字節(jié)數(shù)signed int-2147483648 21

8、474836474signed short int-32768327672signed long int-231231-14unsigned int042949672954unsigned short int0655352unsigned long0232-142.3 整型數(shù)據(jù)二二整型常量整型常量1整型常量的表示方法整型常量的表示方法在在語言中,整數(shù)可用三種形式表示:語言中,整數(shù)可用三種形式表示:(1) 十進(jìn)制整型常量十進(jìn)制整型常量 其其數(shù)碼為數(shù)碼為09,數(shù)值前可以有,數(shù)值前可以有+、-符號。符號。(2) 八進(jìn)制整型常量八進(jìn)制整型常量 八進(jìn)制八進(jìn)制整數(shù)必須整數(shù)必須以以0開頭開頭,數(shù)碼,數(shù)碼取值

9、為取值為07。(3) 十六進(jìn)制整型常量十六進(jìn)制整型常量 十六進(jìn)制十六進(jìn)制整數(shù)必須整數(shù)必須以以0 x或或0X開頭開頭, 其其數(shù)碼取值為數(shù)碼取值為09以及以及AF或或af。2.3 整型數(shù)據(jù)2整型常量的類型整型常量的類型整型常量有整型常量有6種類型,類型判別請注意以種類型,類型判別請注意以下幾點(diǎn):下幾點(diǎn):F一個整型常量后面加了一個整型常量后面加了后綴后綴L或或l,則,則被認(rèn)為是被認(rèn)為是long int類型常量。類型常量。F如不特別指明,一個整型常量被認(rèn)為如不特別指明,一個整型常量被認(rèn)為是有符號整型常量,除非在整型常量是有符號整型常量,除非在整型常量后面加了后面加了后綴后綴U或或u,則認(rèn)為該整型常,則

10、認(rèn)為該整型常量是量是unsigned,無符號類型。,無符號類型。2.3 整型數(shù)據(jù)三用printf輸出整型數(shù)據(jù)對于一個有意義的程序來說,應(yīng)該有對于一個有意義的程序來說,應(yīng)該有1個個或多個輸出?;蚨鄠€輸出。C語言本身不提供專門的輸入輸出語句,語言本身不提供專門的輸入輸出語句,C中的輸入輸出操作是調(diào)用專門的輸入中的輸入輸出操作是調(diào)用專門的輸入輸出函數(shù)來完成的。輸出函數(shù)來完成的。如果程序得到的結(jié)果是整型數(shù)據(jù),則應(yīng)該如果程序得到的結(jié)果是整型數(shù)據(jù),則應(yīng)該使用使用printf函數(shù)來顯示這些整型數(shù)據(jù)。函數(shù)來顯示這些整型數(shù)據(jù)。2.3 整型數(shù)據(jù)1printf函數(shù)的一般格式printf函數(shù)是格式化輸出函數(shù),功能是按

11、函數(shù)是格式化輸出函數(shù),功能是按照指定的格式,將需要輸出的數(shù)據(jù)項(xiàng)照指定的格式,將需要輸出的數(shù)據(jù)項(xiàng)在標(biāo)準(zhǔn)的輸出設(shè)備上輸出。在標(biāo)準(zhǔn)的輸出設(shè)備上輸出。格式化輸出函數(shù)格式化輸出函數(shù)printf的一般格式是:的一般格式是:printf ( ”格式控制字符串格式控制字符串” , 輸出項(xiàng)列輸出項(xiàng)列表表 );2.3 整型數(shù)據(jù)1printf函數(shù)的一般格式“格式控制字符串格式控制字符串”是一個用雙引號括起來的字符串,是是一個用雙引號括起來的字符串,是用于指定數(shù)據(jù)的輸出格式,它包括兩種信息:用于指定數(shù)據(jù)的輸出格式,它包括兩種信息: 普通字符,即按原樣輸出的字符。普通字符,即按原樣輸出的字符。 格式說明,由格式說明,由

12、“%”和格式字符組成,如和格式字符組成,如%d、%f等。等。一般每個格式說明都應(yīng)該有一個輸出項(xiàng)與它對應(yīng),一般每個格式說明都應(yīng)該有一個輸出項(xiàng)與它對應(yīng),表示將輸出項(xiàng)的值按格式說明中指定的格式輸出。表示將輸出項(xiàng)的值按格式說明中指定的格式輸出。格式說明總是由格式說明總是由“%”字符開始的。字符開始的。 2.3 整型數(shù)據(jù)2整型數(shù)據(jù)輸出的格式字符與整型數(shù)據(jù)相關(guān)的格式字符如下:與整型數(shù)據(jù)相關(guān)的格式字符如下:(1) d格式符、格式符、i格式符,按照十進(jìn)制整型的格式輸出數(shù)格式符,按照十進(jìn)制整型的格式輸出數(shù)據(jù)。據(jù)。 %d,按照實(shí)際寬度輸出整型數(shù)據(jù)。,按照實(shí)際寬度輸出整型數(shù)據(jù)。 %md,m是整數(shù),代表輸出數(shù)據(jù)的寬度

13、。是整數(shù),代表輸出數(shù)據(jù)的寬度。m為正數(shù),為正數(shù),若數(shù)據(jù)的輸出寬度小于若數(shù)據(jù)的輸出寬度小于m,則在左側(cè)補(bǔ)相應(yīng)數(shù)目的,則在左側(cè)補(bǔ)相應(yīng)數(shù)目的空格,若大于空格,若大于m,則按照數(shù)據(jù)實(shí)際的位數(shù)輸出。,則按照數(shù)據(jù)實(shí)際的位數(shù)輸出。m為負(fù)數(shù),若需要補(bǔ)空格,則在右側(cè)補(bǔ)充。為負(fù)數(shù),若需要補(bǔ)空格,則在右側(cè)補(bǔ)充。 %ld、%Ld輸出長整型數(shù)據(jù)輸出長整型數(shù)據(jù) 。 %mld按照指定寬度輸出長整型數(shù)據(jù)。按照指定寬度輸出長整型數(shù)據(jù)。 2.3 整型數(shù)據(jù)2整型數(shù)據(jù)輸出的格式字符(2) o格式符,按照八進(jìn)制整型的格式輸出數(shù)據(jù)。輸出的格式符,按照八進(jìn)制整型的格式輸出數(shù)據(jù)。輸出的數(shù)據(jù)按照無符號數(shù)據(jù)看待。數(shù)據(jù)按照無符號數(shù)據(jù)看待。 數(shù)據(jù)按

14、照八進(jìn)制形式輸出時,不帶前導(dǎo)數(shù)據(jù)按照八進(jìn)制形式輸出時,不帶前導(dǎo)0??梢允褂每梢允褂谩?lo”、“%mo”、“%mlo”格式說明。格式說明。 (3) x格式符、格式符、X格式符,按照十六進(jìn)制整型的格式輸出格式符,按照十六進(jìn)制整型的格式輸出數(shù)據(jù)。輸出的數(shù)據(jù)為無符號數(shù)據(jù)。數(shù)據(jù)。輸出的數(shù)據(jù)為無符號數(shù)據(jù)。 數(shù)據(jù)按照十六進(jìn)制形式輸出時,不帶前導(dǎo)數(shù)據(jù)按照十六進(jìn)制形式輸出時,不帶前導(dǎo)0 x或或oX。 可以使用可以使用“%lx”、“%mx”、“%mlx”格式說明。格式說明。 (4) u格式符,按照無符號整型的格式輸出數(shù)據(jù)。格式符,按照無符號整型的格式輸出數(shù)據(jù)。 可以使用可以使用“%lu”、“%mu”、“%mlu

15、”格式說明。格式說明。 2.3 整型數(shù)據(jù)printf整型數(shù)據(jù)格式字符及其說明格式字符格式字符說說 明明d , i有符號十進(jìn)制整數(shù)形式輸出整有符號十進(jìn)制整數(shù)形式輸出整數(shù)數(shù)O無符號八進(jìn)制整數(shù)形式輸出整無符號八進(jìn)制整數(shù)形式輸出整數(shù)數(shù)x , X無符號十六進(jìn)制整數(shù)形式輸出無符號十六進(jìn)制整數(shù)形式輸出整數(shù)整數(shù)U無符號十進(jìn)制整數(shù)形式輸出整無符號十進(jìn)制整數(shù)形式輸出整數(shù)數(shù)2.3 整型數(shù)據(jù)printf整型數(shù)據(jù)附加格式說明符及說明 附加格式說明符附加格式說明符 說說 明明l , L 加在加在i , d , o , x , X , u前前表示長整型表示長整型m(一個正整數(shù)一個正整數(shù)) 表示數(shù)據(jù)的輸出最小寬度表示數(shù)據(jù)的輸

16、出最小寬度 - 輸出的數(shù)據(jù)位數(shù)小于規(guī)定寬度輸出的數(shù)據(jù)位數(shù)小于規(guī)定寬度時,空格在右側(cè)補(bǔ)充時,空格在右側(cè)補(bǔ)充 2.3 整型數(shù)據(jù)四用scanf輸入整型數(shù)據(jù)一個程序有一個程序有0個或多個輸入個或多個輸入 。如果程序需要輸入整型數(shù)據(jù),則應(yīng)該使用如果程序需要輸入整型數(shù)據(jù),則應(yīng)該使用scanf函數(shù)調(diào)用來進(jìn)行。函數(shù)調(diào)用來進(jìn)行。 2.3 整型數(shù)據(jù)1scanf函數(shù)的一般格式scanf函數(shù)是格式化輸入函數(shù),其功能是函數(shù)是格式化輸入函數(shù),其功能是按照指定的格式,將需要輸入的變量按照指定的格式,將需要輸入的變量從標(biāo)準(zhǔn)的輸入設(shè)備上進(jìn)行輸入。從標(biāo)準(zhǔn)的輸入設(shè)備上進(jìn)行輸入。格式化輸入函數(shù)格式化輸入函數(shù)scanf的一般格式是:的

17、一般格式是:scanf ( ”格式控制字符串格式控制字符串” ,變量地址變量地址列表列表 );2.3 整型數(shù)據(jù)“格式控制字符串”用于指定輸入格式,它包括兩種信息: 普通字符,即按原樣輸入的字符。輸入函數(shù)的格式控制字符串當(dāng)中的原樣輸入字符,通常是用來規(guī)定輸入的數(shù)據(jù)之間的分隔符號。若格式控制字符串中有普通字符,輸入時一定要參照該格式輸入。 格式說明,由“%”和格式字符組成,與輸出格式字符類似。每個格式說明都應(yīng)該有一個輸入地址項(xiàng)與它對應(yīng),表示數(shù)據(jù)按格式說明中指定的格式輸入。2.3 整型數(shù)據(jù)2整型數(shù)據(jù)輸入的格式字符整型數(shù)據(jù)輸入的格式字符與輸出格式字符類似。整型數(shù)據(jù)輸入的格式字符與輸出格式字符類似。說明

18、:說明:(1) 長整型的數(shù)據(jù)輸入一定要使用附加格式說明符長整型的數(shù)據(jù)輸入一定要使用附加格式說明符l或或L。(2) 可以用附加格式說明符可以用附加格式說明符m來指定輸入數(shù)據(jù)所占最大寬來指定輸入數(shù)據(jù)所占最大寬度。度。(3) 附加符附加符*不常用,表示輸入的數(shù)據(jù)不存入到對應(yīng)的變不常用,表示輸入的數(shù)據(jù)不存入到對應(yīng)的變量中。量中。2.4 浮點(diǎn)數(shù)一浮點(diǎn)變量一浮點(diǎn)變量1浮點(diǎn)數(shù)據(jù)在內(nèi)存中的存放形式浮點(diǎn)數(shù)據(jù)在內(nèi)存中的存放形式浮點(diǎn)數(shù)是以浮點(diǎn)小數(shù)形式存儲的。浮點(diǎn)數(shù)是以浮點(diǎn)小數(shù)形式存儲的。將一個浮點(diǎn)數(shù)據(jù)分成小數(shù)和指數(shù)兩部分存儲。將一個浮點(diǎn)數(shù)據(jù)分成小數(shù)和指數(shù)兩部分存儲。 + .314159 1符號符號小數(shù)部分小數(shù)部分指

19、數(shù)部分指數(shù)部分?jǐn)?shù)據(jù)數(shù)據(jù) + 0.314159*101=3.141592.4 浮點(diǎn)數(shù)2浮點(diǎn)型變量的分類浮點(diǎn)型變量的分類 (1) 單精度型單精度型 類型說明符為類型說明符為float,占,占4個字節(jié)個字節(jié),取,取值范圍的絕對值為值范圍的絕對值為10-381038,提供,提供67位有效數(shù)字位有效數(shù)字。(2) 雙精度型雙精度型 類型說明符為類型說明符為double,占,占8個字節(jié)個字節(jié),其取值范圍的絕對值為其取值范圍的絕對值為10-30810308,提供提供1516位有效數(shù)字。位有效數(shù)字。2.4 浮點(diǎn)數(shù)二浮點(diǎn)常量二浮點(diǎn)常量在語言中,浮點(diǎn)數(shù)只采用十進(jìn)制,有兩種表在語言中,浮點(diǎn)數(shù)只采用十進(jìn)制,有兩種表示形

20、式:示形式:(1) 小數(shù)形式小數(shù)形式小數(shù)形式的浮點(diǎn)數(shù)是十進(jìn)制的。由數(shù)字小數(shù)形式的浮點(diǎn)數(shù)是十進(jìn)制的。由數(shù)字09和小數(shù)點(diǎn)及數(shù)值前的和小數(shù)點(diǎn)及數(shù)值前的+、-符號組成。注符號組成。注意意一定要有小數(shù)點(diǎn)一定要有小數(shù)點(diǎn)。(2) 指數(shù)形式指數(shù)形式由十進(jìn)制數(shù),加由十進(jìn)制數(shù),加階碼標(biāo)志階碼標(biāo)志“e”或或“E”以及階碼以及階碼(只能為十進(jìn)制整數(shù))組成。其一般形式(只能為十進(jìn)制整數(shù))組成。其一般形式為為 a E n (a為十進(jìn)制數(shù),為十進(jìn)制數(shù),n為十進(jìn)制整為十進(jìn)制整數(shù)),其值為數(shù)),其值為 a*10n。2.4 浮點(diǎn)數(shù)二浮點(diǎn)常量二浮點(diǎn)常量2浮點(diǎn)型常量的類型浮點(diǎn)型常量的類型對于浮點(diǎn)數(shù)的兩種表示方法,系統(tǒng)均默認(rèn)是對于浮點(diǎn)

21、數(shù)的兩種表示方法,系統(tǒng)均默認(rèn)是雙精度浮點(diǎn)型常量雙精度浮點(diǎn)型常量。如果一個浮點(diǎn)型常量的后面加上了后綴如果一個浮點(diǎn)型常量的后面加上了后綴F或或f,則被認(rèn)為是則被認(rèn)為是float單精度浮點(diǎn)數(shù)。單精度浮點(diǎn)數(shù)。2.4 浮點(diǎn)數(shù)三用printf輸出浮點(diǎn)數(shù)據(jù)與浮點(diǎn)型數(shù)據(jù)相關(guān)的格式字符如下:與浮點(diǎn)型數(shù)據(jù)相關(guān)的格式字符如下:(1) f格式符,按照小數(shù)形式輸出數(shù)據(jù),單精度與雙精度的格式符,按照小數(shù)形式輸出數(shù)據(jù),單精度與雙精度的浮點(diǎn)數(shù)輸出都使用浮點(diǎn)數(shù)輸出都使用f格式符。有如下幾種用法:格式符。有如下幾種用法: %f,不指定輸出的寬度,整數(shù)部分全部輸出,小數(shù)位數(shù),不指定輸出的寬度,整數(shù)部分全部輸出,小數(shù)位數(shù)6位。位。

22、%m.nf,指定輸出的數(shù)據(jù)總寬度為,指定輸出的數(shù)據(jù)總寬度為m,其中小數(shù)位數(shù),其中小數(shù)位數(shù)n位。位。若數(shù)據(jù)的輸出寬度小于若數(shù)據(jù)的輸出寬度小于m,則在左側(cè)補(bǔ)充相應(yīng)數(shù)目的,則在左側(cè)補(bǔ)充相應(yīng)數(shù)目的空格以達(dá)到總寬度為空格以達(dá)到總寬度為m,若數(shù)據(jù)的輸出寬度大于,若數(shù)據(jù)的輸出寬度大于m,則,則按照數(shù)據(jù)實(shí)際所占寬度輸出。按照數(shù)據(jù)實(shí)際所占寬度輸出。 %-m.nf,類似于,類似于%m.nf,若需要補(bǔ)空格在右側(cè)補(bǔ)充。,若需要補(bǔ)空格在右側(cè)補(bǔ)充。 例例2.6 輸出浮點(diǎn)數(shù)時的誤差輸出浮點(diǎn)數(shù)時的誤差 P29#include void main() float a,b,c; a = 2222.2222; b = 3333.3

23、333 ; c = a+b; printf(“c=%fn”,c);floatfloat類型變量只能保證類型變量只能保證7 7位有效數(shù)字位有效數(shù)字2.4 浮點(diǎn)數(shù)三用printf輸出浮點(diǎn)數(shù)據(jù)(2) e格式符、格式符、E格式符,按照指數(shù)形式輸格式符,按照指數(shù)形式輸出數(shù)據(jù),單精度與雙精度的浮點(diǎn)數(shù)都出數(shù)據(jù),單精度與雙精度的浮點(diǎn)數(shù)都可使用??墒褂?。 (3) g格式符、格式符、G格式符,輸出浮點(diǎn)數(shù)據(jù),格式符,輸出浮點(diǎn)數(shù)據(jù),根據(jù)數(shù)值輸出所占的寬度大小,自動根據(jù)數(shù)值輸出所占的寬度大小,自動選擇寬度小的選擇寬度小的f格式或格式或e/E格式,不輸格式,不輸出無意義的零。出無意義的零。 2.4 浮點(diǎn)數(shù)四用scanf輸

24、入浮點(diǎn)數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)輸入的格式字符與輸出格式字符類似浮點(diǎn)型數(shù)據(jù)輸入的格式字符與輸出格式字符類似 。 說明:說明:(1) 雙精度浮點(diǎn)型的數(shù)據(jù)輸入應(yīng)該使用附加格式說明符雙精度浮點(diǎn)型的數(shù)據(jù)輸入應(yīng)該使用附加格式說明符l,否則輸入時無法正確接收用戶輸入的數(shù)據(jù)。否則輸入時無法正確接收用戶輸入的數(shù)據(jù)。(2) 輸入浮點(diǎn)數(shù)據(jù)時不允許規(guī)定精度。輸入浮點(diǎn)數(shù)據(jù)時不允許規(guī)定精度。(3) 輸入多個浮點(diǎn)數(shù)據(jù)時,如果未在輸入格式控制字符輸入多個浮點(diǎn)數(shù)據(jù)時,如果未在輸入格式控制字符串中加入分隔符,同樣在輸入時要使用空格、回車串中加入分隔符,同樣在輸入時要使用空格、回車鍵、鍵、Tab鍵將多個數(shù)值分隔開。鍵將多個數(shù)值分隔開。2.5

25、 字符型數(shù)據(jù)一字符變量一字符變量1字符型變量的定義與初始化字符型變量的定義與初始化 char c; char c1=a ;2字符型數(shù)據(jù)在內(nèi)存中的存放形式字符型數(shù)據(jù)在內(nèi)存中的存放形式 存儲該存儲該字符字符ASCII碼值碼值的二進(jìn)制形式,的二進(jìn)制形式,一個字符的存儲占用一個字符的存儲占用一個字節(jié)一個字節(jié)。 整型量整型量97c101100001例2.8 寫出程序的運(yùn)行結(jié)果。#include main( )char c1,c2; c1=a; c2=65; printf(%c,%cn,c1,c2); printf(%d,%dn,c1,c2);#include main( )char c1=A,c2=b;

26、 printf(%c,%cn,c1,c2);例例2.9 寫出程序的運(yùn)行結(jié)果。寫出程序的運(yùn)行結(jié)果。 c1=c1+32;c2=c2-32;2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)二字符常量二字符常量1字符常量是用一對字符常量是用一對單引號單引號括起來的一括起來的一個字符。個字符。 2轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符有其特定的含義,不同于字符原轉(zhuǎn)義字符有其特定的含義,不同于字符原本的含義,是用一個本的含義,是用一個“”開頭的字符開頭的字符序列來表示。序列來表示。 2.5 字符型數(shù)據(jù)常用的轉(zhuǎn)義符常用的轉(zhuǎn)義符 轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符的意義轉(zhuǎn)義字符的意義十進(jìn)制十進(jìn)制ASCII碼值碼值n回車換行,回車換行,10t橫向跳格,移

27、至下一個橫向跳格,移至下一個Tab位置位置9b退格,移至前一列退格,移至前一列8r回車,移至本行開頭回車,移至本行開頭13f換頁,移至下一頁開頭換頁,移至下一頁開頭12反斜杠字符本身反斜杠字符本身92單引號字符單引號字符39”雙引號字符雙引號字符34ddd13位八進(jìn)制數(shù)所代表的字符位八進(jìn)制數(shù)所代表的字符八進(jìn)制數(shù)八進(jìn)制數(shù)ddd對應(yīng)的十進(jìn)制數(shù)對應(yīng)的十進(jìn)制數(shù)xhh12位十六進(jìn)制數(shù)所代表的字符位十六進(jìn)制數(shù)所代表的字符十六進(jìn)制數(shù)十六進(jìn)制數(shù)hh對應(yīng)的十進(jìn)制數(shù)對應(yīng)的十進(jìn)制數(shù)2.5 字符型數(shù)據(jù)三用printf輸出字符輸出字符型數(shù)據(jù)的格式字符只有輸出字符型數(shù)據(jù)的格式字符只有c格式符,將輸出格式符,將輸出項(xiàng)按照字

28、符形式輸出。有如下兩種用法:項(xiàng)按照字符形式輸出。有如下兩種用法: %c,按照字符的形式輸出數(shù)據(jù),輸出寬度為,按照字符的形式輸出數(shù)據(jù),輸出寬度為1位。字符數(shù)據(jù)輸出顯示時不帶單引號。位。字符數(shù)據(jù)輸出顯示時不帶單引號。 %mc、%-mc,指定輸出的數(shù)據(jù)總寬度為,指定輸出的數(shù)據(jù)總寬度為m。2.5 字符型數(shù)據(jù)四用scanf輸入字符輸入字符型變量的格式字符是輸入字符型變量的格式字符是c格式符,將輸入的格式符,將輸入的數(shù)據(jù)以字符形式賦值給對應(yīng)的字符型變量。數(shù)據(jù)以字符形式賦值給對應(yīng)的字符型變量。有如下兩種用法:有如下兩種用法: %c,字符形式的輸入。一個字符輸入時所占的,字符形式的輸入。一個字符輸入時所占的寬

29、度只有寬度只有1位,所以在連續(xù)多個字符的輸入時,位,所以在連續(xù)多個字符的輸入時,不需要加入分隔符,只需連續(xù)輸入。輸入字不需要加入分隔符,只需連續(xù)輸入。輸入字符時,轉(zhuǎn)義字符如回車換行符等會作為有效符時,轉(zhuǎn)義字符如回車換行符等會作為有效字符輸入。字符輸入。 %mc,指定輸入數(shù)據(jù)的寬度為,指定輸入數(shù)據(jù)的寬度為m。2.5 字符型數(shù)據(jù)五用getchar輸入字符和putchar輸出字符C語言還提供函數(shù)語言還提供函數(shù)getchar()和和putchar()專專門用來做字符量的輸入輸出。門用來做字符量的輸入輸出。這兩個函數(shù)在使用時必須在程序中的所有函這兩個函數(shù)在使用時必須在程序中的所有函數(shù)的定義前用編譯預(yù)處理

30、命令數(shù)的定義前用編譯預(yù)處理命令include 或或 include “stdio.h”2.5 字符型數(shù)據(jù)五用getchar輸入字符和putchar輸出字符1putchar函數(shù)putchar函數(shù)的功能是向標(biāo)準(zhǔn)輸出設(shè)備輸出一個字符。函數(shù)的功能是向標(biāo)準(zhǔn)輸出設(shè)備輸出一個字符。函數(shù)調(diào)用格式:函數(shù)調(diào)用格式:putchar(字符表達(dá)式字符表達(dá)式)函數(shù)調(diào)用括號中是參數(shù),參數(shù)是一個字符型常量、字符函數(shù)調(diào)用括號中是參數(shù),參數(shù)是一個字符型常量、字符型變量或是字符型表達(dá)式,也可以是一個整型量。型變量或是字符型表達(dá)式,也可以是一個整型量。2.5 字符型數(shù)據(jù)五用getchar輸入字符和putchar輸出字符2getcha

31、r函數(shù)getchar函數(shù)的功能是從標(biāo)準(zhǔn)輸入設(shè)備上接收一函數(shù)的功能是從標(biāo)準(zhǔn)輸入設(shè)備上接收一個字符。個字符。函數(shù)調(diào)用格式:函數(shù)調(diào)用格式:getchar( )getchar函數(shù)是一個無參函數(shù)。函數(shù)是一個無參函數(shù)。從輸入設(shè)備接收到的字符的從輸入設(shè)備接收到的字符的ASCII碼值作為函碼值作為函數(shù)的結(jié)果,即函數(shù)的返回值。數(shù)的結(jié)果,即函數(shù)的返回值。 字符串常量字符串常量: 用用雙引號雙引號引起來的引起來的字符序列(即一串字符)字符序列(即一串字符). . 如:如:“CHINA”CHINA”,“hello” hello” ,“a” a” 三、三、 字符串常量字符串常量字符常量字符常量: 用用單引號單引號引起來

32、的引起來的一個字符一個字符1.字符常量與字符串常量的區(qū)別字符常量與字符串常量的區(qū)別2.5 字符型數(shù)據(jù) 如:如:有一個字符串常量有一個字符串常量 “hello” ,實(shí)際上在內(nèi),實(shí)際上在內(nèi)存中是:存中是: 它占內(nèi)存單元不是個字符,而是個字它占內(nèi)存單元不是個字符,而是個字符,最后一個字符為符,最后一個字符為。但在輸。但在輸出時不輸出出時不輸出。2. 字符串字符串的存儲:的存儲: 在在每每一一個字符串個字符串常量的結(jié)尾常量的結(jié)尾自動加一個自動加一個“字符串結(jié)束標(biāo)志字符串結(jié)束標(biāo)志”(規(guī)定以字符(規(guī)定以字符 作為字符串結(jié)束標(biāo)志)作為字符串結(jié)束標(biāo)志),以便系統(tǒng)據(jù)此判斷以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。字符串是

33、否結(jié)束。h e l l o 0注意:注意:假設(shè)假設(shè)c被指定為字符變量被指定為字符變量 : char c; ca; “a”; c“CHINA”; 結(jié)論:結(jié)論:不能把一個字符串常量不能把一個字符串常量賦給一個字符變量。賦給一個字符變量。 使用printf函數(shù)輸出字符串常量有兩種方式:(1)將待輸出的字符串直接寫在printf函數(shù)的格式控制字符串中,作為原樣輸出字符進(jìn)行輸出。3用用printf函數(shù)輸出字符串常量函數(shù)輸出字符串常量3用用printf函數(shù)輸出字符串常量函數(shù)輸出字符串常量(2) 使用s格式符。 %s :輸出字符串:輸出字符串 printf(“%s”,“ABC”); %ms,指定輸出字符串所

34、占的寬度,若字符串本身的長度不到m,則在左側(cè)補(bǔ)充空格。 %m.ns,指定輸出寬度為m,但只輸出字符串的左端n個字符。 %-ms、%-m.ns,-,若需要補(bǔ)充空格,補(bǔ)充在右側(cè)。 本章小結(jié)本章主要介紹了數(shù)據(jù)類型;常量與變量;各種類型數(shù)據(jù)本章主要介紹了數(shù)據(jù)類型;常量與變量;各種類型數(shù)據(jù)的表示方法、數(shù)據(jù)的取值范圍和數(shù)值的有效位數(shù)的表示方法、數(shù)據(jù)的取值范圍和數(shù)值的有效位數(shù)及相應(yīng)的輸入、輸出方法。及相應(yīng)的輸入、輸出方法。1C的數(shù)據(jù)類型的數(shù)據(jù)類型基本類型,構(gòu)造類型,指針類型,空類型基本類型,構(gòu)造類型,指針類型,空類型2變量與常量變量與常量(1) 變量定義,一般形式為:變量定義,一般形式為:類型說明符類型說明符 變量名標(biāo)識符,變量名標(biāo)識符,變量名標(biāo)識符,變量名標(biāo)識符,.;(2) 標(biāo)識符命名規(guī)則,標(biāo)識符只能由字母、數(shù)字和下劃標(biāo)識符命名規(guī)則,標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須是字母或下線三種字符組成,且第一個字符必須是字母或下劃線;并且標(biāo)識符不允許與關(guān)鍵字重名。劃線;并且標(biāo)識符不允許與

溫馨提示

  • 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

提交評論