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

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)類(lèi)型(Data Type)數(shù)據(jù)為什么要區(qū)分類(lèi)型?不同類(lèi)型的數(shù)據(jù)代表不同的數(shù)據(jù)表示形式合法的取值范圍占用內(nèi)存空間大小可參與的運(yùn)算種類(lèi) 第1頁(yè),共37頁(yè)。數(shù)據(jù)類(lèi)型(Data Type)字符類(lèi)型char整型int、long、short基本類(lèi)型實(shí)型單精度型float浮點(diǎn)型雙精度型double數(shù)據(jù)類(lèi)型枚舉類(lèi)型enum數(shù)組類(lèi)型 構(gòu)造類(lèi)型結(jié)構(gòu)體類(lèi)型struct共用體類(lèi)型union指針類(lèi)型*空類(lèi)型void第2頁(yè),共37頁(yè)。基本數(shù)據(jù)類(lèi)型int整數(shù),在目前絕大多數(shù)機(jī)器上占4個(gè)字節(jié)TC中是2個(gè)字節(jié)VC中是4個(gè)字節(jié)float單精度浮點(diǎn)數(shù),一般是4個(gè)字節(jié)長(zhǎng)double雙精度浮點(diǎn)數(shù),一般是8個(gè)字節(jié)長(zhǎng)char字符,一般

2、是1個(gè)字節(jié)長(zhǎng)用來(lái)表示256個(gè)ASCII字符,或者0255的整數(shù)第3頁(yè),共37頁(yè)?;緮?shù)據(jù)類(lèi)型shortshort int,短整數(shù),一般2個(gè)字節(jié)長(zhǎng),通常簡(jiǎn)寫(xiě)為short。longlong int,長(zhǎng)整數(shù),一般是4個(gè)字節(jié)長(zhǎng)。通常簡(jiǎn)寫(xiě)為long。long double,長(zhǎng)雙精度(高精度)浮點(diǎn)數(shù),一般是10個(gè)字節(jié)。signed用來(lái)修飾char、int、short和long,說(shuō)明他們是有符號(hào)的整數(shù)(正整數(shù)、0和負(fù)整數(shù)),通常情況下該修飾符缺省。unsigned用來(lái)修飾char、int、short和long,說(shuō)明他們是無(wú)符號(hào)的整數(shù)(正整數(shù)和0)。第4頁(yè),共37頁(yè)。何謂類(lèi)型溢出(Overflow)C語(yǔ)言直接

3、提供的任何類(lèi)型都有取值范圍。當(dāng)向其賦超過(guò)此范圍的數(shù)值,就會(huì)產(chǎn)生數(shù)值溢出,得到一個(gè)不正確的結(jié)果。TC中int的范圍是-3276832767如果超出取值范圍,給它一個(gè)小于-32768或者大于32767的數(shù)會(huì)如何呢?現(xiàn)場(chǎng)編程測(cè)驗(yàn)小蛇能吞下大象嗎?typeoverflow.c第5頁(yè),共37頁(yè)。常量是指在程序運(yùn)行中,其數(shù)值不能被改變的量直接常量(常數(shù))數(shù)值常量整型常量實(shí)型常量字符型常量字符常量字符串常量符號(hào)常量標(biāo)識(shí)符定義第6頁(yè),共37頁(yè)。整型常數(shù)int型常量:18、-31(十進(jìn)制)long int型常量: 123456L、 123456l、123L、123lunsigned int型常量:123u、12

