d02C語言的基本數(shù)據(jù)類型與表達(dá)式課件_第1頁
d02C語言的基本數(shù)據(jù)類型與表達(dá)式課件_第2頁
d02C語言的基本數(shù)據(jù)類型與表達(dá)式課件_第3頁
d02C語言的基本數(shù)據(jù)類型與表達(dá)式課件_第4頁
d02C語言的基本數(shù)據(jù)類型與表達(dá)式課件_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、d02C語言的基本數(shù)據(jù)類型與表達(dá)式第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n數(shù)據(jù)為什么要區(qū)分類型?數(shù)據(jù)為什么要區(qū)分類型?n不同類型的數(shù)據(jù)代表不同的不同類型的數(shù)據(jù)代表不同的p數(shù)據(jù)表示形式數(shù)據(jù)表示形式p合法的取值范圍合法的取值范圍p占用內(nèi)存空間大小占用內(nèi)存空間大小p可參與的運算種類可參與的運算種類 第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式字符類型字符類型char整型整型int、long、short基本類型基本類型實型實型單精度型單精度型float浮點型浮點型雙精度型雙精度型double數(shù)據(jù)類型數(shù)據(jù)類型枚舉類型枚舉類型enum數(shù)組類型數(shù)

2、組類型 構(gòu)造類型構(gòu)造類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型struct共用體類型共用體類型union指針類型指針類型*空類型空類型void第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式nintp整數(shù),在目前絕大多數(shù)機(jī)器上占整數(shù),在目前絕大多數(shù)機(jī)器上占4個字節(jié)個字節(jié)pTC中是中是2個字節(jié)個字節(jié)pVC中是中是4個字節(jié)個字節(jié)nfloatp單精度浮點數(shù),一般是單精度浮點數(shù),一般是4個字節(jié)長個字節(jié)長ndoublep雙精度浮點數(shù),一般是雙精度浮點數(shù),一般是8個字節(jié)長個字節(jié)長ncharp字符,一般是字符,一般是1個字節(jié)長個字節(jié)長p用來表示用來表示256個個ASCII字符,或者字符,或者0255的

3、整數(shù)的整數(shù)第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式nshortpshort int,短整數(shù),一般,短整數(shù),一般2個字節(jié)長,通常簡寫為個字節(jié)長,通常簡寫為short。nlongplong int,長整數(shù),一般是,長整數(shù),一般是4個字節(jié)長。通常簡寫為個字節(jié)長。通常簡寫為long。plong double,長雙精度(高精度)浮點數(shù),一般是,長雙精度(高精度)浮點數(shù),一般是10個字節(jié)。個字節(jié)。nsignedp用來修飾用來修飾char、int、short和和long,說明他們是有符號的整數(shù),說明他們是有符號的整數(shù)(正整數(shù)、(正整數(shù)、0和負(fù)整數(shù)),通常情況下該修飾符缺省。和

4、負(fù)整數(shù)),通常情況下該修飾符缺省。nunsignedp用來修飾用來修飾char、int、short和和long,說明他們是無符號的整數(shù),說明他們是無符號的整數(shù)(正整數(shù)和(正整數(shù)和0)。)。第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式nC語言直接提供的任何類型都有取值范圍。當(dāng)向其賦超過此范圍的數(shù)語言直接提供的任何類型都有取值范圍。當(dāng)向其賦超過此范圍的數(shù)值,就會產(chǎn)生數(shù)值溢出,得到一個不正確的結(jié)果。值,就會產(chǎn)生數(shù)值溢出,得到一個不正確的結(jié)果。nTC中中int的范圍是的范圍是-3276832767p如果超出取值范圍,給它一個小于如果超出取值范圍,給它一個小于-32768或者

5、大于或者大于32767的數(shù)的數(shù)會如何呢?現(xiàn)場編程測驗會如何呢?現(xiàn)場編程測驗typeoverflow.c第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式是指在程序運行中,其數(shù)值不能被改變的量是指在程序運行中,其數(shù)值不能被改變的量直接常量直接常量(常數(shù))(常數(shù))數(shù)值常量數(shù)值常量整型常量整型常量實型常量實型常量字符型常量字符型常量字符常量字符常量字符串常量字符串常量符號常量符號常量標(biāo)識符定義標(biāo)識符定義第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式nint型常量:型常量:18、-31(十進(jìn)制)(十進(jìn)制)nlong int型常量:型常量: 123456L

