第03章基本數(shù)據(jù)類型運算符與表達式ppt課件_第1頁
第03章基本數(shù)據(jù)類型運算符與表達式ppt課件_第2頁
第03章基本數(shù)據(jù)類型運算符與表達式ppt課件_第3頁
第03章基本數(shù)據(jù)類型運算符與表達式ppt課件_第4頁
第03章基本數(shù)據(jù)類型運算符與表達式ppt課件_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 王占全王占全 華東理工大學信息學院華東理工大學信息學院2 程序是處理某種問題的一組指令的有序集合。 著名計算機科學家沃思Nikiklaus Wirth提出一個公式: 程序 = 數(shù)據(jù)構(gòu)造 + 算法 程序是什么?言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C3掌握變量和常量的概念;掌握變量和常量的概念;了解各種類型的數(shù)據(jù)在內(nèi)存中的存放方式;了解各種類型的數(shù)據(jù)在內(nèi)存中的存放方式;掌握各種類型數(shù)據(jù)的常量的運用方法;掌握各種類型數(shù)據(jù)的常量的運用方法;掌握各種整型、字符型、浮點型變量的定義和援掌握各種整型、字符型、浮點型變量的定義和援用方法;用方法;了解調(diào)用了解調(diào)用printfprintf函數(shù)輸出各種

2、類型數(shù)據(jù)的方法;函數(shù)輸出各種類型數(shù)據(jù)的方法;掌握數(shù)據(jù)類型轉(zhuǎn)換的規(guī)那么以及強迫數(shù)據(jù)類型轉(zhuǎn)掌握數(shù)據(jù)類型轉(zhuǎn)換的規(guī)那么以及強迫數(shù)據(jù)類型轉(zhuǎn)換的方法;換的方法;掌握賦值運算符、算術(shù)運算符、位運算符、逗號掌握賦值運算符、算術(shù)運算符、位運算符、逗號運算符以及運算符以及sizeofsizeof的運用方法;的運用方法;了解運算符的優(yōu)先級和結(jié)合性的概念,記住所學了解運算符的優(yōu)先級和結(jié)合性的概念,記住所學的各種運算符的優(yōu)先級關系和結(jié)合性。的各種運算符的優(yōu)先級關系和結(jié)合性。言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C43.1 C言語數(shù)據(jù)類型言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C53.2 常量、變量和標識符常量

3、、變量和標識符1. 標識符標識符定義:用來標識變量、常量、函數(shù)等的字符序定義:用來標識變量、常量、函數(shù)等的字符序列列組成:組成:只能由字母、數(shù)字、下劃線組成,且第一個字只能由字母、數(shù)字、下劃線組成,且第一個字母必需是字母或下劃線母必需是字母或下劃線C言語的關鍵字不能用作變量名言語的關鍵字不能用作變量名 大小寫敏感大小寫敏感長度:有效長度為長度:有效長度為32個字符。隨系統(tǒng)而異,但個字符。隨系統(tǒng)而異,但至少前至少前8個字符有效個字符有效命名原那么:命名原那么:變量名和函數(shù)名中的英文字母普通用小寫,以變量名和函數(shù)名中的英文字母普通用小寫,以添加可讀性添加可讀性 見名知意見名知意不宜混淆不宜混淆 如

4、如l與與I, o與與0 在TC2.0及BC3.1中,變量名標識符的有效長度為個字符,缺省值為,但在VC中其長度可到達255 例:判別以下標識符號合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123ab .字符非法 #字符非法 char是關鍵字 字符非法言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C63.2 常量、變量和標識符2. 常量定義:程序運轉(zhuǎn)時其值不能改動的量即常數(shù) 常量的分類 :直接常量( 值常量) 整型常量: 10、15、-

5、10、-30 實型常量: 12.5、 30.0、-1.5 字符常量: A、b、c 字符串常量: “sum、“A、“123符號常量 用標識符來代表常量。 其定義格式為: #define #define 符號常量符號常量 常量常量 #define NUM 20 #define PI 3.1415926 行尾不能有分號行尾不能有分號 define define前面一定要有前面一定要有# # 符號常量名最好運用大寫符號常量名最好運用大寫 符號常量名最好有意義符號常量名最好有意義 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C73.2 常量、變量和標識符3. 變量定義:程序運轉(zhuǎn)時其值可以被改動的量 變量