4、3U八進(jìn)制常量:以數(shù)字0開(kāi)頭的整數(shù)例如:012=1*81+2*80=10(十進(jìn)制)十六進(jìn)制形式:以0 x開(kāi)頭的整數(shù)例如:0 x12=1*161+2*160=18(十進(jìn)制)第7頁(yè),共37頁(yè)。實(shí)型常數(shù)十進(jìn)制小數(shù)形式:123.45、456.78指數(shù)形式:1e-2、4.5e3float型常量:123.45f、 456.78F、1e-2f、4.5e3Flong double型常量:123.45l、 456.78L、4.5e3L缺省為double因?yàn)樽帜竘和數(shù)字1容易混淆,所以當(dāng)用l做后綴時(shí),常使用大寫(xiě)形式第8頁(yè),共37頁(yè)。字符常數(shù)字符常數(shù)的表示方法a,A,5,%,$單引號(hào)內(nèi)只能有一個(gè)字符,除非用”開(kāi)頭就

5、是一個(gè)普通整數(shù),也可以參與各種數(shù)學(xué)運(yùn)算每個(gè)字符具有一個(gè)0255之間的數(shù)值,可從ASCII表查出注意:5和5有本質(zhì)的區(qū)別字符的數(shù)學(xué)運(yùn)算在密碼學(xué)內(nèi)用得比較多用”開(kāi)頭的字符為轉(zhuǎn)義字符例如:”n”,代表1個(gè)字符,其含義是換行第9頁(yè),共37頁(yè)。轉(zhuǎn)義字符一些特殊字符(無(wú)法從鍵盤(pán)輸入或者另有它用)用轉(zhuǎn)義字符表示。第10頁(yè),共37頁(yè)。字符串String常數(shù)用雙引號(hào)括住的由零個(gè)或多個(gè)字符組成的字符序列I am a string表示空字符串轉(zhuǎn)義字符也可以在字符串中使用引號(hào)只作為字符串開(kāi)始和結(jié)束的標(biāo)志C語(yǔ)言?xún)?nèi)部用0表示字符串的結(jié)束除注釋外,是唯一可以出現(xiàn)中文的地方x和x是不同的里定義了一系列專(zhuān)門(mén)的字符串處理函數(shù)第1

6、1頁(yè),共37頁(yè)。符號(hào)常量含義:用標(biāo)識(shí)符定義一個(gè)常量,也叫做宏常量,通常用大寫(xiě)字母表示。一旦某個(gè)標(biāo)識(shí)符被定義成為一個(gè)常量后,以后在程序處理時(shí),該標(biāo)識(shí)符都代表對(duì)應(yīng)的常量值。定義格式:#define 標(biāo)識(shí)符 常量數(shù)據(jù)#define MAX 1000#define MIX 10#define PI 3.14第12頁(yè),共37頁(yè)。計(jì)算圓的周長(zhǎng)和面積prg2-2.c#include void main()printf(“circumference = %fn”, 2*3.14*3.5);printf(“area = %fn”, 3.14*3.5*3.5);第13頁(yè),共37頁(yè)。計(jì)算圓的周長(zhǎng)和面積prg2-2.

7、c#include #define PI 3.14#define R 3.5void main()printf(“circumference = %fn”, 2*PI*R);printf(“area = %fn”, PI*R*R);第14頁(yè),共37頁(yè)。變量是指以標(biāo)識(shí)符為名字,其值可以改變的量定義形式:類(lèi)型標(biāo)識(shí)符 變量名1, 變量名2, 變量名3; 類(lèi)型標(biāo)識(shí)符:如int、float、char等變量名:程序員自行確定,符合標(biāo)識(shí)符命名規(guī)則即可,約定做到見(jiàn)名知意習(xí)慣用下劃線(xiàn)和大小寫(xiě)間隔的方式命名標(biāo)識(shí)符user_name:Unix風(fēng)格UserName:Windows風(fēng)格變量定義是語(yǔ)句,分號(hào)一定不能缺少第

