02.數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第1頁
02.數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第2頁
02.數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第3頁
02.數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第4頁
02.數(shù)據(jù)類型、運(yùn)算符與表達(dá)式_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余36頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式東軟IT實(shí)訓(xùn)中心Copyright 2009-2010 By Neusoft Group.s課程結(jié)構(gòu)2內(nèi)容(H)2.1 程序設(shè)計(jì)概述2.2 C語言的數(shù)據(jù)類型2.3 常量和變量2.4 整型數(shù)據(jù)2.5 實(shí)型數(shù)據(jù)2.6 字符型數(shù)據(jù)2.7 算術(shù)運(yùn)算與算術(shù)表達(dá)式2.8賦值運(yùn)算與賦值表達(dá)式第二章:目標(biāo):本章旨在向?qū)W員介紹:1)2)時(shí)間:學(xué)時(shí)教學(xué)方法:32.1程序設(shè)計(jì)概述一個(gè)程序應(yīng)包括對(duì)數(shù)據(jù)的描述和對(duì)數(shù)據(jù)處理的描述。1對(duì)數(shù)據(jù)的描述,即數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)學(xué)科的課程之一,有許多專門著作論述,本課程就不再贅述。在C語言中,系統(tǒng)提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類型的形式出現(xiàn)的。2對(duì)數(shù)據(jù)

2、處理的描述,即計(jì)算機(jī)算法。算法是為解決一個(gè)問題而采取的方法和步驟,是程序的。為此,著名計(jì)算(Nikiklaus Wirth)提出一個(gè)公式:數(shù)據(jù)結(jié)構(gòu) + 算法 = 程序?qū)嶋H上,一個(gè)程序除了數(shù)據(jù)結(jié)構(gòu)和算法外,還必須使用一種計(jì)算機(jī)語言,并采用結(jié)構(gòu)化方法來表示。機(jī)科學(xué)家42.2C語言的數(shù)據(jù)類型C語言提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類型形式出現(xiàn)的。具體分類如下:1.基本類型分為整型、實(shí)型(又稱浮點(diǎn)型)、字符型和枚舉型四種。2.構(gòu)造類型分為數(shù)組類型、結(jié)構(gòu)類型和共用類型三種。3.指針類型。在第9章中介紹。4.空類型C語言中的數(shù)據(jù),有常量和變量之分,它們分別屬于上述這些類型。本章將介紹整型、實(shí)型和字符型三種數(shù)據(jù)。52

3、.32.3.1常量和變量常量1.常量的概念在程序運(yùn)行過程中,其值不能被改變的量稱為常量。2.常量的分類(1)整型常量(2)實(shí)型常量(3)字符常量。(4)符號(hào)常量。常量的類型,可通過書寫形式來判別。62.32.3.2常量和變量(續(xù))變量1.變量的概念在程序運(yùn)行過程中,其值可以被改變的量稱為變量。2.變量的兩個(gè)要素(1)變量名。每個(gè)變量都必須有一個(gè)名字變量名,變量命名遵循標(biāo)識(shí)符命名規(guī)則。 (2)變量值。在程序運(yùn)行過程中,變量值在內(nèi)存中。在程序中,通過變量名來變量的值。72.3常量和變量(續(xù)).標(biāo)識(shí)符命名規(guī)則(1)有效字符:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開頭。(2)有效長(zhǎng)度:隨系統(tǒng)而

4、異,但至少前個(gè)字符有效。如果超長(zhǎng),則超長(zhǎng)部分被舍棄。(3)C語言的關(guān)鍵字不能用作變量名。注意:C語言對(duì)英文字母的大小敏感,即同一字母的大小寫,被認(rèn)為是兩個(gè)不同的字符。上,變量名和函數(shù)名中的英文字母用小寫,以增加可讀性。82.3常量和變量(續(xù))思考題:在C語言中,變量名total與變量名TOTAL、ToTaL、tOtAl等是同一個(gè)變量嗎?見名知意:標(biāo)識(shí)符命名的良好所謂“見名知意”是指,通過變量名就知道變量值的含義。通常應(yīng)選擇能表示數(shù)據(jù)含義的英文單詞(或縮寫)作變量名,或漢語拼音字頭作變量名。 例如,name/xm()、sex/xb()、age/nl(年齡)、salary/gz(工資)。92.3常

