Chapter03數(shù)據(jù)類型ppt課件_第1頁
Chapter03數(shù)據(jù)類型ppt課件_第2頁
Chapter03數(shù)據(jù)類型ppt課件_第3頁
Chapter03數(shù)據(jù)類型ppt課件_第4頁
Chapter03數(shù)據(jù)類型ppt課件_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第3章章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式數(shù)據(jù)類型、運(yùn)算符與表達(dá)式 程序是處理某種問題的一組指令的有序集合。 著名計(jì)算機(jī)科學(xué)家沃思Nikiklaus Wirth提出一個(gè)公式: 程序 = 數(shù)據(jù)構(gòu)造 + 算法 程序是什么?3.1 C言語數(shù)據(jù)類型3.2 常量、變量和標(biāo)識(shí)符1. 標(biāo)識(shí)符定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必需是字母或下劃線C言語的關(guān)鍵字不能用作變量名 大小寫敏感長度:有效長度為32個(gè)字符。隨系統(tǒng)而異,但至少前8個(gè)字符有效命名原那么:變量名和函數(shù)名中的英文字母普通用小寫,以添加可讀性 見名知意不宜混淆 如l與I, o與0 在TC2.0及BC

2、3.1中,變量名標(biāo)識(shí)符的有效長度為個(gè)字符,缺省值為,但在VC中其長度可到達(dá)255 例:判別以下標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123ab .字符非法 #字符非法 char是關(guān)鍵字 字符非法3.2 常量、變量和標(biāo)識(shí)符2. 常量定義:程序運(yùn)轉(zhuǎn)時(shí)其值不能改動(dòng)的量即常數(shù) 常量的分類 :直接常量( 值常量) 整型常量: 10、15、-10、-30 實(shí)型常量: 12.5、 30.0、-1.5 字符常量: A、b、c 字符串常

3、量: “sum、“A、“123符號(hào)常量 用標(biāo)識(shí)符來代表常量。 其定義格式為: #define #define 符號(hào)常量符號(hào)常量 常量常量 #define NUM 20 #define PI 3.1415926 運(yùn)轉(zhuǎn)結(jié)果:total = 300 行尾不能有分號(hào)行尾不能有分號(hào) define define前面一定要有前面一定要有# # 符號(hào)常量名最好運(yùn)用大寫符號(hào)常量名最好運(yùn)用大寫 符號(hào)常量名最好有意義符號(hào)常量名最好有意義 3.2 常量、變量和標(biāo)識(shí)符3. 變量定義:程序運(yùn)轉(zhuǎn)時(shí)其值可以被改動(dòng)的量 變量的兩要素 :變量名 、變量值變量的定義格式 :變量的初始化:定義時(shí)賦初始值變量的運(yùn)用:先定義,后賦值變量

4、定義位置:普通放在函數(shù)開頭int x, y, z;float radius, length, area; char ch;決議分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符例: int a = 2, b, c = 4; float data = 3.67; char ch = A; int x = 1, y = 1, z = 1; int x = y = z = 1;編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元地址short int a=1, b=-3, c;abc2字節(jié)2字節(jié)2字節(jié)地址地址內(nèi)存.1-3隨機(jī)數(shù)例1: int student; stadent = 19; /Undefined symbol

5、 statent in function main 例2: float a,b,c; c = a % b; /Illegal use of floating point in function main int main ( ) int a, b = 2; float data; a = 1; data = (a + b) * 1.2; printf (“data=%fn, data); return 0;變量定義可執(zhí)行語句3.3 簡單數(shù)據(jù)類型與表示范圍定義整數(shù)的符號(hào)常量定義整數(shù)的符號(hào)常量 #define NUM1 20 / #define NUM1 20 /十進(jìn)制數(shù)十進(jìn)制數(shù)2020 #def