8、15頁(yè),共37頁(yè)。變量定義int a,b,c;int a; int b; int c;float m,n;char s,t;在C語(yǔ)言程序中,變量必須“先定義,后使用”。變量定義主要是指出變量的名字,確定變量的數(shù)據(jù)類(lèi)型。在同一個(gè)程序段中,變量不能被重復(fù)定義。注意!第16頁(yè),共37頁(yè)。變量賦值變量定義后只是按照類(lèi)型分配了所需的存儲(chǔ)空間,但是沒(méi)有具體的值。變量初始化:第一次給變量賦值的過(guò)程,這個(gè)值稱(chēng)為變量的初值。先定義再賦值int a;a=2;定義的同時(shí)賦值int a=2;第17頁(yè),共37頁(yè)。變量賦值int a,b,c;a=b=c=3;可以等價(jià)為int a=b=c=3;變量初始化后可以再次賦值(即修

9、改變量的值),但是一個(gè)變量任何時(shí)刻只能有一個(gè)值。int a=5;/變量a初始化賦值為5a=12;/變量a的值賦值為12,即發(fā)生修改賦值操作是從右向左進(jìn)行的變量定義的同時(shí)不能連續(xù)初始化注意!第18頁(yè),共37頁(yè)。算術(shù)運(yùn)算符+、-、*、/、%(求余):雙目運(yùn)算符%運(yùn)算左右兩數(shù)必須為整型數(shù)據(jù)5%3=_,6.2%3=_兩個(gè)整數(shù)相除,結(jié)果自動(dòng)取整(向零取整)5/3=_參加運(yùn)算的兩個(gè)數(shù)中有一個(gè)為實(shí)數(shù),結(jié)果為double型x為double型,y為int型,則x+y的類(lèi)型的為_(kāi)字符型數(shù)據(jù)可以和數(shù)值型數(shù)據(jù)混合運(yùn)算6+A=_第19頁(yè),共37頁(yè)。*自增、自減運(yùn)算符單目運(yùn)算符,也叫做一元運(yùn)算符使變量的值在當(dāng)前基礎(chǔ)上加1

10、/減1i+/i-:先使用變量i的值,i值再加1/減1+i/-i:i值先加1/減1,再使用變量i的值int x = 3, m, n;m = x+;n = +x;執(zhí)行后m、n、x的值各是多少?(1) +i和i+,其本質(zhì)都可以使i值加1,-同理。(2) +i和i+,求值和使用的先后順序,-同理。注意!第20頁(yè),共37頁(yè)。*自增、自減運(yùn)算符m = x+;m = x;x = x + 1;n = +x;x = x + 1;n = x;第21頁(yè),共37頁(yè)。關(guān)系運(yùn)算符,=, b & b c):a大于b并且b大于c或運(yùn)算|a | b,只要兩者中有一個(gè)為真,結(jié)果就為真( a b | b c):a大于b或者b大于c

11、非運(yùn)算!a,如果a是0,結(jié)果非0;如果a是非0,結(jié)果是0并不改變a的值第23頁(yè),共37頁(yè)。邏輯運(yùn)算符prg2-3.c#include void main()int a = 10, b = 20, c = 30, d;d = +a = 20 | c+;printf(a = %d, b = %d, c = %d, d = %dn,a,b,c,d);注意!邏輯運(yùn)算的短路特性第24頁(yè),共37頁(yè)。實(shí)例判斷某一年year是否是閏年的條件是滿(mǎn)足下列兩個(gè)條件之一:能被4整除,但不能被100整除;能被400整除;請(qǐng)用C語(yǔ)言運(yùn)算符和表達(dá)式正確描述上述閏年的條件。(year % 4 = 0) & (year % 1

12、00 != 0) | (year % 400 = 0)第25頁(yè),共37頁(yè)。賦值運(yùn)算符賦值運(yùn)算符=:將一個(gè)數(shù)據(jù)賦給一個(gè)變量賦值表達(dá)式: 可以是常量、變量或者表達(dá)式int a,b=5,m=7,n=8;a=b;a=m+n;優(yōu)先級(jí):賦值運(yùn)算符優(yōu)先級(jí)低于算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符結(jié)合性:右結(jié)合性第26頁(yè),共37頁(yè)。復(fù)合賦值運(yùn)算符在賦值運(yùn)算符“=”之前加上其他運(yùn)算符,構(gòu)成復(fù)合賦值運(yùn)算符。復(fù)合賦值表達(dá)式 x += 5;x *= y+8;x %= 3;x -= y;x = x + 5;x = x * (y+8);x = x % 3;x = x - y;第27頁(yè),共37頁(yè)。逗號(hào)運(yùn)算符一般形式:表達(dá)式1,