6、的兩要素 :變量名 、變量值變量的定義格式 :變量的初始化:定義時賦初始值變量的運用:先定義,后賦值變量定義位置:普通放在函數(shù)開頭int x, y, z;float radius, length, area; char ch;決議分配字節(jié)數(shù)和數(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-

7、3隨機數(shù)例1: int student; stadent = 19; /Undefined symbol statent in function main void main ( ) int a, b = 2; float data; a = 1; data = (a + b) * 1.2; printf (“data=%fn, data);變量定義可執(zhí)行語句言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C83.3 簡單數(shù)據(jù)類型與表示范圍定義整數(shù)的符號常量定義整數(shù)的符號常量 #define NUM1 20 / #define NUM1 20 /十進制數(shù)十進制數(shù)2020 #define NUM2

8、020 / #define NUM2 020 /八進制數(shù)十進制八進制數(shù)十進制1616 #define NUM3 0 x2a / #define NUM3 0 x2a /十六進制數(shù)十進制十六進制數(shù)十進制4242思索題:以下整型常量哪些是非法的?思索題:以下整型常量哪些是非法的? 012 012,oX7AoX7A,0000,078078,0 x5Ac0 x5Ac,-0 xFFFF-0 xFFFF,00340034,7B7B。首字符不能首字符不能是字母是字母o o 八進制數(shù)中不八進制數(shù)中不能有數(shù)字能有數(shù)字8 8 十進制數(shù)中不十進制數(shù)中不能有字母能有字母B B 言語程序設計教程 第二版第三章 根本數(shù)據(jù)

9、類型C9 假設是正整數(shù),采用符號-絕對值表示,即最高有效位符號位為0表示正,數(shù)的其他部分那么表示數(shù)的絕對值; 假設是負整數(shù),那么先寫出與該負數(shù)相對應的正數(shù)的補碼表示,然后將其按位求反,最后在末位最低位加1; 然后將上述求得的補碼的低n位存放于內(nèi)存單元之中,就得到了該整數(shù)在內(nèi)存中的表示,內(nèi)存單元的最高位是符號位0表示正,1表示負。言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C100000111000000000低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號位符號位言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C11低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址000011100000000

10、00000000000000000符號位符號位言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C121111001011111111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號位符號位言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C13低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址11110010111111111111111111111111符號位符號位言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C141111111111111111低地址低地址高地址高地址低字節(jié)低字節(jié)高字節(jié)高字節(jié)符號位符號位言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C15低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地

11、址11111111111111111111111011111111符號位,符號位,表示負表示負言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C160001110000000000低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號位符號位低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址00011100000000000000000000000000符號位符號位言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C171110010011111111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號位符號位11100100111111111111111111111111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地

12、址高地址高地址符號位符號位言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C181011011010001010低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號位符號位表示負表示負10110110100010100000000000000000低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號位符號位言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C190100101001110101低地址低地址高地址高地址低字節(jié)低字節(jié)高字節(jié)高字節(jié)符號位符號位表示正表示正01001010011101011111111111111111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號位符號位表示負表示負言語程

13、序設計教程 第二版第三章 根本數(shù)據(jù)類型C200100101001110101低地址低地址高地址高地址低字節(jié)低字節(jié)高字節(jié)高字節(jié)符號位符號位表示正表示正01001010011101011111111111111111低字節(jié)低字節(jié)高字節(jié)高字節(jié)低地址低地址高地址高地址符號位符號位表示負表示負言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C21例:例: int a; int x, y, z; int m = 2, y = -3;1111111011111111低地址低地址高地址高地址低字節(jié)低字節(jié)高字節(jié)高字節(jié)言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C221111111011111111低字節(jié)低字節(jié)高字節(jié)

14、高字節(jié)低地址低地址高地址高地址言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C23言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C24言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C25/文件包含文件包含, ,頭文件闡明頭文件闡明 /定義兩個定義兩個intint型變量型變量a a和和b b,b b賦初值賦初值20 20 /定義無符號整型變量定義無符號整型變量c c,并賦初值,并賦初值0 xff 0 xff /定義長整型變量定義長整型變量D D /對a賦值為SUM,這時a的值是65535 /對對D D賦值為賦值為301 301 /以有符號十進制方式以有符號十進制方式%d%d顯示顯示a a的值的值 /以

15、有符號十進制方式以有符號十進制方式“%d“%d顯示顯示b b的值的值 /以有符號十進制方式以有符號十進制方式%d%d顯示顯示c c的值的值 /以有符號十進制方式以有符號十進制方式%d%d顯示顯示D D的值的值 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C/ 1111 1111 1111 1111 1111 1111 1111 1111 定義符號常量定義符號常量SUMSUM26言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C27言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C28 無論是單精度還是雙精度,在內(nèi)存存儲中都分為3個部分: 1) 符號位(Sign):0代表正,1代表為負; 2) 指數(shù)位(

16、Exponent):用于存儲科學計數(shù)法中的指數(shù)數(shù)據(jù),并且采用移位存儲; 3) 尾數(shù)部分(Mantissa):尾數(shù)部分; 其中float的存儲方式如以下圖所示:29類 型精確表示的數(shù)字個數(shù) float 7 8 double 16 17 long double 17 18abc123.456787123.456787123.456789言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C30如 a A ? n 101如 A65, a97, 048 , n10本義字符及其含義:本義字符本義字符含義含義nvradddtbf“xhh本義字符本義字符含義含義換行垂直制表回車響鈴單引號3位8進制數(shù)代表的字符程度制