6、ine NUM2 020 / #define NUM2 020 /八進(jìn)制數(shù)十進(jìn)制八進(jìn)制數(shù)十進(jìn)制1616 #define NUM3 0 x2a / #define NUM3 0 x2a /十六進(jìn)制數(shù)十進(jìn)制十六進(jìn)制數(shù)十進(jìn)制4242思索題:以下整型常量哪些是非法的?思索題:以下整型常量哪些是非法的? 012 012,oX7AoX7A,0000,078078,0 x5Ac0 x5Ac,-0 xFFFF-0 xFFFF,00340034,7B7B。首字符不能首字符不能是字母是字母o o 八進(jìn)制數(shù)中不八進(jìn)制數(shù)中不能有數(shù)字能有數(shù)字8 8 十進(jìn)制數(shù)中不十進(jìn)制數(shù)中不能有字母能有字母B B 假設(shè)是正整數(shù),采用符號(hào)

7、-絕對值表示,即最高有效位符號(hào)位為0表示正,數(shù)的其他部分那么表示數(shù)的絕對值; 假設(shè)是負(fù)整數(shù),那么先寫出與該負(fù)數(shù)相對應(yīng)的正數(shù)的補(bǔ)碼表示,然后將其按位求反,最后在末位最低位加1; 然后將上述求得的補(bǔ)碼的低n位存放于內(nèi)存單元之中,就得到了該整數(shù)在內(nèi)存中的表示,內(nèi)存單元的最高位是符號(hào)位0表示正,1表示負(fù)。0000111000000000低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號(hào)位符號(hào)位低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址00001110000000000000000000000000符號(hào)位符號(hào)位1111001011111111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號(hào)位

8、符號(hào)位低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址11110010111111111111111111111111符號(hào)位符號(hào)位1111111111111111低地址低地址高地址高地址低字節(jié)低字節(jié)高字節(jié)高字節(jié)符號(hào)位符號(hào)位低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址11111111111111111111111011111111符號(hào)位,符號(hào)位,表示負(fù)表示負(fù)0001110000000000低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號(hào)位符號(hào)位低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址00011100000000000000000000000000符號(hào)位符號(hào)位11100100111

9、11111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號(hào)位符號(hào)位11100100111111111111111111111111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號(hào)位符號(hào)位1011011010001010低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號(hào)位符號(hào)位表示負(fù)表示負(fù)10110110100010100000000000000000低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號(hào)位符號(hào)位0100101001110101低地址低地址高地址高地址低字節(jié)低字節(jié)高字節(jié)高字節(jié)符號(hào)位符號(hào)位表示正表示正01001010011101011111111111111111低字節(jié)低字

10、節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號(hào)位符號(hào)位表示負(fù)表示負(fù)例:例: int a; int x, y, z; int m = 2, y = -3;1111111011111111低地址低地址高地址高地址低字節(jié)低字節(jié)高字節(jié)高字節(jié)1111111011111111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址/文件包含文件包含, ,頭文件闡明頭文件闡明 /定義符號(hào)常量定義符號(hào)常量SUMSUM,值為,值為65535 65535 /定義兩個(gè)定義兩個(gè)intint型變量型變量a a和和b b,b b賦初值賦初值20 20 /定義無符號(hào)整型變量定義無符號(hào)整型變量c c,并賦初值,并賦初值0 xff 0 x

11、ff /定義長整型變量定義長整型變量D D /對a賦值為SUM,這時(shí)a的值是65535 /對對D D賦值為賦值為301 301 /以有符號(hào)十進(jìn)制方式以有符號(hào)十進(jìn)制方式%d%d顯示顯示a a的值的值 /以有符號(hào)十進(jìn)制方式以有符號(hào)十進(jìn)制方式“%d“%d顯示顯示b b的值的值 /以有符號(hào)十進(jìn)制方式以有符號(hào)十進(jìn)制方式%d%d顯示顯示c c的值的值 /以有符號(hào)十進(jìn)制方式以有符號(hào)十進(jìn)制方式%d%d顯示顯示D D的值的值 類 型精確表示的數(shù)字個(gè)數(shù) float 7 8 double 16 17 long double 17 18abc123.456787123.456787123.456789如 a A ?

