第二章的課件3.ppt_第1頁
第二章的課件3.ppt_第2頁
第二章的課件3.ppt_第3頁
第二章的課件3.ppt_第4頁
第二章的課件3.ppt_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本章的知識點:初步知識:數(shù)據(jù)類型常量和變量與不同類型數(shù)據(jù)之間的轉(zhuǎn)換運算符和表達式;第二章:數(shù)據(jù)描述、計算機中數(shù)字的表示和二進制轉(zhuǎn)換數(shù)字、基數(shù)和權(quán)重:數(shù)字的符號基數(shù):數(shù)字的數(shù)字權(quán)重:每一位所擁有的數(shù)值數(shù)字系統(tǒng);2.0初步知識,二進制、八進制和十六進制到十進制的轉(zhuǎn)換:根據(jù)重量相加,各種基數(shù)之間的轉(zhuǎn)換。二進制、八進制和十六進制轉(zhuǎn)換為十進制,十進制轉(zhuǎn)換為二進制、八進制和十六進制。方法:連續(xù)除基數(shù),記錄余數(shù)從低到高,直到商為0,并轉(zhuǎn)換各種二進制(整數(shù))。方法:按權(quán)重相加,二進制轉(zhuǎn)換為八進制:從右到左,每3位設(shè)置(小于3)示例(1101001) 2=(001,101,001) 2=(151) 8,示例(2

2、46) 8=(010,100,110) 2=(10100110) 2,000 001 1 010 2 011 3 110每4位分組(小于4位0101,0111,1101) 2=(357d) 16,1110)2=(100101110011110)2,0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101D 11110 E 內(nèi)存由字節(jié)組成。每個字節(jié)都有一個地址。一個字節(jié)通常由8個二進制位組成。每個二進制值是0或1,字節(jié)和位。最高位是符號位,其余位是值本身的絕對值。

3、負數(shù):符號位為1。其余位取原始碼的反碼:正數(shù):與原始碼相同的負數(shù),反碼和補碼:最高位為1,其余位取原始碼的反碼,然后將1,9-5=4 9 7=16=(14)12加到整數(shù)上。數(shù)字表示法是原碼、反碼和補碼,負補碼轉(zhuǎn)換成十進制數(shù):最高位不動,但十進制數(shù)不變。不同類型的數(shù)據(jù)代表不同的數(shù)據(jù)表示形式、合法值范圍、占用的內(nèi)存空間、可參與的操作類型、枚舉類型、2.1數(shù)據(jù)類型、標(biāo)識符定義:用于標(biāo)識變量、常數(shù)、函數(shù)等的字符序列。它只能由字母、數(shù)字和下劃線組成。第一個字母必須是字母或下劃線,區(qū)分大小寫,不能用關(guān)鍵詞來命名:看到名字很直觀,看到名字很容易記憶和閱讀。最好使用英語單詞或它們的組合。漢語拼音不應(yīng)該混淆,如

4、L和I,o和0。例:判斷下列標(biāo)識符號的合法性總和m.d .約翰日日期3天學(xué)生_姓名# 33 lotus _ 1 _ 2 _ 3 charab _以上$123、2.2常量和變量,一般用大寫字母代替c語句,都是宏定義預(yù)處理命令,不占用存儲單元。例如,#定義price 30,定義:當(dāng)程序運行時其值不能改變的金額(即常數(shù))分類:符號常數(shù):用標(biāo)識符表示常數(shù)定義格式:#定義符號常數(shù),示例符號常數(shù)示例(CH2 _ 1.c) #定義PRICE 30主()整數(shù),總計;num=10total=num * PRICEprintf(總計=%d,總計);運行結(jié)果:total=300,常量,描述:必須先定義符號常量,然后

5、才能表示數(shù)值。符號常量的值不能在其范圍內(nèi)更改,也不能再賦值。符號常量名稱通常用大寫字母表示。2.2.2變量,1。定義:在程序執(zhí)行過程中可以改變的數(shù)值。2.命名規(guī)則:變量名由標(biāo)識符表示,標(biāo)識符只能由字母、數(shù)字和下劃線組成,第一個字符必須是字母或下劃線。例如,在下列標(biāo)識符中,非法的變量名是:m.d.john,12% gf,1add,_ ce36,age,3,a。使用變量的基本原則必須首先定義,然后所有變量必須在第一個可執(zhí)行語句之前定義。聲明的順序并不重要。一個聲明語句可以聲明幾個相同類型的變量,它們是i=1的初始化變量;int sum=0;浮動EPS=1.0e-5;在C語言中,變量必須被強制定義,