17、表退格換頁反斜線雙引號2位16進制數(shù)代表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C3132字符串常量 定義:用雙引號(“)括起來的字符序列 存儲:每個字符串尾自動加一個 0 作為字符串終了標志0 x480 x450 x4C0 x4C0 x4F0字符串終了標志字符串終了標志00 x41 0 x41 0例: char ch; ch = “A; 例: char ch; ch = A; 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C33字符型變量字符型變量 字符型數(shù)據(jù)類型符是字符型

18、數(shù)據(jù)類型符是charchar字符字符charactercharacter 在內(nèi)存中占在內(nèi)存中占1 1個字節(jié)個字節(jié)8 8位位 字符變量存放字符字符變量存放字符ASCIIASCII碼碼 char char與與intint數(shù)據(jù)間可進展算術(shù)運算數(shù)據(jù)間可進展算術(shù)運算 存在有符號和無符號之分。默許情況下為有符號存在有符號和無符號之分。默許情況下為有符號 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C34類型符號關鍵字占字節(jié)數(shù)數(shù)的表示范圍整型有(signed)int 在16位系統(tǒng)下2-3276832767 在32位系統(tǒng)下4-21474836482147483647(signed)short2-3276832

19、767(signed)long4-21474836482147483647無unsigned int 在16位系統(tǒng)下2065535 在32位系統(tǒng)下404294967295unsigned short2065535unsigned long404294967295實型有float4絕對值10-371038有double8絕對值10-30710308有l(wèi)ong double10絕對值10-4931104932字符型有char1-128127無unsigned char10255言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C35十進制數(shù)十進制數(shù) 對應的機器數(shù)補碼對應的機器數(shù)補碼 80 0 0 0 0

20、 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 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 0言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C36printfvariable a = %d , a ;言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C37言語程序設

21、計教程 第二版第三章 根本數(shù)據(jù)類型C383.4 C言語的運算符與表達式言語的運算符與表達式 變量用來存放數(shù)據(jù),運算符那么用來處置數(shù)據(jù)。用運算符將變量和常量銜接起來的符合C語法規(guī)那么的式子被稱為表達式。 C運運算算符符算術(shù)運算符:算術(shù)運算符:+ - + - * * / % + - / % + -關系運算符:關系運算符: = != = !=邏輯運算符:!邏輯運算符:! & | & |位運算符位運算符 : | & | &賦值運算符:賦值運算符:= = 及其擴展及其擴展條件運算符:條件運算符:?:?:逗號運算符:逗號運算符:, ,指針運算符:指針運算符:* * &

22、; &求字節(jié)數(shù)求字節(jié)數(shù) :sizeofsizeof強迫類型轉(zhuǎn)換:類型強迫類型轉(zhuǎn)換:類型分量運算符:分量運算符:. -. -下標運算符:下標運算符:其它其它 :( ) -( ) -言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C391. 1. 賦值運算符、賦值表達式賦值運算符、賦值表達式 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C40言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C412. 強迫類型轉(zhuǎn)換符 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C422. 強迫類型轉(zhuǎn)換符 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C432. 強迫類型轉(zhuǎn)換符 言語程序設計教程 第二版第三章 根本數(shù)據(jù)