5、量和變量(續(xù))4.變量的定義與初始化在語言中,要求對(duì)所有用到的變量,必須先定義、后使用;且稱在定義變量的同時(shí)進(jìn)行賦初值的操作為變量初始化。(1)變量定義的一般格式類型數(shù)據(jù)類型 變量名, 變量名2;radius, length, area;例如,float(2)變量初始化的一般格式類型 數(shù)據(jù)類型變量名=初值, 變量名2=初值2;例如,float radius=2.5,length, area;102.42.4.1整型數(shù)據(jù)整型變量1.分類 根據(jù)占用內(nèi)存字節(jié)數(shù)的不同,整型變量又分為類:(1)基本整型(類型關(guān)鍵字為)。(2)短整型(類型關(guān)鍵字為short(3)長(zhǎng)整型(類型關(guān)鍵字為long(4)。)。1

6、12.4整型數(shù)據(jù)(續(xù))2.占用內(nèi)存字節(jié)數(shù)與值域 上述各類型整型變量占用的內(nèi)存字節(jié)數(shù),隨系統(tǒng)而異。在16位操作系統(tǒng)中,一般用字節(jié)表示一個(gè)型變量,且long型(字節(jié))型(字節(jié))short型(字節(jié))。顯然,不同類型的整型變量,其值域不同。占用內(nèi)存字節(jié)數(shù)為n的(有符號(hào))整型變量,其值域?yàn)椋?2n*8-1(2n*8-1-1);。122.4整型數(shù)據(jù)(續(xù))例如,PC機(jī)中的一個(gè)即-3276832767;型變量,其值域?yàn)?215(215-1),2.4.2整型常量.三種表示形式整型常量即整常數(shù),在語言中可用三種形式表示:(1)十進(jìn)制。例如10、36。(2)八進(jìn)制(以數(shù)字開頭)。例如012。(3)十六進(jìn)制(以數(shù)字+

7、小寫字母x開頭)。例如0 x36。132.4.分類整型數(shù)據(jù)(續(xù)) (1)基本整型。在16位機(jī)中,用2字節(jié),其數(shù)據(jù)范圍與型變量一樣。 (2)長(zhǎng)整型(在數(shù)值后面加“L(l)”)。對(duì)超出基本整型值域的整型常量,可使用長(zhǎng)整型常量表示,其取值范圍可達(dá)-(-)。例如,123l、315等。.類型匹配規(guī)則 類型匹配規(guī)則為:一個(gè)整型常量,可以賦給能容納下其值的整型變量。142.4整型數(shù)據(jù)(續(xù))例如,其值在-(-)的整型常量,可以賦給型變量和long型變量;其值在-(-)的整型常量,就只能賦給long型變量。152.52.5.1實(shí)型數(shù)據(jù)(續(xù))實(shí)型變量語言的實(shí)型變量,分為兩種:?jiǎn)尉刃?。類型關(guān)鍵字為float,一般

8、占字節(jié)(位)、提供位有效數(shù)字。雙精度型。類型關(guān)鍵字為double,一般占個(gè)字節(jié)、提供1516位有效數(shù)字。2.5.2實(shí)型常量.表示形式實(shí)型常量即實(shí)數(shù),在語言中又稱浮點(diǎn)數(shù),其值有兩種表達(dá)形式:162.5實(shí)型數(shù)據(jù)(續(xù))(1)十進(jìn)制形式。例如3.14、9.8。(2)指數(shù)形式:E(e)。例如3.0+5等。 .關(guān)于類型實(shí)型常量不分float型和double型。一個(gè)實(shí)型常量,可以賦給一個(gè)實(shí)型變量(float型或double型)。172.62.6.1字符型數(shù)據(jù)字符常量1.字符常量的定義用一對(duì)單引號(hào)括起來的單個(gè)字符,稱為字符常量。例如,A、等。2.轉(zhuǎn)義字符語言還允許使用一種特殊形式的字符常量,就是以反斜杠“ ”

9、開頭的轉(zhuǎn)義字符。注意:如果反斜杠或單引號(hào)本身作為字符常量,必須使用轉(zhuǎn)義字符:、。182.62.6.2字符型數(shù)據(jù)(續(xù))字符變量字符變量的類型關(guān)鍵字為char,一般占用1字節(jié)內(nèi)存單元。 1.變量值的字符變量用來字符常量。將一個(gè)字符常量到一個(gè)字符變量中,實(shí)際上是將該字符的ASCII碼值(無符號(hào)整數(shù)) 例如:到內(nèi)存單元中。char ch1, ch2;/*定義兩個(gè)字符變量:ch1,ch2*/ch1=a; ch2=b; /*給字符變量賦值*/192.62.特性字符型數(shù)據(jù)(續(xù))的是字符的ASCII碼 一個(gè)無符號(hào)形式一樣,所以語言允許字 字符數(shù)據(jù)在內(nèi)存中整數(shù),其形式與整數(shù)的符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。 (1)