6、、 123456l、123L、123lnunsigned int型常量:型常量:123u、123Un八進(jìn)制常量:八進(jìn)制常量:以數(shù)字以數(shù)字0開頭的整數(shù)開頭的整數(shù)p例如:例如:012=1*81+2*80=10( (十進(jìn)制)十進(jìn)制)n十六進(jìn)制形式:以十六進(jìn)制形式:以0 x開頭的整數(shù)開頭的整數(shù)p例如:例如:0 x12=1*161+2*160=18( (十進(jìn)制)十進(jìn)制)第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n十進(jìn)制小數(shù)形式:十進(jìn)制小數(shù)形式:123.45、456.78n指數(shù)形式:指數(shù)形式:1e-2、4.5e3nfloat型常量:型常量:123.45f、 456.78F、1

7、e-2f、4.5e3Fnlong double型常量:型常量:123.45l、 456.78L、4.5e3Ln缺省為缺省為doublen因為字母因為字母l和數(shù)字和數(shù)字1容易混淆,所以當(dāng)用容易混淆,所以當(dāng)用l做后綴時,常使做后綴時,常使用大寫形式用大寫形式第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n字符常數(shù)的表示方法字符常數(shù)的表示方法pa,A,5,%,$p單引號內(nèi)只能有一個字符,除非用單引號內(nèi)只能有一個字符,除非用”開頭開頭n就是一個普通整數(shù),也可以參與各種數(shù)學(xué)運算就是一個普通整數(shù),也可以參與各種數(shù)學(xué)運算p每個字符具有一個每個字符具有一個0255之間的數(shù)值,可從之間

8、的數(shù)值,可從ASCII表表查出查出p注意注意:5和和5有本質(zhì)的區(qū)別有本質(zhì)的區(qū)別p字符的數(shù)學(xué)運算在密碼學(xué)內(nèi)用得比較多字符的數(shù)學(xué)運算在密碼學(xué)內(nèi)用得比較多n用用”開頭的字符為轉(zhuǎn)義字符開頭的字符為轉(zhuǎn)義字符p例如:例如:”n”,代表,代表1個字符,其含義是換行個字符,其含義是換行第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n一些特殊字符(無法從鍵盤輸入或者另有它用)用轉(zhuǎn)義字一些特殊字符(無法從鍵盤輸入或者另有它用)用轉(zhuǎn)義字符表示。符表示。第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n用雙引號括住的由零個或多個字符組成的字符序列用雙引號括住的由零個或

9、多個字符組成的字符序列pI am a stringp表示空字符串表示空字符串p轉(zhuǎn)義字符也可以在字符串中使用轉(zhuǎn)義字符也可以在字符串中使用p引號只作為字符串開始和結(jié)束的標(biāo)志引號只作為字符串開始和結(jié)束的標(biāo)志pC語言內(nèi)部用語言內(nèi)部用0表示字符串的結(jié)束表示字符串的結(jié)束p除注釋外,是唯一可以出現(xiàn)中文的地方除注釋外,是唯一可以出現(xiàn)中文的地方nx和和x是不同的是不同的n里定義了一系列專門的字符串處理函數(shù)里定義了一系列專門的字符串處理函數(shù)第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n含義:用標(biāo)識符定義一個常量,也叫做宏常量,通常用大含義:用標(biāo)識符定義一個常量,也叫做宏常量,通常用大寫

10、字母表示。寫字母表示。p一旦某個標(biāo)識符被定義成為一個常量后,以后在程序一旦某個標(biāo)識符被定義成為一個常量后,以后在程序處理時,該標(biāo)識符都代表對應(yīng)的常量值。處理時,該標(biāo)識符都代表對應(yīng)的常量值。n定義格式:定義格式:#define 標(biāo)識符標(biāo)識符 常量數(shù)據(jù)常量數(shù)據(jù)#define MAX 1000#define MIX 10#define PI 3.14第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n是指以標(biāo)識符為名字,其值可以改變的量

11、是指以標(biāo)識符為名字,其值可以改變的量n定義形式:定義形式:類型標(biāo)識符類型標(biāo)識符 變量名變量名1, 變量名變量名2, 變量名變量名3; p類型標(biāo)識符:如類型標(biāo)識符:如int、float、char等等p變量名:程序員自行確定,符合標(biāo)識符命名規(guī)則即可,變量名:程序員自行確定,符合標(biāo)識符命名規(guī)則即可,約定做到見名知意約定做到見名知意n習(xí)慣用下劃線和大小寫間隔的方式命名標(biāo)識符習(xí)慣用下劃線和大小寫間隔的方式命名標(biāo)識符nuser_name:Unix風(fēng)格風(fēng)格nUserName:Windows風(fēng)格風(fēng)格p變量定義是語句,分號一定不能缺少變量定義是語句,分號一定不能缺少第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式