12、n 101如 A65, a97, 048 , n10本義字符及其含義:本義字符本義字符含義含義nvradddtbf“xhh本義字符本義字符含義含義換行垂直制表回車響鈴單引號(hào)3位8進(jìn)制數(shù)代表的字符程度制表退格換頁反斜線雙引號(hào)2位16進(jìn)制數(shù)代表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65字符串常量 定義:用雙引號(hào)(“)括起來的字符序列 存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè) 0 作為字符串終了標(biāo)志0 x480 x450 x4C0 x4C0 x4F0字符串終了標(biāo)志字符串終了標(biāo)志00 x41 0 x41 0例: char ch; ch =

13、 “A; 例: char ch; ch = A; 字符型變量 字符型數(shù)據(jù)類型符是char字符character 在內(nèi)存中占1個(gè)字節(jié)8位 字符變量存放字符ASCII碼 char與int數(shù)據(jù)間可進(jìn)展算術(shù)運(yùn)算 存在有符號(hào)和無符號(hào)之分。默許情況下為有符號(hào) 類型符號(hào)關(guān)鍵字占字節(jié)數(shù)數(shù)的表示范圍整型有(signed)int 在16位系統(tǒng)下2-3276832767 在32位系統(tǒng)下4-21474836482147483647(signed)short2-3276832767(signed)long4-21474836482147483647無unsigned int 在16位系統(tǒng)下2065535 在32位系統(tǒng)下

14、404294967295unsigned short2065535unsigned long404294967295實(shí)型有float4絕對值10-371038有double8絕對值10-30710308有l(wèi)ong double10絕對值10-4931104932字符型有char1-128127無unsigned char10255十進(jìn)制數(shù)十進(jìn)制數(shù) 對應(yīng)的機(jī)器數(shù)補(bǔ)碼對應(yīng)的機(jī)器數(shù)補(bǔ)碼 80 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 ch 80 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 ch + 50 0 0 0 0 0 0 0 0 0 0 1 1 0 0

15、 1 0 + 50 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 01 0 0 0 0 0 1 0printfvariable a = %d , a ;3.4 C言語的運(yùn)算符與表達(dá)式 變量用來存放數(shù)據(jù),運(yùn)算符那么用來處置數(shù)據(jù)。用運(yùn)算符將變量和常量銜接起來的符合C語法規(guī)那么的式子被稱為表達(dá)式。 C運(yùn)運(yùn)算算符符算術(shù)運(yùn)算符:算術(shù)運(yùn)算符:+ - + - * * / % + - / % + -關(guān)系運(yùn)算符:關(guān)系運(yùn)算符: = != = !=邏輯運(yùn)算符:!邏輯運(yùn)算符:!

16、 & | & |位運(yùn)算符位運(yùn)算符 : | & | &賦值運(yùn)算符:賦值運(yùn)算符:= = 及其擴(kuò)展及其擴(kuò)展條件運(yùn)算符:條件運(yùn)算符:?:?:逗號(hào)運(yùn)算符:逗號(hào)運(yùn)算符:, ,指針運(yùn)算符:指針運(yùn)算符:* * & &求字節(jié)數(shù)求字節(jié)數(shù) :sizeofsizeof強(qiáng)迫類型轉(zhuǎn)換:類型強(qiáng)迫類型轉(zhuǎn)換:類型分量運(yùn)算符:分量運(yùn)算符:. -. -下標(biāo)運(yùn)算符:下標(biāo)運(yùn)算符:其它其它 :( ) -( ) -1. 賦值運(yùn)算符、賦值表達(dá)式 2. 強(qiáng)迫類型轉(zhuǎn)換符 首先將等號(hào)右邊的表達(dá)式的值轉(zhuǎn)換成“=左邊的數(shù)據(jù)類型。然后再賦值給等號(hào)左邊的變量。 2. 強(qiáng)迫類型轉(zhuǎn)換符 2. 強(qiáng)迫類型轉(zhuǎn)換符 2

