




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第5章章 數(shù)據(jù)類型和表達式數(shù)據(jù)類型和表達式c的數(shù)據(jù)類型的數(shù)據(jù)類型c c數(shù)數(shù)據(jù)據(jù)類類型型指針類型指針類型空類型空類型 voidvoid基本類型基本類型字符類型字符類型 charchar數(shù)值類型數(shù)值類型整整 型型短整型短整型 shortshort長整型長整型 longlong整型整型 intint浮點型浮點型單精度型單精度型floatfloat雙精度型雙精度型doubledouble構造類型構造類型枚舉類型枚舉類型 enumenum數(shù)組數(shù)組結構體結構體 structstruct共用體共用體 unionunion5.1 數(shù)據(jù)的存儲格式數(shù)據(jù)的存儲格式n數(shù)據(jù)在計算機內存中以【數(shù)據(jù)在計算機內存中以【 】
2、形式存儲】形式存儲 a、二進制、二進制b、十六進制、十六進制 c、十進制、十進制d、八進制、八進制n整型數(shù)據(jù)在內存中以【整型數(shù)據(jù)在內存中以【 】存儲】存儲 a、原碼、原碼b、反碼、反碼 c、補碼、補碼d、ascii碼碼符號常量符號常量n符號常量定義:用標識符代表一個常量符號常量定義:用標識符代表一個常量n使用符號常量的優(yōu)點使用符號常量的優(yōu)點 含義清楚含義清楚 一改全改一改全改:符號常量名通常用大寫,變量名用小寫:符號常量名通常用大寫,變量名用小寫5.2基本數(shù)據(jù)類型基本數(shù)據(jù)類型n整型整型n實型實型n字符型字符型5.2.1整型整型n基本類型:基本類型:int類型類型signed intunsign
3、ed intsigned short intunsigned short intsigned long intunsinged long int比特數(shù)比特數(shù)323216163232取值范圍取值范圍-231 (231-1)0 (232-1)-215 (215-1)0 (216-1)-231 (231-1)0 (232-1)1、整型常量表示方式、整型常量表示方式 十進制十進制如:如:12,-123,0 八進制(以八進制(以 開頭)開頭)如:如:012 表示表示10 十六進制(以十六進制(以開頭)開頭)如:如:0 x12 表示表示18 長整型需在數(shù)值后面加上一個字母l或l:123l、0123l。 無
4、符號常量后面加上字母u或u: 123u、0 x123u。 5.2.2 實型數(shù)據(jù)實型數(shù)據(jù)n1、實型數(shù)據(jù)的存儲、實型數(shù)據(jù)的存儲 實型數(shù)據(jù)一般占實型數(shù)據(jù)一般占4個字節(jié)(個字節(jié)(float型)型)舉例:舉例:(3.14159)(3.14159)10 10 =0.110 0100 1000 0111 1110 0111 110 =0.110 0100 1000 0111 1110 0111 110 * *101010100000001001100100 10000111 11100111階符階符 階碼階碼數(shù)符數(shù)符 尾尾 數(shù)數(shù) n2、實型常量表示方式、實型常量表示方式 十進制小數(shù)形式十進制小數(shù)形式.123
5、 123.456 -123. 0.0 指數(shù)形式指數(shù)形式123.4e4 -123e3 .123e-10n3、實型變量、實型變量 說明:說明:ansi c并沒有具體規(guī)定每種類型的長并沒有具體規(guī)定每種類型的長度、精度和數(shù)值范圍。下面是常用的度、精度和數(shù)值范圍。下面是常用的c編譯系編譯系統(tǒng)的情況統(tǒng)的情況floatdouble48-3.4*10-38 3.4*1038-1.7*10-308 1.7*10308 實型數(shù)據(jù)的舍入誤差實型數(shù)據(jù)的舍入誤差從上面的表中可以看出,實型數(shù)據(jù)的有效數(shù)據(jù)是有從上面的表中可以看出,實型數(shù)據(jù)的有效數(shù)據(jù)是有限的,有效數(shù)據(jù)以外的數(shù)字將被舍去。因此會產生限的,有效數(shù)據(jù)以外的數(shù)字將被
6、舍去。因此會產生誤差誤差n4、實型常量的類型、實型常量的類型 系統(tǒng)默認為系統(tǒng)默認為double類型類型 若希望指定為若希望指定為float類型在后面加類型在后面加f或或f2.3f -0.123f 2e-3f5.2.3 字符型數(shù)據(jù)字符型數(shù)據(jù)n1、字符數(shù)據(jù)的存儲、字符數(shù)據(jù)的存儲 一個字節(jié)存儲一個字符數(shù)據(jù)一個字節(jié)存儲一個字符數(shù)據(jù) 字節(jié)中存儲的是字符的字節(jié)中存儲的是字符的ascii碼碼如:字符如:字符a0 1 0 0 0 0 0 1a65n2、字符常量、字符常量 以單撇號括起來的一個字符。如以單撇號括起來的一個字符。如a、c、# 以一個以一個開頭的字符序列。開頭的字符序列。字符形式字符形式 n t b
7、 r含含 義義換行,將當前位置移到下一行開頭換行,將當前位置移到下一行開頭水平制表(跳到下一個水平制表(跳到下一個tab位置)位置)退格,將當前位置移到前一列退格,將當前位置移到前一列回車,將當前位置移到本行開頭回車,將當前位置移到本行開頭asciiascii碼碼109813字符形式字符形式 ddd xhh含含 義義反斜杠字符反斜杠字符單撇號字符單撇號字符雙撇號字符雙撇號字符1到到3位位8進制數(shù)所代表的字符進制數(shù)所代表的字符1到到2位位16進制數(shù)所代表的字符進制數(shù)所代表的字符asciiascii碼碼923934 問題:已知換行的問題:已知換行的ascii碼值為碼值為10,則下列正確,則下列正確
8、表示換行符的方法是表示換行符的方法是:(:(ch是字符型變量是字符型變量)(a)ch=n;(b)ch=10;(c)ch=12;(d)ch=x10;(e)ch=xa;(f)ch=10; (g)ch=10; n字符變量字符變量 一個字符變量只能存放一個字符一個字符變量只能存放一個字符 字符變量的定義形式,如:字符變量的定義形式,如:char c1,c2; 字符變量的使用方式,如:字符變量的使用方式,如:c1=a; c2=b;char c1, c2;c1 = a;c2 = b;0 1 1 0 0 0 0 1ch1970 1 1 0 0 0 1 0ch298問題:若有說明語句:問題:若有說明語句:ch
9、ar c72;則變量;則變量c(a)包含包含1個字符個字符(b)包含包含2個字符個字符(c)包含包含3個字符個字符(d)說明不合法,說明不合法,c的值不確定的值不確定以以括起來的一個字母括起來的一個字母以以開頭的字符序列開頭的字符序列5.3運算符及表達式運算符及表達式nc運算符簡介運算符簡介算術運算符算術運算符關系運算符關系運算符邏輯運算符邏輯運算符位運算符位運算符賦值運算符賦值運算符逗號運算符逗號運算符條件運算符條件運算符+ - + - * * / % + - / % + - = = != = = !=! & |& | | & | &= = 及其擴展(及其擴展(+= -= += -= 等)等
10、),?:?:強制類型轉換強制類型轉換分量運算符分量運算符( (類型)類型). -. -算術運算符算術運算符n基本的算術運算符基本的算術運算符 優(yōu)先級:優(yōu)先級: 結合方向結合方向n功能功能n結果的類型結果的類型說明:說明:%只能進行只能進行的取模運算的取模運算,且且整數(shù)的算術運算結果仍為整數(shù)整數(shù)的算術運算結果仍為整數(shù)如果算術運算中有如果算術運算中有-5%2 = 5%-2 =1%10 =5%1 =5.5%2 = 5/2 = -5/2.0 = 2 -2.5 -1 1 1 0 ( ) 自增、自減運算符自增、自減運算符 + -n作用作用 使使加加1或減或減1n種類種類 前置前置 +i, -ii=i+1或
11、或i=i-1,i值值 后置后置 i+,i- i值值,i=i+1或或i=i-15+(a+b)+ 說明:說明:優(yōu)先級:優(yōu)先級:- + - * / % + - + -結合方向:結合方向: 例例 i=3; printf(“%d”,-i+); 例例 j=2;k=3;printf(“%d”,j+k); -(i+) printf(“%d”,-i); i=i+1; 結果:結果:-3,i=4(j+)+kprintf(“%d”,j+k);j=j+1; /結果結果 5,j=3-5,02,1,11,0,0賦值運算符賦值運算符n簡單賦值運算符簡單賦值運算符 符號:符號:= 格式:格式:=表達式表達式 作用:將一個數(shù)據(jù)(
12、常量或表達式)賦給一個作用:將一個數(shù)據(jù)(常量或表達式)賦給一個變量變量a=3;b=sqrt(a);c=b+2;n復合賦值運算符復合賦值運算符 種類種類 含義含義a+=3 x*=y+8x%=3 a=a+3 x=x* y+8 x=x%3n說明說明: : 優(yōu)先級優(yōu)先級: : 結合方向:結合方向: 左側必須是變量,不能是常量或表達式左側必須是變量,不能是常量或表達式規(guī)則規(guī)則: :使賦值號右邊表達式值使賦值號右邊表達式值轉轉換成其左邊變量的類型換成其左邊變量的類型 賦值表達式的值與變量值相等賦值表達式的值與變量值相等, ,且可嵌套且可嵌套3=x-2*y; a+b=3; a=b=c=5 a=(b=5) a
13、=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)/表達式值表達式值5; a,b,c值為值為5/表達式值表達式值5; b=5,a=5/表達式值表達式值11;c=6,a=11/表達式值表達式值10;a=10,b=4,c=6/表達式值表達式值5; a=5,b=10,c=2逗號運算符逗號運算符n逗號運算符逗號運算符 形式:形式: 優(yōu)先級優(yōu)先級:最低最低 結合性結合性:從左向右從左向右 逗號表達式的值:等于表達式逗號表達式的值:等于表達式n的值的值x=3, y=13, z=4.000000 位運算符位運算符2 00000000 000001015i2 00000000 0101
14、010084i&j 00000000 0001000016ij 00000000 0010110145i|j 00000000 00111101615.4 類型轉換類型轉換n混合運算的規(guī)則混合運算的規(guī)則 不同類型數(shù)據(jù)混合運算,先轉化為同一類型不同類型數(shù)據(jù)混合運算,先轉化為同一類型 轉化規(guī)則轉化規(guī)則float型一律轉化為型一律轉化為double型型char,short型轉化為型轉化為int型型精度低類型轉化為精度高類型精度低類型轉化為精度高類型floatchar,shortdoublelongunsignedintint a=3;float f=5.14;char c=a; 10+c c轉化為轉化為int型型,c的值為的值為97,則結果為,則結果為107 a*f a和和f轉化都為轉化都為double型型,結果為結果為9.420000 10+c+a*f 將將10+c的結果轉化為的結果轉化為double型與型與a*f的結果相加的結果相加 結果為結果為116.4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司代理人授權法定代表人聲明3篇
- 家具招標文件編寫技巧詳解指南3篇
- 合同違約解決律師法律3篇
- 堅守法律底線的責任書3篇
- 代購服務委托書3篇
- 定金合同轉讓接收協(xié)議3篇
- 發(fā)電機組采購招標計劃3篇
- 單位勞動爭議處理委托書范例3篇
- 對講機租借守則3篇
- 建筑工程授權委托書樣本3篇
- 財務機器人開發(fā)與應用實戰(zhàn) 課件 任務5 E-mail人機交互自動化-2
- 【華為】通信行業(yè):華為下一代鐵路移動通信系統(tǒng)白皮書2023
- Python 程序設計智慧樹知到期末考試答案章節(jié)答案2024年四川師范大學
- 03D201-4 10kV及以下變壓器室布置及變配電所常用設備構件安裝
- 城鄉(xiāng)環(huán)衛(wèi)保潔投標方案(技術標)
- 充值合同范本
- MSDS中文版(鋰電池電解液)
- 《職業(yè)病防治法》知識考試題庫160題(含答案)
- 全國初中數(shù)學青年教師優(yōu)質課一等獎《反比例函數(shù)的圖象和性質》教學設計
- 2023-2024學年人教版數(shù)學八年級下冊期中復習卷
- 環(huán)境監(jiān)測儀器安裝施工方案(更新版)
評論
0/150
提交評論