12、語言的基本數(shù)據(jù)類型與表達(dá)式nint a,b,c;int a; int b; int c;nfloat m,n;nchar s,t;p在在C語言程序中,變量必須語言程序中,變量必須“先定義,先定義,后使用后使用”。p變量定義主要是指出變量的名字,確定變量定義主要是指出變量的名字,確定變量的數(shù)據(jù)類型。變量的數(shù)據(jù)類型。p在同一個程序段中,變量不能被重復(fù)定在同一個程序段中,變量不能被重復(fù)定義。義。第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n變量定義后只是按照類型分配了所需的存儲空間,但是沒變量定義后只是按照類型分配了所需的存儲空間,但是沒有具體的值。有具體的值。n變量初始

13、化變量初始化:第一次給變量賦值的過程,這個值稱為變量:第一次給變量賦值的過程,這個值稱為變量的初值。的初值。p先定義再賦值先定義再賦值int a;a=2;p定義的同時賦值定義的同時賦值int a=2;第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式int a,b,c;a=b=c=3;可以等價為可以等價為int a=b=c=3;n變量初始化后可以再次賦值(即修改變量的值),但是一變量初始化后可以再次賦值(即修改變量的值),但是一個變量任何時刻只能有一個值。個變量任何時刻只能有一個值。int a=5;/變量變量a初始化賦值為初始化賦值為5a=12;/變量變量a的值賦值為的值

14、賦值為12,即發(fā)生修改,即發(fā)生修改賦值操作是從右向左進(jìn)行的賦值操作是從右向左進(jìn)行的變量定義的同時不能連續(xù)初始化變量定義的同時不能連續(xù)初始化第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式+、-、*、/、%(求余):雙目運算符(求余):雙目運算符n%運算左右兩數(shù)必須為整型數(shù)據(jù)運算左右兩數(shù)必須為整型數(shù)據(jù)p 5%3=_,6.2%3=_n兩個整數(shù)相除,結(jié)果自動取整(向零取整)兩個整數(shù)相除,結(jié)果自動取整(向零取整)p 5/3=_n參加運算的兩個數(shù)中有一個為實數(shù),結(jié)果為參加運算的兩個數(shù)中有一個為實數(shù),結(jié)果為double型型p x為為double型,型,y為為int型,則型,則x+y

15、的類型的為的類型的為_n字符型數(shù)據(jù)可以和數(shù)值型數(shù)據(jù)混合運算字符型數(shù)據(jù)可以和數(shù)值型數(shù)據(jù)混合運算 6+A=_第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n單目運算符,也叫做一元運算符單目運算符,也叫做一元運算符n使變量的值在當(dāng)前基礎(chǔ)上加使變量的值在當(dāng)前基礎(chǔ)上加1/減減1ni+/i-:先使用變量:先使用變量i的值,的值,i值再加值再加1/減減1n+i/-i:i值先加值先加1/減減1,再使用變量,再使用變量i的值的值int x = 3, m, n;m = x+;n = +x;執(zhí)行后執(zhí)行后m、n、x的的值各是多少?值各是多少?(1) +i和和i+,其本質(zhì)都可以使,其本質(zhì)都可以

16、使i值值加加1,-同理。同理。(2) +i和和i+,求值和使用的先后,求值和使用的先后順序,順序,-同理。同理。第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式,=, b & b c):a大于大于b并且并且b大于大于cn或運算或運算|pa | b,只要兩者中有一個為真,結(jié)果就為真只要兩者中有一個為真,結(jié)果就為真p( a b | b c):a大于大于b或者或者b大于大于cn非運算非運算!p!a,如果,如果a是是0,結(jié)果非,結(jié)果非0;如果;如果a是非是非0,結(jié)果是,結(jié)果是0p并不改變并不改變a的

17、值的值第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式邏輯運算的短路特性邏輯運算的短路特性第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n判斷某一年判斷某一年year是否是閏年的條件是滿足下列兩個條件是否是閏年的條件是滿足下列兩個條件之一:之一:p能被能被4整除,但不能被整除,但不能被100整除;整除;p能被能被400整除;整除;n請用請用C語言運算符和表達(dá)式正確描述上述閏年的條件。語言運算符和表達(dá)式正確描述上述閏年的條件。(year % 4 = 0) & (year % 100 != 0) | (year % 400 = 0)第二章第