10、一個(gè)字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。202.6字符型數(shù)據(jù)(續(xù))案例c5.c 字符變量的字符形式輸出和整數(shù)形式輸出。/*程序功能:用字符形式和整數(shù)形式輸出字符變量*/ main()char ch1,ch2;ch1=a; ch2=b;prprf(“ch1=%c,ch2=%cn”,ch1,ch2);f(“ch1=%d,ch2=%dn”,ch1,ch2);程序運(yùn)行結(jié)果:ch1=a,ch2=b ch1=97,ch2=98212.6字符型數(shù)據(jù)(續(xù)) (2)允許對(duì)字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)就是對(duì)它們的ASCII碼值進(jìn)行算術(shù)運(yùn)算。案例c5.c 字符數(shù)據(jù)的算術(shù)運(yùn)算。/*程序功能:字符數(shù)據(jù)的算

11、術(shù)運(yùn)算*/222.6字符型數(shù)據(jù)(續(xù))void main()char ch1,ch2;ch1=a; ch2=B;/*字母的大小寫轉(zhuǎn)換*/prf(“ch1=%c,ch2=%cn”,ch1-32,ch2+32);/*用字符形式輸出一個(gè)大于256的數(shù)值*/pr pr prprf(ch1+200=%dn, ch1+200); f(ch1+200=%cn, ch1+200); f(ch1+256=%dn, ch1+256);f(ch1+256=%cn, ch1+256);232.6字符型數(shù)據(jù)(續(xù))程序運(yùn)行結(jié)果:ch1=A,ch2=b ch1+200=297 ch1+200=) ch1+256=353ch1

12、+256=a思考題:用字符形式輸出一個(gè)大于256的數(shù)值,會(huì)得到什么結(jié)果?242.7算術(shù)運(yùn)算與算術(shù)表達(dá)式在語言中,除控制語句和輸入輸出函數(shù)外,其它所有基本操作都作為運(yùn)算符處理。1.五種基本算術(shù)運(yùn)算符+、-(減法/取負(fù))、*、/、%(求余數(shù))(1)關(guān)于除法運(yùn)算/C語言規(guī)定:兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如,5 / 2 = 2。(2)關(guān)于求余數(shù)運(yùn)算要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯(cuò)。252.7算術(shù)運(yùn)算與算術(shù)表達(dá)式(續(xù))2.表達(dá)式和算術(shù)表達(dá)式(1)表達(dá)式的概念用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(常量、變量和函數(shù)等)連接起來的、符合語言語則的式子,稱為表達(dá)式。單個(gè)常量、變量或函數(shù),可以看作是表達(dá)

13、式的一種特例。將單個(gè)常量、變量或函數(shù)的表達(dá)式稱為簡(jiǎn)單表達(dá)式,其它表達(dá)式稱之為復(fù)雜表達(dá)式。262.7算術(shù)運(yùn)算與算術(shù)表達(dá)式(續(xù))(2)算術(shù)表達(dá)式的概念表達(dá)式中的運(yùn)算符都是算術(shù)運(yùn)算符。例如,3 + 6 * 9、(x+ y) / 2 - 1等,都是算術(shù)表達(dá)式。良好的源程序書寫:在表達(dá)式中,在雙目運(yùn)算符的左右兩側(cè)各加一個(gè)空格,可增強(qiáng)程序的可讀性。請(qǐng)比較表達(dá)式“ (x + y) / 2 1”與“(x+y)/21”,您認(rèn)為哪個(gè)的可讀性更好一些?272.7算術(shù)運(yùn)算與算術(shù)表達(dá)式(續(xù))(2)表達(dá)式求值1)按運(yùn)算符的優(yōu)先級(jí)高低次序執(zhí)行。例如,先乘除后加減。2)如果在一個(gè)運(yùn)算對(duì)象(或稱操作數(shù))兩側(cè)的運(yùn)算符的優(yōu)先級(jí)相同

14、,則按語言規(guī)定的結(jié)合方向(結(jié)合性)進(jìn)行。 例如,算術(shù)運(yùn)算符的結(jié)合方向是“自左至右”,即:在執(zhí)行“a b + c”時(shí),變量b先與減號(hào)結(jié)合,執(zhí)行“a - b”;然后再執(zhí)行加c的運(yùn)算。282.7算術(shù)運(yùn)算與算術(shù)表達(dá)式(續(xù))4.數(shù)據(jù)類型轉(zhuǎn)換(1) 在語言中,整型、實(shí)型和字符型數(shù)據(jù)間可以混合運(yùn)算(因?yàn)樽址麛?shù)據(jù)與整型數(shù)據(jù)可以通用)。如果一個(gè)運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)按“先轉(zhuǎn)換、后運(yùn)算”的原則,首先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進(jìn)行運(yùn)算。轉(zhuǎn)換規(guī)則char和short 型必須轉(zhuǎn)換成double型。型,float型必須轉(zhuǎn)換成292.7例如,算術(shù)運(yùn)算與算術(shù)表達(dá)式(續(xù))型與double型

