C語(yǔ)言課件(第3章數(shù)據(jù)類(lèi)型).ppt_第1頁(yè)
C語(yǔ)言課件(第3章數(shù)據(jù)類(lèi)型).ppt_第2頁(yè)
C語(yǔ)言課件(第3章數(shù)據(jù)類(lèi)型).ppt_第3頁(yè)
C語(yǔ)言課件(第3章數(shù)據(jù)類(lèi)型).ppt_第4頁(yè)
C語(yǔ)言課件(第3章數(shù)據(jù)類(lèi)型).ppt_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第三章 數(shù)據(jù)類(lèi)型,C程序設(shè)計(jì),一個(gè)簡(jiǎn)單的C程序例子, include main() int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %dn”,sum);,C程序常見(jiàn)符號(hào)分類(lèi),關(guān)鍵字(Keyword)P365 又稱(chēng)為保留字,C語(yǔ)言中預(yù)先規(guī)定的具有固定含義的一些單詞,如整型int等 標(biāo)識(shí)符(Identifier) 系統(tǒng)預(yù)定義標(biāo)識(shí)符,main,printf 等 用戶(hù)自定義標(biāo)識(shí)符,Add, x, y 等 運(yùn)算符(Operator) 34種,詳見(jiàn)附錄C (P365,分隔符(Separator) 空格、回車(chē)/換行、逗號(hào)、#號(hào)等 其它符號(hào) 大花括號(hào)“”和“

2、”通常用于標(biāo)識(shí)函數(shù)體或者一個(gè)語(yǔ)句塊 “/*”和“*/”是程序注釋所需的定界符 數(shù)據(jù)(Data) 變量(Variable):值可以改變的數(shù)據(jù) 常量(Constant):值一直保持不變的數(shù)據(jù),數(shù)據(jù)類(lèi)型(Data Type,數(shù)據(jù)為什么要區(qū)分類(lèi)型? 便于對(duì)它們按不同的方式和要求進(jìn)行處理 不同類(lèi)型的數(shù)據(jù)代表不同的 數(shù)據(jù)表示形式 合法的取值范圍 占用內(nèi)存空間大小 可參與的運(yùn)算種類(lèi),C的數(shù)據(jù)類(lèi)型,類(lèi)型,構(gòu)造類(lèi)型,指針類(lèi)型,空類(lèi)型(無(wú)值類(lèi)型) void,基本數(shù)據(jù)類(lèi)型,類(lèi)型,符號(hào),關(guān)鍵字,數(shù)的表示范圍,所占位數(shù),整型,字符型,實(shí)型,有,無(wú),16,unsigned,065535,說(shuō)明:數(shù)據(jù)類(lèi)型所占字節(jié)數(shù)隨機(jī)器硬件

3、不同而不同,上表以IBM PC機(jī)為例,TC中int的范圍是-3276832767 如果我們給它一個(gè)小于-32768或者大于32767的數(shù)會(huì)如何呢? 結(jié)果:系統(tǒng)提示overflow(溢出,小蛇能吞下大象嗎,超出取值范圍會(huì)怎樣,一臺(tái)安裝了Windows 95/98的機(jī)器,如果連續(xù)運(yùn)行49.7天沒(méi)有重新啟動(dòng),可能死機(jī) 原因: Windows啟動(dòng)時(shí),有一個(gè)計(jì)數(shù)器,記錄系統(tǒng)已經(jīng)運(yùn)行了多少毫秒。這個(gè)計(jì)數(shù)器是個(gè)unsigned long 類(lèi)型的變量 unsigned long 的最大值是:4294967295 一天有 24*60*60*1000 = 86400000毫秒 4294967295 / 86400

4、000 = 49.71026961805 當(dāng)49.7天的時(shí)候,此計(jì)數(shù)器會(huì)溢出,引起死機(jī),溢出(Overflow)造成的危害,如何選擇恰當(dāng)?shù)臄?shù)據(jù)類(lèi)型,預(yù)先估算運(yùn)算結(jié)果的可能范圍,采用取值范圍更大的類(lèi)型。 1+2+3+ 1!+2!+3!+ 13+23+33+ 如果不需要處理負(fù)數(shù),則采用無(wú)符號(hào)類(lèi)型。 在運(yùn)算還沒(méi)開(kāi)始之前就判斷運(yùn)算數(shù)是否在合理的取值范圍內(nèi)。如果超出,則停止運(yùn)算,轉(zhuǎn)錯(cuò)誤處理,定義:用來(lái)標(biāo)識(shí)變量、常量等的字符序列 命名規(guī)則: (1) 只能由字母、數(shù)字、下劃線組成,且 第一個(gè)字符必須是字母或下劃線 (2) 不能使用關(guān)鍵字 (3) 長(zhǎng)度最長(zhǎng)32個(gè)字符 (4) 區(qū)分大小寫(xiě),例:判斷下列不合法標(biāo)識(shí)

5、符號(hào) sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123,標(biāo)識(shí)符,M.D.John,3days,33,char,ab,123,常量(constant,定義:在程序運(yùn)行過(guò)程中,其值不能被改變 的量稱(chēng)為常量 分類(lèi):可分為數(shù)值常量和符號(hào)常量 類(lèi)型:可為整型、實(shí)型、字符型等 命名:符合標(biāo)識(shí)符命名規(guī)則,數(shù)值常量(常數(shù),整型 100,125,-100,0 實(shí)型 3.14 , 0.125,-3.789 字符型 a, b,2 轉(zhuǎn)義字符: 特殊字符如n (P48) 例 printf(“How are y

6、ou?); printf(“How are you?); 字符串 “a”, “ab”,”1232,符號(hào)常量(宏常量,一般采用全大寫(xiě)字母表示 語(yǔ)法:#define 標(biāo)識(shí)符 數(shù)值常量 不能在程序中再次賦值 是一種編譯預(yù)處理命令稱(chēng)之為宏替換 優(yōu)點(diǎn):比數(shù)值常量可讀性好、修改容易 例: 計(jì)算圓的周長(zhǎng),變量,定義:在程序運(yùn)行中,其值可以改變的量 類(lèi)型:可為整型、實(shí)型、字符型(見(jiàn)表) 命名:符合標(biāo)識(shí)符命名規(guī)則 語(yǔ)法:數(shù)據(jù)類(lèi)型 變量1,變量2,變量n; 例:int a; float a,b,c; 變量初始化:定義時(shí)賦初值 例:int a=2,b,c=4; float data=3.67; char ch=A;

7、 int x=1,y=1,z=1;int x=y=z=1; X,變量(續(xù),變量的存儲(chǔ),int a=1, b=-3,c,變量(續(xù),變量的使用:先定義,后使用 例:int student; stadent=19; /為變量賦值 /Undefined symbol statent in function main 變量定義的位置:一般放在函數(shù)開(kāi)頭 main() int a,b=2; a=1; float data=3; printf(“data=%fn”,data);,C運(yùn)算符,的運(yùn)算符有以下幾類(lèi): (1)算術(shù)運(yùn)算符 (+ - * / %) (2)關(guān)系運(yùn)算符 (!) (3)邏輯運(yùn)算符 (!|) (4

8、)位運(yùn)算符 ( |) (5)賦值運(yùn)算符 (及其擴(kuò)展賦值運(yùn)算符) (6)條件運(yùn)算符 (?:) (7)逗號(hào)運(yùn)算符 (,,算術(shù)運(yùn)算符,(加法運(yùn)算符,如:、) (減法運(yùn)算符,如:、) * (乘法運(yùn)算符。如:*) (除法運(yùn)算符。如:) (模運(yùn)算符,或稱(chēng)求余運(yùn)算符,兩 側(cè)均為整型數(shù)據(jù),如:值為,算術(shù)表達(dá)式,定義:用算術(shù)運(yùn)算符和括號(hào)將操作數(shù)連接起來(lái)的、符合語(yǔ)法規(guī)則的式子,稱(chēng)為算術(shù)表達(dá)式。操作數(shù)包括常量、變量、函數(shù)等。 例:*(.5)a 優(yōu)先級(jí)別:P365 附錄C 同一級(jí)別結(jié)合方向?yàn)椤白宰笾劣摇?。 例:5+8%3*2,關(guān)系運(yùn)算符,,=,=,!= 大于,大于等于,小于,小于等于,等于,不等于 關(guān)系運(yùn)算符運(yùn)算出

9、的結(jié)果為0和非0 0,表示假,即該關(guān)系不成立 非0,表示真,即該關(guān)系成立 絕大多數(shù)編譯器,關(guān)系運(yùn)算得到的非0結(jié)果為1,邏輯運(yùn)算符,邏輯運(yùn)算也被稱(chēng)為布爾(Boolean)運(yùn)算 與運(yùn)算 printf(m / 2=%dn, m/2); printf(float)(m/2) = %fn, (float)(m/2); printf(float)m/2 = %fn, (float)m/2);,m/2 = 2 (float)(m/2) = 2.000000 (float)m/2 = 2.50000,兩個(gè)整數(shù)運(yùn)算的結(jié)果還 是整數(shù),不是浮點(diǎn)數(shù),賦值運(yùn)算符號(hào):“” 其作用是將一數(shù)據(jù)賦給一個(gè)變量。 例“” 可以將一個(gè)表達(dá)式的值賦給一個(gè)變量. a=a*2+3 可與+、-、*、/、%、 printf(“%d,%d,%d”,(a,b,c),b,c,”不是逗號(hào)表達(dá)式,是printf的3個(gè)參數(shù),)”是逗號(hào)表達(dá)式,它的值等于的值,優(yōu)先級(jí),) - . ! + - + - * & * /

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論