6、其目的如下:1 .任何未事先定義的變量都不會被用作變量名。2.每個變量都被指定為一個確定的類型,相應(yīng)的存儲單元可以在編譯時分配給它。3.將每個變量指定為一個確定的類型,并在編譯時檢查變量的操作是否合法。例如,如果變量A和B是整數(shù)類型,可以執(zhí)行余數(shù)運算:a%b,并且不允許兩個實數(shù)類型的變量的余數(shù)。*選擇變量名時,您應(yīng)該知道名稱的含義。例如,名稱st_age xm nl類sum *大小寫字母是兩個不同的字符,而C變量名則用小寫字母表示。*建議變量名的長度不要超過8個字符。請注意,您應(yīng)該注意使用變量。不要想當(dāng)然地把變量占用的內(nèi)存空間的字節(jié)數(shù)作為獲取變量長度或數(shù)據(jù)類型大小的依據(jù),包括void main

7、 () printf(數(shù)據(jù)類型字節(jié)數(shù)n);printf(-n);printf(char %dn,sizeof(char);printf(int %dn,sizeof(int);printf(short int %dn,sizeof(short);printf(long int %dn,sizeof(long);printf(float %dn,sizeof(float);printf(double %dn,sizeof(double);2.3整數(shù)數(shù)據(jù),2.3.1整數(shù)常量的表示形式十進制整數(shù):用數(shù)字(0-9)和符號表示,例如:123,-456和0等八進制整數(shù);以0開頭的八進制數(shù),例如:o123表

8、示(123)8=(83)10(123)8=182 2 81 3 81例如:ox123是(123) 16=(291) 10 -ox12是(-12) 16=(-18) 10,2.3.2整數(shù)變量的整數(shù)數(shù)據(jù)在內(nèi)存中的存儲形式(補碼表示法:易于加減)int I;i=1010=(1010) 2、2、10、2、5、2、2、1、0、余數(shù)、0、1、0、0、1、第一個、000000001010、11 11 11 10 101、11 11 10 10、10原始代碼,取逆,然后加1得到整數(shù)變量的分類,基本類型:短鍵入由長整型或長整型(123l,123L)無符號整型無符號短整型無符號長整型(無符號長整型),(-3276

9、832767)表示的長整型,無符號整型變量中可以存儲的正數(shù)范圍是一般整型變量中的兩倍。int a;/*變量a的數(shù)值范圍:-3276832768 */無符號整數(shù)b;/*變量B的數(shù)值范圍是065535 */,整數(shù)變量的短長度是16位(2字節(jié))。長字符是32位(4字節(jié))長。Int類型取決于編譯器(它可以是2字節(jié)或4字節(jié))。c要求長類型的數(shù)據(jù)長度不應(yīng)短于int類型,短類型不應(yīng)長于int類型。(short=int=long)長型可以得到大范圍的數(shù)據(jù),但同時會降低運算速度,所以除非迫不得已,否則不要隨便使用長型。整數(shù)數(shù)據(jù)溢出:main() int a,b;a=32767b=a 1。printf(“%d,%

10、 d”,a,b);運行結(jié)果:32767,-32768改進:將變量A和B改為長型,并以%ld格式輸出。一條小蛇能吞下一頭大象嗎?整數(shù)數(shù)據(jù)的數(shù)據(jù)范圍見P22表2-1。注:1 .如果一個整數(shù)常數(shù)后面跟一個字母,它被認為是一個長常數(shù)。2.在整數(shù)常數(shù)后加上字母u或u被認為是無符號整數(shù)常數(shù)。、2.4浮點數(shù)據(jù)、2.4.1浮點常數(shù)可以用以下兩種形式表示:十進制數(shù)字形式:它由數(shù)字、小數(shù)點和符號組成。(注意:必須有一個小數(shù)點)例如:23.678 .678 23。指數(shù)形式:它由數(shù)字、小數(shù)點、字母e或e和符號組成。(注:E或E前必須有一個數(shù)字,E后的指數(shù)必須是整數(shù))例如:3.5E-5 2e3錯誤:E2 3.6E3.5

11、.E6E,2.4.2浮點變量浮點變量可分為:單精度(浮點型)如:浮點x,y;雙式(Double type)如:雙a、雙b、雙c;描述:1 .浮動變量占用4字節(jié)內(nèi)存;雙變量占用8字節(jié)內(nèi)存。2.單精度實數(shù)提供7個有效數(shù)字;雙精度實數(shù)提供1516個有效數(shù)字。浮點常量的類型,默認的double類型在浮點常量后添加字母f或f,并將其視為浮點類型。當(dāng)浮點常數(shù)被分配給浮點型或雙精度型變量時,浮點常數(shù)中相應(yīng)的有效數(shù)字將根據(jù)變量的類型被截取。void main()float a;雙b;a=123456.789e5b=123456.789printf(a=%fn,a);printf(b=%fn,b);輸出結(jié)果:

12、a=12345678848.00000 b=123456.789000,2.5字符數(shù)據(jù),字符常數(shù)1。字符常量:用單引號括起來的字符。例如:一個澳元!注意:A和A是不同的字符常量。2.轉(zhuǎn)義字符:以1開頭的字符序列,例如:n換行t水平跳轉(zhuǎn)(水平制表)b退格v垂直跳轉(zhuǎn)(垂直制表)r輸入f進紙報警0空字符,說明:1,“ddd”和“xh”分別表示一個字符是由八進制數(shù)還是十六進制數(shù)表示。示例: 101代表ASCII碼(十進制)為65的字符。答:系統(tǒng)中的所有字符都有ASCII值(見第306頁)。2.因為,和”在C語言中有特殊的含義,如果你想在字符串中使用它們,你必須在它們前面加一個反斜杠。例如,“反斜杠單引

13、號”雙引號3。除了前面介紹的特殊轉(zhuǎn)義字符,字母本身代表字母。c代表字母c. 2.5.2字符變量名1、變量名2和變量名n;例如,char c1,C2;字符變量值只能是一個字符;占用內(nèi)存中的一個字節(jié);字符變量存儲字符的ASCII碼;可以在字符和整型數(shù)據(jù)之間進行算術(shù)運算;由于字符變量是以字符的ASCII碼的形式存儲在內(nèi)存中的,這是一個無符號的整數(shù),字符數(shù)據(jù)和整數(shù)數(shù)據(jù)可以在一定范圍內(nèi)相互使用。它們之間唯一的區(qū)別是字符常量占用一個字節(jié),而整數(shù)常量占用兩個字節(jié)。例如a=D;/* a=68;*/x=a5;/* x=65 5;*/s=!g/* s=33 71;*/,示例2.6將整數(shù)轉(zhuǎn)換為字符變量,p29,示例

14、2.7將小寫字母轉(zhuǎn)換為大寫字母。main() char c1,C2;C1=x;C2=y;c1=c132c2=c232printf(n%c,%c,c1,C2);這個程序的輸出是:X,Y這個例子是一個把小寫字母轉(zhuǎn)換成大寫字母的程序。在觀察了ASCII字符表之后,我們會發(fā)現(xiàn)對應(yīng)于該情況的字母之間的ASCII碼差正好是32。有了這個特性,我們可以編寫一個非常簡單的程序來轉(zhuǎn)換大寫和小寫字母。字符常量不同于字符串常量。字符串常量的定義:用雙引號()括起來的字符序列的存儲:0作為字符串的結(jié)束符號自動添加到每個字符串的末尾,例如, char chch= A,沒有字符串變量,它存儲在字符數(shù)組中。乙和乙一樣嗎?b和b一樣嗎?B是98,B是66,B是一個字符常數(shù),“B是一個字符串常數(shù),2.6各種數(shù)字數(shù)據(jù)之間的混合運算,1。操作過程:首先,自動轉(zhuǎn)換為同類數(shù)據(jù),然后執(zhí)行操作。第二,轉(zhuǎn)換規(guī)則:低字長類型轉(zhuǎn)換為高字長類型。形式:隱式轉(zhuǎn)換(由系統(tǒng)自動執(zhí)行)顯式轉(zhuǎn)換(強制類型

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論