15、數(shù)據(jù)進(jìn)行混合運(yùn)算,則先將型數(shù)據(jù)轉(zhuǎn)換成double型,然后在兩個(gè)同類型的數(shù)據(jù)間進(jìn)行運(yùn)算,結(jié)果為double型。302.7算術(shù)運(yùn)算與算術(shù)表達(dá)式(續(xù)) (2)除自動(dòng)轉(zhuǎn)換外,語言也允許強(qiáng)制轉(zhuǎn)換。數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的一般格式為:(要轉(zhuǎn)換成的數(shù)據(jù)類型)(被轉(zhuǎn)換的表達(dá)式)當(dāng)被轉(zhuǎn)換的表達(dá)式是一個(gè)簡(jiǎn)單表達(dá)式時(shí),外面的一對(duì)圓括號(hào)可以缺省。例如,(double)a (等價(jià)于(double)(a)/*將變量a的值轉(zhuǎn)換成double型*/()(x + y)/*將x+y的結(jié)果轉(zhuǎn)換成型*/(float)5 / 2(等價(jià)于(float)(5)/2) /*將5轉(zhuǎn)換成實(shí)型,再除以2(=2.5)*/(float)(5 / 2)/*將

16、5整除2的結(jié)果(2)轉(zhuǎn)換成實(shí)型(2.0)*/312.7算術(shù)運(yùn)算與算術(shù)表達(dá)式(續(xù))注意:強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類型并不發(fā)生變化。例如,(double)a 只是將變量a的值轉(zhuǎn)換成一個(gè)double型的中間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成double型。322.8賦值運(yùn)算與賦值表達(dá)式1.賦值運(yùn)算 賦值符號(hào)“=”就是賦值運(yùn)算符,它的作用是將一個(gè)表達(dá)式的值賦給一個(gè)變量。 賦值運(yùn)算符的一般形式為: 變量 =賦值表達(dá)式 例如,x = 5;y = (float)5 / 2; 如果表達(dá)式值的類型,與被賦值變量的類型不一致,但都是數(shù)值型或字符型時(shí),系統(tǒng)自動(dòng)地將表達(dá)式的值轉(zhuǎn)換成被賦值變量的數(shù)據(jù)類型

17、,然后再賦值給變量。思考題:假設(shè)變量num的數(shù)據(jù)類型為float,其值為2.5,則執(zhí)行“num = ()num”后,num的值等于多少?332.8賦值運(yùn)算與賦值表達(dá)式(續(xù))2.復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算符是由賦值運(yùn)算符之前再加一個(gè)雙目運(yùn)算符構(gòu)成的。復(fù)合賦值運(yùn)算的一般格式為:變量 雙目運(yùn)算符 =復(fù)合賦值運(yùn)算符表達(dá)式它等價(jià)于:變量 = 變量 雙目運(yùn)算符 (表達(dá)式)。當(dāng)表達(dá)式為簡(jiǎn)單表達(dá)式時(shí),表達(dá)式外的一對(duì)圓括號(hào)才可缺省,否則可能出錯(cuò)。342.8賦值運(yùn)算與賦值表達(dá)式(續(xù))例如,x += 3y *= x + 6/* 等價(jià)于x=x+3 */* 等價(jià)于y=y*(x+6),而不是y=y*x+6 */C語言規(guī)定的

18、10種復(fù)合賦值運(yùn)算符如下:+=,-=,*=,/=,%=;&=,=,|=,=;/*復(fù)合算術(shù)運(yùn)算符(5個(gè))*/*復(fù)合位運(yùn)算符(5個(gè))*/352.8賦值運(yùn)算與賦值表達(dá)式(續(xù))3.賦值表達(dá)式由賦值運(yùn)算符或復(fù)合賦值運(yùn)算符,將一個(gè)變量和一個(gè)表達(dá)式連接起來的表達(dá)式,稱為賦值表達(dá)式。(1)一般格式變量(復(fù)合)賦值運(yùn)算符表達(dá)式(2)賦值表達(dá)式的值任何一個(gè)表達(dá)式都有一個(gè)值,賦值表達(dá)式也不例外。被賦值變量的值,就是賦值表達(dá)式的值。例如,“a = 5”這個(gè)賦值表達(dá)式,變量a的值“”就是它的值。362.9C語言特有的運(yùn)算和運(yùn)算符2.9.1 自增(+)、自減(-)運(yùn)算1.作用:自增運(yùn)算使單個(gè)變量的值增,自減運(yùn)算使單個(gè)變量的值減。2.用法與運(yùn)算規(guī)則,自增、自減運(yùn)算符都有兩種用法:(1)前置運(yùn)算運(yùn)算符放在變量之前:變量、變量:

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論