程序設計與計算思維 課件 【ch02】數(shù)據(jù)類型_第1頁
程序設計與計算思維 課件 【ch02】數(shù)據(jù)類型_第2頁
程序設計與計算思維 課件 【ch02】數(shù)據(jù)類型_第3頁
程序設計與計算思維 課件 【ch02】數(shù)據(jù)類型_第4頁
程序設計與計算思維 課件 【ch02】數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設計與計算思維數(shù)據(jù)類型第二章案例3:求兩數(shù)之和01一、案例3:求兩數(shù)之和Prog3.1一、案例3:求兩數(shù)之和注釋:(1)inta,b,c;定義三個整型變量a、b和c,變量a、b和c是三個用于存儲整型數(shù)據(jù)的存儲單元。(2)執(zhí)行a=23;,右邊23是常量,存儲在變量名a代表的存儲單元中;左邊是變量a。該語句的功能是將右邊的值傳送到左邊的存儲單元中,執(zhí)行后變量a的值是23。執(zhí)行printf("a=%d\n",a);,輸出:a=23。執(zhí)行b=14;,執(zhí)行后變量b的值是14。執(zhí)行printf("b=%d\n",b);,輸出:b=14。執(zhí)行c=a+b;,將變量a的值與變量b的值的和傳送到變量c的存儲單元中。執(zhí)行printf("c=%d:%d+%d=%d\n",c,a,b,c);,輸出:c=37;23+14=37。(3)變量的三要素:變量名、存儲單元(地址)、值。變量處理的過程:變量名映射到存儲單元(左值映射),存儲單元映射到變量值(右值映射)。常量就是值,其本身不是存儲單元;變量代表值,其本身是一個存儲單元。Prog3.1一、案例3:求兩數(shù)之和Prog3.2運行結果如圖2.1所示。一、案例2:求兩數(shù)之和注釋:(1)&a、&b、&c表示變量a、b、c在內(nèi)存中的相應地址,程序運行時對變量均是“按址訪問”,編譯系統(tǒng)將由變量名映射出相應存儲單元的地址。(2)執(zhí)行a=23;時變量a的值將會是23,變量a的地址稱為“左值”,變量a的值23稱為“右值”。(3)常量只有“右值”,沒有地址,如圖2.2所示。Prog3.2案例4:整型數(shù)據(jù)02二、案例4:整型數(shù)據(jù)Prog4.1注釋:(1)inta;是用關鍵字int定義整型變量a,變量名a代表一個存儲單元,其地址為&a,變量a能準確描述一個整型數(shù)據(jù)。(2)sizeof(a)顯示系統(tǒng)分配給變量a存儲單元的長度(字節(jié)數(shù)),如圖2.3所示。(3)定義整型變量還可用關鍵字short和long。二、案例4:整型數(shù)據(jù)Prog4.2二、案例4:整型數(shù)據(jù)注釋:(1)當a=-1時,%d->%u輸出:-1一>4294967295,則變量a的形式值(邏輯值)為-1,實際存儲值為4294967295。(2)當a=1時,%d->%u輸出:1->1,則變量a的形式值(邏輯值)為1,實際存儲值也為1。(3)-1->4294967295:負數(shù)以補碼形式存儲,且原碼(形式值的二進制)與補碼(存儲值的二進制)不一致。1->1;正數(shù)的存儲形式也可以看成補碼,且原碼(形式值的二進制〉與補碼(存儲值的二進制)一致。Prog4.2二、案例4:整型數(shù)據(jù)Prog4.3運行結果如圖2.4所示。二、案例4:整型數(shù)據(jù)注釋:(1)當a=-1時,%d->%u輸出:-1->4294967295,則-1是最大的負數(shù),其補碼對應的十進制數(shù)為4294967295,也是負數(shù)中最大的。(2)當a=-2147483647時,%d->%u輸出:1:-2147483647->2147483649,則-2147483647的補碼對應的十進制數(shù)是2147483649。當a=-2147483647時,%d->%u輸出:2:-2147483648->2147483648,則-2147483648的補碼對應的十進制數(shù)是2147483648,-2147483648是最小的負數(shù),其補碼對應的十進制數(shù)也是最小的。(3)當a=2147483649時,%d->%u輸出:3.2147483647-->2147483647,當-2147483649<-2147483648(最小的負數(shù))時,-2147483649已經(jīng)是正數(shù)了,而且是最大的正數(shù)。這就是數(shù)據(jù)表示的“周期性”。Prog4.3二、案例4:整型數(shù)據(jù)Prog4.4運行結果如圖2.5所示。二、案例4:整型數(shù)據(jù)注釋:(1)當a=2147483647時,%d->%u輸出:1:2147483647->2147483647,則2147483647是最大的正數(shù)。(2)當a=-2147483647+1時,%d->%u輸出:2:-2147483648->2147483648,則最大的正數(shù)+1就成了最小的負數(shù)。(3)正數(shù)的原碼-補碼,負數(shù)的補碼-4294967296對應的二進制數(shù)減原碼(32位),這就是整型數(shù)據(jù)表示的“域”。Prog4.4案例5:實型數(shù)據(jù)03三、案例5:實型數(shù)據(jù)Prog5.1三、案例5:實型數(shù)據(jù)注釋:(1)floata定義單精度實型變量。(2)a=376.472;a=37.6472e1;a=3.76472e2;a=0.376472e3;這四條語句產(chǎn)生的“右值”相同,即“右值”相同的實數(shù)表示方法具有多樣性,如圖2.6所示。(3)實數(shù)376.472稱為實數(shù)“小數(shù)形式”表示,實數(shù)37.6472e1、3.76472e2、0.376472e3稱為實數(shù)“指數(shù)形式”表示?!爸笖?shù)形式”又稱為實數(shù)的“存儲形式”,格式為:尾數(shù)e階碼。Prog5.1三、案例5:實型數(shù)據(jù)Prog5.2三、案例5:實型數(shù)據(jù)注釋:(1)當a=376.472時,輸出:1:a=376.471985,輸出結果與變量a的值不一致,如圖2.7所示。這說明所有實數(shù)都是不準確的,例如,系統(tǒng)可以規(guī)定限值d<=1e-6為0。(2)float類型變量的精度位數(shù)少,測試長度只有7位,當輸出的位數(shù)多于7位時,前6位是準確的,如圖2.6所示。Prog5.2三、案例5:實型數(shù)據(jù)Prog5.3三、案例5:實型數(shù)據(jù)注釋:(1)doublea定義雙精度實型變量。(2)double類型變量比float類型變量的精度位數(shù)多,測試長度達到15位,如圖2.8所示為double類型實數(shù)的精度。Prog5.3案例6:字符型數(shù)據(jù)04四、案例6:字符型數(shù)據(jù)Prog6.1注釋:(1)charc定義字符型變量。(2)printf("1:c=%c\n",c);與printf(""2:c=%c\n",c);的輸出結果是相同的,如圖2.10所示,則c='A';與c=65;執(zhí)行的功能相同,'A'表示字符,65(二進制數(shù)為01000001)則是字符'A'的ASCII碼值。四、案例6:字符型數(shù)據(jù)Prog6.2四、案例6:字符型數(shù)據(jù)Prog6.2注釋:(1)'A'是字符型數(shù)據(jù)的邏輯形式,'A'的ASCII碼是其存儲形式,如圖2.11所示。(2)1:A->65(ASCII),大寫英文字母A對應的ASCII碼值為65。2:a->97(ASCII),小寫英文字母a對應的ASCII碼值為97。3:a-A=32,大寫英文字母A與小寫英文字母a對應的ASCII碼值相差32。四、案例6:字符型數(shù)據(jù)Prog6.3四、案例6:字符型數(shù)據(jù)Prog6.3注釋:如圖2.13所示,大寫英文字母與小寫英文字母的ASCII碼值是有順序的,且小寫英文字母對應的ASCII碼值比大寫英文字母要大32。數(shù)字字符對應的ASCII碼值是48(字符'0'的ASCII碼值)~57(字符'9'的ASCII碼值,也是有順序的??崭?space)的ASCII碼值是32(二進制數(shù)為00100000)。四、案例6:字符型數(shù)據(jù)Prog6.4四、案例

溫馨提示

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

評論

0/150

提交評論