




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)類型和運(yùn)算規(guī)則1第三章 數(shù)據(jù)類型和運(yùn)算規(guī)則 基本數(shù)據(jù)類型與特點(diǎn) 各種數(shù)據(jù)類型表示范圍 常量的表示方法 變量說明語句 運(yùn)算符與基本運(yùn)算規(guī)則本 章 要 點(diǎn)2第三章 數(shù)據(jù)類型和運(yùn)算規(guī)則第一節(jié) 數(shù)據(jù)與數(shù)據(jù)類型第二節(jié) 常量與常量定義第三節(jié) 變量與變量說明第四節(jié) 基本運(yùn)算第五節(jié) 運(yùn)算符的優(yōu)先級與結(jié)合性第六節(jié) 數(shù)據(jù)類型轉(zhuǎn)換33-1 數(shù)據(jù)與數(shù)據(jù)類型數(shù)據(jù) 程序加工處理的對象及其結(jié)果。數(shù)據(jù)類型 按數(shù)據(jù)的性質(zhì)、在計(jì)算機(jī)內(nèi)部的存儲形式(占用的內(nèi)存單元數(shù)量、編碼方式、取值范圍等)、構(gòu)造特點(diǎn)來對數(shù)據(jù)進(jìn)行分類?;靖拍?例:求三數(shù)的平均值main()int a,b,c;int ave;a=10;b=20;c=30;av
2、e=(a+b+c)/3;printf(%d,%d,%dn,a,b,c);printf(ave=%dn,ave);52-1 數(shù)據(jù)與數(shù)據(jù)類型(續(xù))C語言的數(shù)據(jù)類型基本類型整型 int實(shí)型(浮點(diǎn)型)字符型 char單精度 float雙精度 double指針類型派生類型數(shù)組結(jié)構(gòu) struct共用體 union空類型枚舉類型63-2 常量與常量定義常量 在程序運(yùn)行過程中,其值不能被改變的量稱為常量。變量 在程序運(yùn)行過程中,其值可以被改變的量稱為變量。一個(gè)變量有一個(gè)名字,在內(nèi)存中占據(jù)一定的存儲單元;在該存儲單元中存放變量的值。變量名是一個(gè)符號地址,在對程序編譯連接進(jìn)由系統(tǒng)給每個(gè)變量名分配一個(gè)內(nèi)存地址。在程
3、序中從變量中取值,實(shí)際上是通過變量名找到相應(yīng)的內(nèi)存地址,從其存儲單元中讀取數(shù)據(jù)。一、基本概念73-2 常量與常量定義-整型常量實(shí)例整型常量的不同表示方法: 10進(jìn)制: 100 -8 0 +123 8進(jìn)制: 010 024 0100 16進(jìn)制: 0 x38 0 x10 0X10 0XFF 0 xa錯(cuò)誤:091、15a、0 x5fg二、整型常量常量常量:整形、實(shí)型、字符型、字符串常量、符號常量83-2 常量與常量定義-實(shí)型常量實(shí)例實(shí)型常量的不同表示方法: 當(dāng)整數(shù)或小數(shù)部分為0時(shí),可以省略,但小數(shù)點(diǎn)不能省。 10進(jìn)制形式:1.0 1. +12.0 -12.0 0.0 指數(shù)形式:一般形式為:a E n
4、 (a為十進(jìn)制數(shù),n為十進(jìn)制整數(shù)) 指數(shù):1e3 1.8e-3 -123e-6 等價(jià)于:1000 1.8*10-3 -123*10-6 指數(shù):-.1e-3 .1E-10 等價(jià)于:-0.1*10-3 0.1*10-10 以下為不合法浮點(diǎn)數(shù):e5(階碼標(biāo)志e前無數(shù)字)、-5(無階碼標(biāo)志)、 5.0-e3(負(fù)號位置不對)、1.5e(無階碼)三、實(shí)型常量93-2 常量與常量定義-字符常量字符型常量:用單引號括起來的單個(gè)字符 實(shí)例:A g # 0 2 + , ; ( )字符定界符:單引號 字符型數(shù)據(jù)的存儲格式:ASCII碼(見書附錄) 65 103 35 48 50如何表示不可顯示字符?回車/退格/TA
5、B?如何表示定界符? 產(chǎn)生歧異轉(zhuǎn)義符:將后面的字符轉(zhuǎn)換為其它含義三、字符型常量103-2 常量與常量定義-轉(zhuǎn)義符常量字符形式 功能 使用舉例 0 字符串結(jié)束標(biāo)志 n 換行(ASCII碼為10) printf(”n”); t 橫向跳格 printf(”t”); b 退格 r 回車(ASCII碼為13) f 走紙換頁 字符(ASCII碼為92) 表示字符 單引號 表示字符 ” 雙引號 ” 表示字符 ” ddd 用8進(jìn)制表示字符 a=141 A=101 換行符 12 xhh 用16進(jìn)制表示字符 a=x61 A=x41 換行符 xa113-2 常量與常量定義-字符串常量字符串常量:用雙引號括起來的字符
6、序列 實(shí)例:”This is C string.” ”a” ” ” (1個(gè)空格) ” (不含空格) 串定界符:雙引號 ”字符串長度:字符串中包含的字符數(shù)量。串長=17串長=1串長=1串長=0tNameAddressn串長=15空串實(shí)例:C is very easy.串長=17注意: 字符串a(chǎn) 與 字符a 的區(qū)別He saidok.n串長=13123-2 常量與常量定義符號常量符號常量定義形式#define 標(biāo)識符 常量 用定義的一個(gè)標(biāo)識符來代表一個(gè)常量,稱為符號常量 例: #define PI 3.14159# 宏命令專用定義符號define 命令 標(biāo)識符宏替換名(一般采用大寫字符) 注意:符
7、號常量與變量不同,它的值在程序運(yùn)行過程中不能改變,也不能重新賦值。13#define PI 3.14159#define R 2main() float s; s=PI*R*R; printf(“s=%fn”,s);143-3 變量與變量的定義 一、 變量的數(shù)據(jù)類型基本類型整型 int實(shí)型(浮點(diǎn)型)字符型 char單精度 float雙精度 double指針類型派生類型數(shù)組結(jié)構(gòu) struct共用體 union空類型枚舉類型15char型數(shù)的內(nèi)存占用空間:二進(jìn)制 8bit (1Byte)0 0 0 0 0 0 0 00 0 0 0 0 0 1 01 1 1 1 1 1 1 1=0=20=1=255
8、0 0 0 0 0 0 0 1=21=20 0 0 0 0 0 1 1=21+20=33-3 變量與變量的定義-字符型16Main()Int a=35;Printf(“the number is %c”,a);輸出結(jié)果為#171.分類 根據(jù)占用內(nèi)存字節(jié)數(shù)的不同,整型變量又分為類:(1)基本整型(類型關(guān)鍵字為int)。(2)短整型(類型關(guān)鍵字為short int)。(3)長整型(類型關(guān)鍵字為long int)。(4)無符號整型。無符號型又分為無符號基本整型(unsigned int)、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來存儲無符號
9、整數(shù)。3-3 變量與變量的定義-int18占用內(nèi)存字節(jié)數(shù)與值域下表列出ANSI標(biāo)準(zhǔn)定義的整數(shù)類型和有關(guān)數(shù)據(jù)。Turbo C的規(guī)定與之完全一致。 3-3 變量與變量的定義-int19int型數(shù)占用的內(nèi)存空間為:二進(jìn)制 16bit (2Byte)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1=1=3int型整數(shù)的最大值int型表示數(shù)的范圍:- 32768 327671 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1注意:使用中要防止數(shù)據(jù)溢出=-1i
10、nt型整數(shù)的最小值1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0=215-1=32767=-215=-327683-3 變量與變量的定義-int20 二進(jìn)制 7位 二進(jìn)制 23位單精度實(shí)型尾數(shù)階碼尾數(shù)的符號位階碼的符號位3-3 變量與變量的定義-實(shí)型基本數(shù)據(jù)類型的數(shù)據(jù)存儲格式和取值范圍: 類型 占用內(nèi)存單元 取值范圍 數(shù)據(jù)存儲格式 float 4(32位) 3.4*10-383.4*1038 6位有效數(shù)字 double 8(64位) 10-308 10308 15位有效數(shù)字213-3 變量與變量說明變量的說明格式:類型修飾符 類型說明符 變量列表;例如:int i; char
11、ch, str; long k=1, m=0 x12345678; double x, y=1;變量說明意味著確定了:該變量 占用內(nèi)存單元的數(shù)量, 數(shù)據(jù)在內(nèi)存的表示方式, 數(shù)據(jù)的取值范圍。二、變量說明的基本概念main() float s,r; scanf(“%f”,&r); s=3.1415926*r*r; printf(“s=%fn”,s);223-3 變量與變量說明 變量在說明之后,沒有固定的初始值,要先賦值(給定一個(gè)初始值),后使用。變量賦初值 將變量說明與賦初值合一,在說明變量時(shí)同時(shí)完成。實(shí)例char cc = a, dd = n ;int x = 10, y = -10, z; d
12、ouble try = 28.5, w = 1e10;二、變量賦初值232-4 運(yùn)算符一、運(yùn)算符簡介按運(yùn)算類型分類 1. 算術(shù)運(yùn)算符 2. 關(guān)系運(yùn)算符 3. 邏輯運(yùn)算符 4. 位運(yùn)算符 5. 賦值與賦值組合運(yùn)算符 6. 自增自減運(yùn)算符 7. 條件運(yùn)算 8. 指針運(yùn)算 9. 其它運(yùn)算符按運(yùn)算對象的數(shù)目分類 單目運(yùn)算 雙目運(yùn)算 三目運(yùn)算目:進(jìn)行運(yùn)算時(shí)需要的操作數(shù)的數(shù)量242-4 運(yùn)算符-算術(shù)運(yùn)算一、算術(shù)運(yùn)算符運(yùn)算符(雙目運(yùn)算符/單目運(yùn)算符) + 加法運(yùn)算 12 正值運(yùn)算 14 - 減法運(yùn)算 12 負(fù)值運(yùn)算 14 * 乘法運(yùn)算 13 / 除法運(yùn)算 13 % 求余運(yùn)算 13 10%3=1優(yōu)先級:* /
13、 % 同級(高),+ - 同級(低) 例:2+3*4=2+(3*4)=14結(jié)合性:相同優(yōu)先級運(yùn)算符進(jìn)行運(yùn)算時(shí)的次序 自左向右(標(biāo)記為 )252-4 運(yùn)算符-算術(shù)運(yùn)算實(shí)例1.參加運(yùn)算的對象都是int型,結(jié)果截取為int型 10/311/310.0/3 11/3.01/21.0/210/5*310/(5*3)2.求余運(yùn)算的對象必須是整型 9%31%310%310%-3-10%3-10%-3= 3= 3= 3.333333= 3.666667= 0= 0.5= 6= 0= 0= 1= 1= 1= -1= -1注意:運(yùn)算對象的數(shù)據(jù)類型對運(yùn)算結(jié)果的影響 a+b如何表示數(shù)學(xué)表達(dá)式 - c+d (a+b)/
14、(c+d)262-4 運(yùn)算符-關(guān)系運(yùn)算二、關(guān)系運(yùn)算符運(yùn)算符(雙目運(yùn)算符 ) 大于 10= 大于等于 10 小于 10 = 5 的值是 1,57 的值是 0。 已知:int a=13, b=2, c=1;abab)=cab=ca-b=c成立, 結(jié)果為 1不成立,結(jié)果為 0成立, 結(jié)果為 1不成立,結(jié)果為 0結(jié)果為 1與上面等價(jià),結(jié)果為 1等價(jià)于(a-b)=1,結(jié)果為 0? 如何判斷數(shù)學(xué)中的邏輯關(guān)系:0a9? 0=a=9等價(jià)于(0=a)=9結(jié)果恒為1282-4 運(yùn)算符-邏輯運(yùn)算三、邏輯運(yùn)算符運(yùn)算符 & 邏輯與(雙目) 5 () 邏輯或(雙目) 4 () ! 邏輯非(單目) 14 ()邏輯運(yùn)算真值表
15、a b !a !b a&b a|b1 1 0 0 1 11 0 0 1 0 10 1 1 0 0 10 0 1 1 0 0邏輯運(yùn)算關(guān)系292-4 運(yùn)算符-邏輯運(yùn)算式2 ( y b ) & ( y a ) 1 結(jié)果2 結(jié)果例:要判斷 0 x 9 是否成立: ( 0 = x ) & ( x = 9 ) 如果沒有括號:0 = x & x 按位右移(雙目) 11 () 按位左移(雙目) 11 () & 按位與 (雙目) 8 () 按位異或(雙目) 7 () 按位或 (雙目) 6 () 按位反 (單目) 14 ()真值表a b ab a b0 0 0 1 10 1 1 1 01 0 1 0 11 1 0
16、 0 031實(shí)例:已知:int x=7,y=10,z=1; 設(shè)字長為8位 x&y = x&z = x y = y z = x y = x = x = x2 = x2 = 2 (0000 0111 & 0000 1010 = 0010) 1 (0000 0111 & 0000 0001 = 0001) 15 (0000 0111 0000 1010 = 1111) 11 (0000 1010 0000 0001 = 1011) 13 (0000 0111 0000 1010 = 1101) 8 ( 0000 0111 ) = 1111 1000 7 28 (0000 0111 2 = 0000
17、0010) 1 (0000 0111 2 = 0000 0001)2-4 運(yùn)算符-位運(yùn)算32說明 關(guān)于:右移一位 = 縮小 1/2 關(guān)于:左移一位 = 擴(kuò)大 2 倍 關(guān)于: 因?yàn)椋?x = 按位求反 = 求反運(yùn)算 求負(fù) = 求補(bǔ) = 求反 + 1 所以:求反 = 求負(fù) 1 x = -x -1 7 = 8 (8) = 7注意: 1.位運(yùn)算是對二進(jìn)制的位進(jìn)行運(yùn)算 2.只能對int型、char型和long型進(jìn)行位運(yùn)算2-4 運(yùn)算符-位運(yùn)算332-4 運(yùn)算符-自增自減運(yùn)算五、自增自減運(yùn)算符運(yùn)算符(單目 ) + 自增 14 自減 14+和 為單目運(yùn)算,只能作用于變量只能對int、char、long和指針
18、變量進(jìn)行運(yùn)算功能:+x x=x+1 x x=x1 (前綴) x+ x=x+1 x x=x1 (后綴)342-4 運(yùn)算符-自增自減運(yùn)算自增(自減)有前綴和后綴之分。 前綴形式: 先自增(自減)再引用 后綴形式: 先引用再自增(自減)前綴與后綴的區(qū)別: y=+x; x=x+1; y=x; x先加1再賦值 y=x+; y=x; x=x+1; x先賦值再加1352-4 運(yùn)算符-自增自減運(yùn)算實(shí)例實(shí)例(1) +i; i+; 因?yàn)樵诒磉_(dá)式中沒有其它運(yùn)算,結(jié)果一樣。(2) x=1; y=+x; 結(jié)果: x=2,y=2 y=+x; x=x+1; y=x; 在做賦值運(yùn)算之前,x先加1,然后將x賦給y(3) x=1
19、; y=x+; 結(jié)果: x=2,y=1 y=x+; y=x; x=x+1; 先將 x 賦值給 y ,然后 x 再加1362-4 運(yùn)算符-自增自減運(yùn)算實(shí)例實(shí)例(4) main()int i=8;printf(%dn,+i);printf(%dn,-i);printf(%dn,i+);printf(%dn,i-);372-4 運(yùn)算符-賦值與賦值組合運(yùn)算六、賦值與復(fù)合賦值運(yùn)算符運(yùn)算符(雙目 自右向左結(jié)合) 賦值運(yùn)算: = (不是等號) 2 例:a=b+c a=b=c=2+3凡是表達(dá)式可以出現(xiàn)的地方都可以出現(xiàn)賦值號 例:x=(a=1)+(b=2) 賦值表達(dá)式加上;即為賦值語句 注意變量賦值語句與變量說
20、明語句的區(qū)別 變量說明語句中賦初值的變量與其它變量之間用逗號分隔,而賦值語句必須以分號結(jié)尾。 例:int a=2,b=3,c; a=2;b=5; 在變量說明中,不允許給多個(gè)連續(xù)的變量賦初值 例: int a=b=c=4;把變量b和變量c的值取出來相加后送到變量a中a=(b=(c=(2+3)382-4 運(yùn)算符-賦值與賦值組合運(yùn)算六、賦值與復(fù)合賦值運(yùn)算符運(yùn)算符(雙目 ) 復(fù)合賦值運(yùn)算:e1 op= e2 2 等于:e1 = e1 op (e2)其中:op為下列10個(gè)運(yùn)算符之一+ * / % | & e1為可以進(jìn)行賦制操作的變量e2為合法的表達(dá)式例:x += 2; x = x + 2; x *= y
21、+1; x = x * ( y+1); 不等價(jià) x = x * y+1; x = 2; x = x 2;392-4 運(yùn)算符-條件運(yùn)算七、條件運(yùn)算符運(yùn)算符(三目 )e1 ? e2 : e3功能:如果表達(dá)式e1成立(e1值為非0),則執(zhí)行表達(dá)式e2;否則(表達(dá)式e1不成立),執(zhí)行表達(dá)式e3例:max = (ab) ? a : b; 求變量a與b的最大值 min = (a 通過指針取結(jié)構(gòu)/聯(lián)合的成員 15 ( ) 改變表達(dá)式中的優(yōu)先級關(guān)系 15 數(shù)組下標(biāo) 15 , 逗號,表達(dá)式從左向右順序計(jì)算 1 (type) e 將e的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為type 14 sizeof (opr) 求opr所占用的內(nèi)存的字節(jié)數(shù) 14結(jié)構(gòu)數(shù)組422-4 運(yùn)算符-其它運(yùn)算實(shí)例實(shí)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)業(yè)園區(qū)入駐合同協(xié)議
- 關(guān)于推進(jìn)跨部門合作項(xiàng)目的工作計(jì)劃
- 關(guān)于采購流程的往來文書說明
- 商務(wù)會議溝通要點(diǎn)及會議紀(jì)要模板
- 健康管理平臺的構(gòu)建及運(yùn)營規(guī)劃
- 機(jī)器人智能化生產(chǎn)線建設(shè)委托代理合同
- 交通物流調(diào)度管理系統(tǒng)建設(shè)方案
- 房屋預(yù)約買賣合同
- 木材原木購銷合同
- 2025年版《認(rèn)識大熊貓》課件發(fā)布
- 中國計(jì)量大學(xué)《微機(jī)原理及其應(yīng)用》2021-2022學(xué)年第一學(xué)期期末試卷
- 中國技能大賽-第45屆世界技能大賽全國選拔賽“水處理技術(shù)”項(xiàng)目技術(shù)工作文件
- 混凝土工安全教育培訓(xùn)試題及答案
- 臨床家庭化產(chǎn)房開展經(jīng)驗(yàn)分享
- 安徽省六安市裕安區(qū)六安市獨(dú)山中學(xué)2024-2025學(xué)年高一上學(xué)期11月期中生物試題(含答案)
- 低血糖的護(hù)理查房
- GB/T 44718-2024城市軌道交通無障礙運(yùn)營服務(wù)規(guī)范
- DB41T 2567-2023 消防技術(shù)服務(wù)機(jī)構(gòu)服務(wù)規(guī)范
- 2024年職工普法教育宣講培訓(xùn)課件
- 音樂鑒賞與實(shí)踐 第一單元第四課音樂的力量(下)
- 《外科護(hù)理學(xué)(第七版)》考試復(fù)習(xí)題庫-上(單選題)
評論
0/150
提交評論