18、二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n賦值運算符賦值運算符=:將一個數(shù)據(jù)賦給一個變量:將一個數(shù)據(jù)賦給一個變量n賦值表達(dá)式:賦值表達(dá)式: p可以是常量、變量或者表達(dá)式可以是常量、變量或者表達(dá)式int a,b=5,m=7,n=8;a=b;a=m+n;p優(yōu)先級:賦值運算符優(yōu)先級低于算術(shù)運算符、關(guān)系運優(yōu)先級:賦值運算符優(yōu)先級低于算術(shù)運算符、關(guān)系運算符和邏輯運算符算符和邏輯運算符p結(jié)合性:結(jié)合性:右右結(jié)合性結(jié)合性第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n在賦值運算符在賦值運算符“=”之前加上其他運算符,構(gòu)成復(fù)合賦值之前加上其他運算符,構(gòu)成復(fù)合賦

19、值運算符。運算符。n復(fù)合賦值表達(dá)式復(fù)合賦值表達(dá)式 x += 5;x *= y+8;x %= 3;x -= y;x = x + 5;x = x * (y+8);x = x % 3;x = x - y;第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n一般形式:表達(dá)式一般形式:表達(dá)式1, 表達(dá)式表達(dá)式2n求解過程求解過程p先求解表達(dá)式先求解表達(dá)式1的值,再求解表達(dá)式的值,再求解表達(dá)式2的值。的值。p整個逗號表達(dá)式的值是表達(dá)式整個逗號表達(dá)式的值是表達(dá)式2的值。的值。n擴(kuò)展形式:表達(dá)式擴(kuò)展形式:表達(dá)式1, 表達(dá)式表達(dá)式2, , 表達(dá)式表達(dá)式nint x,y=5;x=(y=y+6

20、,y=y/3);則則x的值為的值為_(1) 先計算先計算y=y+6的值,的值,y=5+6,y值值為為11。(2) 再計算再計算y=y/3的值,的值,y=11/3,y值為值為3。所以變量所以變量x的值為的值為3。第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n一般形式:一般形式: ? : n運算順序運算順序p先求解表達(dá)式先求解表達(dá)式1的值。的值。p如果表達(dá)式如果表達(dá)式1的值為真,則求解表達(dá)式的值為真,則求解表達(dá)式2的值并把它的值并把它作為整個表達(dá)式的值。作為整個表達(dá)式的值。p如果表達(dá)式如果表達(dá)式1的值為假,則求解表達(dá)式的值為假,則求解表達(dá)式3的值并把它的值并把它作為整個

21、表達(dá)式的值。作為整個表達(dá)式的值。第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式n今天我要出門辦事,因為需要外出一整天而這段時間又是今天我要出門辦事,因為需要外出一整天而這段時間又是多雨的季節(jié),所以我要考慮是否需要攜帶雨傘。我的判斷多雨的季節(jié),所以我要考慮是否需要攜帶雨傘。我的判斷依據(jù)是出門時天陰帶傘,反之不帶傘。請用條件表達(dá)式描依據(jù)是出門時天陰帶傘,反之不帶傘。請用條件表達(dá)式描述上述判斷原則。述上述判斷原則。n分析:外出時有兩種選擇帶傘或不帶傘,其判別依據(jù)為是分析:外出時有兩種選擇帶傘或不帶傘,其判別依據(jù)為是否天陰。否天陰。n條件表達(dá)式描述如下:條件表達(dá)式描述如下:天陰天陰 ? 帶傘帶傘 : 不帶傘不帶傘第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式已知符號函數(shù)映射關(guān)系如下:已知符號函數(shù)映射關(guān)系如下:請用條件表達(dá)式給變量請用條件表達(dá)式給變量y賦值。賦值。y = (x = 0) ? (x 0) ? 1 : 0) : -1010001xxxy第二章第二章 C C語言的基本數(shù)據(jù)類型與表達(dá)式語言的基本數(shù)據(jù)類型與表達(dá)式y(tǒng) = (x = 0) ? (x 0) ? 1 : 0) : -1表達(dá)式表達(dá)式2:(x 0) ? 1 : 0表達(dá)式表達(dá)

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論