23、類型C442. 強迫類型轉(zhuǎn)換符 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C45 根本算術(shù)運算符:根本算術(shù)運算符: + - + - * * / % / % 結(jié)合方向:從左向右結(jié)合方向:從左向右 優(yōu)先級:優(yōu)先級: - - - -* * / % - + - / % - + - (2) (3) (4) (2) (3) (4)闡明:闡明: “- “-可為單目運算符時可為單目運算符時, ,右結(jié)合性右結(jié)合性 兩整數(shù)相除,結(jié)果為整數(shù)兩整數(shù)相除,結(jié)果為整數(shù) % %要求兩側(cè)均為整型數(shù)據(jù)要求兩側(cè)均為整型數(shù)據(jù)3. 3. 算術(shù)運算符、算術(shù)表達式算術(shù)運算符、算術(shù)表達式 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C4

24、63. 3. 算術(shù)運算符、算術(shù)表達式算術(shù)運算符、算術(shù)表達式 運算符優(yōu)先級到目前為止運算符優(yōu)先級到目前為止言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C47 自增、自減運算符自增、自減運算符+ -+ - 作用:使變量值加作用:使變量值加1 1或減或減1 1 種類:種類: 前置前置 +i, -i ( +i, -i (先執(zhí)行先執(zhí)行i=i+1i=i+1或或i=i-1i=i-1,再運,再運用用i i值值 后置后置 i+,i- ( i+,i- (先運用先運用i i值值, ,再執(zhí)行再執(zhí)行i=i+1i=i+1或或i=i-1i=i-1 a = 3; b = 5; c = (a+) a = 3; b = 5; c

25、 = (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. 4. 自增自減運算符、符號運算符自增自減運算符、符號運算符 負號運算符負號運算符“-“- 減號既是一個算術(shù)運算符,又是一個減號既是一個算術(shù)運算符,又是一個負號運算符。負號運算符是單目運算符。例如:負號運算符。負號運算符是單目運算符。例如:a = 2a = 2,那么那么a a的值就是的值就是2 2。負號運算符的優(yōu)先級比較高,與。負號運算符的優(yōu)先級比較高,與強迫類型轉(zhuǎn)換符是同一個級別。強迫類型轉(zhuǎn)換符是同一個級

26、別。 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C48 自增、自減運算符本卷須知自增、自減運算符本卷須知 +和和-運算符只能用于變量,不能用于常量和運算符只能用于變量,不能用于常量和表達式。表達式。 由于由于+和和-蘊含著賦值操作。蘊含著賦值操作。 例如:例如:5+5+、-a+ba+b都是非法的表達式。都是非法的表達式。 在表達式中,延續(xù)使同一變量進展自增或自減在表達式中,延續(xù)使同一變量進展自增或自減運算時,很容易出錯,所以最好防止這種用法。運算時,很容易出錯,所以最好防止這種用法。 例如:例如:+i+i+是非法的。是非法的。 自增、自減運算,常用于循環(huán)語句中,使循環(huán)自增、自減運算,常用于循

27、環(huán)語句中,使循環(huán)控制變變量加或減控制變變量加或減- -,以及指針變量中,以及指針變量中,使指針指向下或上一個地址。使指針指向下或上一個地址。4. 4. 自增自減運算符、符號運算符自增自減運算符、符號運算符言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C49言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C5. 算術(shù)運算符中數(shù)據(jù)類型轉(zhuǎn)換規(guī)那么 506. 位運算符、位運算表達式 。 位運算之間的優(yōu)先級 & |言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C517. 7. 逗號運算符、逗號表達式逗號運算符、逗號表達式 /1,2,3/1,2,3/3,2,3/3,2,3言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C528. sizeof運算符、復合運算符 言語程序設計教程 第二版第三章 根本數(shù)據(jù)類型C533.5 運算符的優(yōu)先級和結(jié)合性附錄運算符的優(yōu)先級和結(jié)合性附錄D優(yōu)優(yōu) 先先 級級運運 算算 符符需要操作數(shù)的個數(shù)需要操作數(shù)的個數(shù)結(jié)結(jié) 合合 性性高高低低( )從左向右從左向右

溫馨提示

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

評論

0/150

提交評論