17、. 強(qiáng)迫類型轉(zhuǎn)換符 根本算術(shù)運(yùn)算符: + - * / % 結(jié)合方向:從左向右 優(yōu)先級: - -* / % - + - (2) (3) (4)闡明: “-可為單目運(yùn)算符時(shí),右結(jié)合性 兩整數(shù)相除,結(jié)果為整數(shù) %要求兩側(cè)均為整型數(shù)據(jù)3. 算術(shù)運(yùn)算符、算術(shù)表達(dá)式 表達(dá)式和算術(shù)表達(dá)式3. 算術(shù)運(yùn)算符、算術(shù)表達(dá)式 運(yùn)算符優(yōu)先級到目前為止 自增、自減運(yùn)算符+ - 作用:使變量值加1或減1 種類: 前置 +i, -i (先執(zhí)行i=i+1或i=i-1,再運(yùn)用i值 后置 i+,i- (先運(yùn)用i值,再執(zhí)行i=i+1或i=i-1b; b; a = 3; b = 5; c = (a+) a = 3; b = 5; c

18、= (a+) * *b; b; /k=4,j=4/k=4,j=4/k=3,j=4/k=3,j=4/4/4/3/3/c=20,a=4/c=20,a=4/c=15,a=4/c=15,a=44. 自增自減運(yùn)算符、負(fù)號(hào)運(yùn)算符 負(fù)號(hào)運(yùn)算符“- 減號(hào)既是一個(gè)算術(shù)運(yùn)算符,又是一個(gè)負(fù)號(hào)運(yùn)算符。負(fù)號(hào)運(yùn)算符是單目運(yùn)算符。例如:a = 2,那么a的值就是2。負(fù)號(hào)運(yùn)算符的優(yōu)先級比較高,與強(qiáng)迫類型轉(zhuǎn)換符是同一個(gè)級別。 自增、自減運(yùn)算符本卷須知 +和-運(yùn)算符只能用于變量,不能用于常量和表達(dá)式。 由于+和-蘊(yùn)含著賦值操作。 例如:5+、-a+b都是非法的表達(dá)式。 負(fù)號(hào)運(yùn)算符、+、-和強(qiáng)迫類型轉(zhuǎn)換運(yùn)算符的優(yōu)先級一樣,當(dāng)這些運(yùn)

19、算符連用時(shí),按照從右向左的順序計(jì)算,即具有右結(jié)合性。 兩個(gè)和之間不能有空格。 在表達(dá)式中,延續(xù)使同一變量進(jìn)展自增或自減運(yùn)算時(shí),很容易出錯(cuò),所以最好防止這種用法。 例如:+i+是非法的。 自增、自減運(yùn)算,常用于循環(huán)語句中,使循環(huán)控制變變量加或減-,以及指針變量中,使指針指向下或上一個(gè)地址。4. 自增自減運(yùn)算符、符號(hào)運(yùn)算符5. 算術(shù)運(yùn)算符中數(shù)據(jù)類型轉(zhuǎn)換規(guī)那么 6. 逗號(hào)運(yùn)算符、逗號(hào)表達(dá)式 /a=15,/a=15,表達(dá)式值表達(dá)式值6060/a=15,/a=15,表達(dá)式值表達(dá)式值2020/賦值表達(dá)式,表達(dá)式值賦值表達(dá)式,表達(dá)式值1818,x=18x=18/逗號(hào)表達(dá)式逗號(hào)表達(dá)式, ,表達(dá)式值表達(dá)式值18,x=318,x=3/1,2,3/1,2,3/3,2,3/3,2,38. sizeof運(yùn)算符、復(fù)合運(yùn)算符 3.5 運(yùn)算符的優(yōu)先級和結(jié)合性優(yōu) 先 級運(yùn) 算 符需要操作數(shù)的個(gè)數(shù)結(jié) 合 性高低( )從左向右 + - -(負(fù)號(hào)運(yùn)算符)

溫馨提示

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

最新文檔

評論

0/150

提交評論