13、 表達(dá)式2求解過(guò)程先求解表達(dá)式1的值,再求解表達(dá)式2的值。整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式2的值。擴(kuò)展形式:表達(dá)式1, 表達(dá)式2, , 表達(dá)式nint x,y=5;x=(y=y+6,y=y/3);則x的值為_(kāi)(1) 先計(jì)算y=y+6的值,y=5+6,y值為11。(2) 再計(jì)算y=y/3的值,y=11/3,y值為3。所以變量x的值為3。第28頁(yè),共37頁(yè)。條件運(yùn)算符一般形式: ? : 運(yùn)算順序先求解表達(dá)式1的值。如果表達(dá)式1的值為真,則求解表達(dá)式2的值并把它作為整個(gè)表達(dá)式的值。如果表達(dá)式1的值為假,則求解表達(dá)式3的值并把它作為整個(gè)表達(dá)式的值。第29頁(yè),共37頁(yè)。實(shí)例1今天我要出門(mén)辦事,因?yàn)樾枰獬鲆徽?/p>

14、天而這段時(shí)間又是多雨的季節(jié),所以我要考慮是否需要攜帶雨傘。我的判斷依據(jù)是出門(mén)時(shí)天陰帶傘,反之不帶傘。請(qǐng)用條件表達(dá)式描述上述判斷原則。分析:外出時(shí)有兩種選擇帶傘或不帶傘,其判別依據(jù)為是否天陰。條件表達(dá)式描述如下:天陰 ? 帶傘 : 不帶傘第30頁(yè),共37頁(yè)。實(shí)例2已知符號(hào)函數(shù)映射關(guān)系如下:請(qǐng)用條件表達(dá)式給變量y賦值。y = (x = 0) ? (x 0) ? 1 : 0) : -1第31頁(yè),共37頁(yè)。實(shí)例2y = (x = 0) ? (x 0) ? 1 : 0) : -1表達(dá)式2:(x 0) ? 1 : 0表達(dá)式1表達(dá)式2表達(dá)式3表達(dá)式1表達(dá)式2表達(dá)式3第32頁(yè),共37頁(yè)。求字節(jié)運(yùn)算符一般形式s

15、izeof(變量名):返回變量的字節(jié)長(zhǎng)度sizeof(類(lèi)型名):返回類(lèi)型的字節(jié)長(zhǎng)度求出的結(jié)果為變量或者類(lèi)型占用的字節(jié)數(shù)。為什么要用sizeof獲得類(lèi)型或變量的字長(zhǎng)?第33頁(yè),共37頁(yè)。求字節(jié)運(yùn)算符prg2-4.c#include void main()printf(Data type Number of bytesn);printf(- -n);printf(char%dn, sizeof(char);printf(int%dn, sizeof(int);printf(short int%dn, sizeof(short);printf(long int%dn, sizeof(long);printf(float%dn, sizeof(float);printf(double%dn, sizeof(double);VC編譯器TC編譯器第34頁(yè),共37頁(yè)。運(yùn)算符的優(yōu)先級(jí)( ) - .! + - + - * & (類(lèi)型) sizeof* / %+ - = !=&|&|? := += -= *= /= %= &= = |= =,第35頁(yè),共37頁(yè)。自動(dòng)類(lèi)型轉(zhuǎn)換同種數(shù)據(jù)類(lèi)型的運(yùn)算結(jié)果,還是該類(lèi)型不同種數(shù)據(jù)類(lèi)型的運(yùn)算結(jié)果,是兩種類(lèi)型中取值范圍更大的那種doubl

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論