C語言程序設計(十分詳細).ppt
《C語言程序設計(十分詳細).ppt》由會員分享,可在線閱讀,更多相關《C語言程序設計(十分詳細).ppt(46頁珍藏版)》請在裝配圖網上搜索。
C數(shù)據(jù)類型及其運算,C語言程序設計,2,C語言的數(shù)據(jù)類型,C數(shù)據(jù)類型,3,整型數(shù)據(jù),1.整型數(shù)據(jù)的類型基本整型數(shù)據(jù)int,分配2Byte短整型數(shù)據(jù)shortint,分配2Byte長整型數(shù)據(jù)longint,分配4Byte整型數(shù)據(jù)均以二進制補碼形式存儲,問題:為什么要采用補碼?如何表示?,4,計算機中正、負數(shù)的表示,例如:109=(1101101)2要區(qū)別:+109和-109方法是:將符號也數(shù)碼化即:正的符號+用0表示負的符號-用1表示,∴計算機中的數(shù)表示方法是:符號位+二進制數(shù)值(以8bit為例)+109→+1101101→01101101-109→-1101101→11101101,5,2.有符號和無符號整型數(shù)據(jù),有符號的整型數(shù)據(jù)signedint無符號的整型數(shù)據(jù)unsignedint區(qū)別是將最高位看作符號位還是數(shù)據(jù)位,例如:1111111110101000作為有符號數(shù)使用時,最高為符號位為負數(shù),值是:-88作為無符號數(shù)使用時,最高為數(shù)據(jù)位為無符號的數(shù),值是:65448,6,例如:,main(){unsignedintm;m=65448;printf("\nm=%d\n",m);printf("m=%u\n",m);},輸出結果:m=-88m=65448,按有符號數(shù)輸出,按無符號數(shù)輸出,7,整型數(shù)據(jù)的類型及規(guī)定,方括號表示可選項int分配2Byte,long分配4Byte,8,2.1.2實型數(shù)據(jù),1.實型數(shù)據(jù)的類型單精度實型數(shù)據(jù)float,分配4Byte雙精度實型數(shù)據(jù)double,分配8Byte2.實型數(shù)據(jù)的存儲,單精度實型,指數(shù)部分,小數(shù)部分,,,,,小數(shù)的符號位,指數(shù)的符號位,9,實型數(shù)據(jù)的類型及規(guī)定,C標準并未具體規(guī)定各種實型數(shù)據(jù)所占字節(jié)數(shù),也不規(guī)定具體小數(shù)和指數(shù)部分的位數(shù)。一般而言,小數(shù)部分位數(shù)多,數(shù)據(jù)表示的有效數(shù)字多,精度就高;而指數(shù)部分位數(shù)多,則表示的數(shù)據(jù)范圍更大。,有效數(shù)字的意義?,10,字符型數(shù)據(jù),字符型數(shù)據(jù)char,分配1Byte字符型數(shù)據(jù)是指字母、數(shù)字、各種符號等用ASCII值表示的字符例如‘a’是一個char類型數(shù)據(jù),稱作字符常量,存儲:單片機中常用int和char數(shù)據(jù)類型。,01100001,2.1.4空類型,空類型void通常與指針或函數(shù)結合使用,11,常量、變量與標準函數(shù),主要內容:常量變量,12,2.2.1常量,在運行程序的過程中值保持不變的量1.整型常量十進制:0~9八進制:0~7,以0開頭十六進制:0~9,A~F/a~f,以0 x或0X開頭(單片機編程常用16進制),例如:100-80+12301002401000730 x380 x100X100XFF0 x0a,13,1.整型常量,整型常量的類型:根據(jù)值大小默認類型。整型常量后面加l或L,則認為是longint型例如:123L、0L、432l、0 x100l,注意:十六進制常量中可以使用大寫字母A~F,也可以使用小寫字母a~f。八進制常量中不能出現(xiàn)數(shù)字8或9例如:018、0921非法,14,2.實型(浮點型)常量,十進制形式1.01.+12.0-12.00.0指數(shù)形式1e31.8e-3-123E-6-.1E-3,指數(shù)只能是整數(shù),而尾數(shù)則可以是整數(shù)也可以是小數(shù),無論指數(shù)或尾數(shù)均不能省略例如:1e、E.5、E-3非法實型常量的類型:默認為double型,后面加F(或f),則強調表示該數(shù)是float類型例如:3.5f、1e2F,15,3.字符型常量,可視字符常量單引號括起來的單個可視字符例如:a、A、+、3、等轉義字符常量單引號括起來的\與可視字符組合,例如:,16,4.字符串常量,用雙引號括起的一個字符序列例如:"ABC"、"123"、"a"、"\n\t""\nGoodmorning"字符串常量的長度:所包含的字符個數(shù)字符串常量的存儲方式:,所占存儲單元數(shù):串長度+1例如:,字符串結束標記,,,17,5.符號常量,以標識符來代表的常量事先編譯預處理命令define定義編譯時先由系統(tǒng)替換為它所代表的常量,再進行編譯例如:,#defineLEN2.5main(){floata,b;a=2*3.14*LEN;b=3.14*LEN*LEN;printf("a=%f,b=%f\n",a,b);},編譯前系統(tǒng)進行替換,18,5.符號常量,main(){floata,b;a=2*3.14*2.5;b=3.14*2.5*2.5;printf("a=%f,b=%f\n",a,b);},define是編譯預處理命令,必須以“#”開頭,替換為,,,19,變量,1.變量的有關概念在程序運行過程中,其值改變的數(shù)據(jù),稱為變量,變量用標識符表示,稱為變量名。變量必須“先定義后使用”系統(tǒng)為變量分配存儲單元,存儲變量的值。編寫程序時通過變量名來存、取變量值。,例如:有變量a它的值是510,20,變量定義,變量定義的一般格式:數(shù)據(jù)類型說明符變量列表;例如:inti,j;longk,m;floatx,y;charch1,ch2;,,必須使用合法的標識符作變量名不能使用關鍵字為變量命名,21,3.變量的初始化:,允許在說明變量的時候對變量賦初值。例如:inta=5,b=10+2;doublex=23.568,y;charch1=a,ch2=66,ch3=\142;表示定義變量并對變量存儲單元賦值。錯誤的初始化:inta=3+b,b=5;floatm=n=23.16;,22,運算符和表達式,主要內容:算術運算符和算術表達式賦值運算符和賦值表達式關系運算符和關系表達式邏輯運算符和邏輯表達式位運算符和位運算表達式條件運算符和條件表達式逗號運算符和逗號表達式其他運算符及其運算,23,運算符的有關概念,作用:對運算對象完成規(guī)定的操作運算類型:按運算對象分:單目、雙目、三目按功能分:算術、賦值、關系、邏輯條件、逗號、位、其他,24,運算符的優(yōu)先級和結合性,優(yōu)先級指各種運算符號的運算優(yōu)先順序例如:算術運算優(yōu)先于關系運算算術運算中先*/后+-,結合性指運算符號和運算對象的結合方向分為:從左向右(左結合)和從右向左(右結合)例如:算術運算符為左結合a-b+4賦值運算符為右結合a=b=5(C語言規(guī)定見教材),25,運算符,+-*/%++--+-=+=-=*=/=%=a=a+1表達式的值為5,且a=6,b=5,31,說明:,++和--的運算對象只能是變量(或運算結果是變量的表達式),不能是常量(或運算結果是數(shù)值的表達式)。例如:5++、(a+2)++不合法。具有右結合性,結合方向為從右到左。例如:–a++等價于-(a++)如果有多個運算符連續(xù)出現(xiàn)時,C系統(tǒng)盡可能多的從左到右將字符組合成一個運算符例如:i+++j等價于(i++)+j-i+++-j等價于-(i++)+(-j),32,main(){inta=5;printf("%d%d\n",a,a++);},說明(續(xù)):,對函數(shù)參數(shù)的求值順序:TurboC系統(tǒng)先計算最右邊的參數(shù)值,再依次計算左面的參數(shù)值。,【例2.5】有多個函數(shù)參數(shù)且為同一變量自增的運算處理。,輸出結果:65,運行例2.5,33,說明(續(xù)):,【例2.6】有多個函數(shù)參數(shù)且為同一變量多次自增的運算處理。,main(){inta=5;printf("%d%d\n",a,(a++)+(a++));},輸出結果:711,運行例2.6,34,賦值運算,賦值運算符(右結合)=+=-=*=/=%=printf("%d%d\n",a},輸出結果:8102-11,0000000000001010&00000000000010000000000000001000即:a&b的值是8,運行jc2_b,45,HEX文件,IntelHEX由任意數(shù)量的十六進制記錄組成。每個記錄包含5個域,它們按以下格式排列::llaaaatt[dd...]cc每一組字母對應一個不同的域,每一個字母對應一個十六進制編碼的數(shù)字。每一個域由至少兩個十六進制編碼數(shù)字組成,它們構成一個字節(jié),就像以下描述的那樣:,46,HEX文件,:每個IntelHEX記錄都由冒號開頭.ll是數(shù)據(jù)長度域,它代表記錄當中數(shù)據(jù)字節(jié)(dd)的數(shù)量。aaaa是地址域,它代表記錄當中數(shù)據(jù)的起始地址。tt是代表HEX記錄類型的域,它可能是以下數(shù)據(jù)當中的一個:00–數(shù)據(jù)記錄01–文件結束記錄02–擴展段地址記錄04–擴展線性地址記錄dd是數(shù)據(jù)域,它代表一個字節(jié)的數(shù)據(jù)。一個記錄可以有許多數(shù)據(jù)字節(jié).記錄當中數(shù)據(jù)字節(jié)的數(shù)量必須和數(shù)據(jù)長度域(ll)中指定的數(shù)字相符。cc是校驗和域,它表示這個記錄的校驗和。校驗和的計算是通過將記錄當中所有十六進制編碼數(shù)字對的值相加,以256為模進行以下補足。,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 語言程序設計 十分 詳細
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.kudomayuko.com/p-11494824.html