第2章 c語(yǔ)言基礎(chǔ)
《第2章 c語(yǔ)言基礎(chǔ)》由會(huì)員分享,可在線閱讀,更多相關(guān)《第2章 c語(yǔ)言基礎(chǔ)(46頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 2.1 數(shù)據(jù)類型數(shù)據(jù)類型 2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 2.3 基本運(yùn)算基本運(yùn)算 2.4 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換 2.5 程序舉例程序舉例 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.1 數(shù)據(jù)類型數(shù)據(jù)類型 2.1.1 數(shù)據(jù)類型概述數(shù)據(jù)類型概述 整型(整型(int)數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型整型整型單精度型(單精度型(float)字符型(字符型(char)長(zhǎng)整型(長(zhǎng)整型(long)短整型(短整型(short)實(shí)型實(shí)型雙精度型雙精度型(double)枚舉類型(枚舉類型(enum)共用體類型(共用體類型(
2、union)構(gòu)造類型構(gòu)造類型結(jié)構(gòu)體類型(結(jié)構(gòu)體類型(struct)數(shù)組類型數(shù)組類型空類型(空類型(void)指針類型(指針類型(*)安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1.2 整型整型 歸納起來,歸納起來,C語(yǔ)言定義了語(yǔ)言定義了6種整型,分別是:種整型,分別是:基本整型基本整型 int無符號(hào)基本整型無符號(hào)基本整型 unsigned int短整型短整型 short或或short int無符號(hào)短整型無符號(hào)短整型 unsigned short或或unsigned short int長(zhǎng)整型長(zhǎng)整型 long或或long int無符號(hào)長(zhǎng)整型無符號(hào)長(zhǎng)整型 uns
3、igned long或或unsigned long int C C語(yǔ)言沒有規(guī)定各種整數(shù)類型的表示范圍,即沒有規(guī)定各種整語(yǔ)言沒有規(guī)定各種整數(shù)類型的表示范圍,即沒有規(guī)定各種整數(shù)的二進(jìn)制編碼長(zhǎng)度(數(shù)據(jù)在內(nèi)存中所占的位數(shù))。數(shù)的二進(jìn)制編碼長(zhǎng)度(數(shù)據(jù)在內(nèi)存中所占的位數(shù))。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.1 數(shù)據(jù)類型數(shù)據(jù)類型 表中列出了一般表中列出了一般PC機(jī)上規(guī)定的整數(shù)類型及相關(guān)數(shù)據(jù)。機(jī)上規(guī)定的整數(shù)類型及相關(guān)數(shù)據(jù)。【注意【注意】在在Visual C+6.0Visual C+6.0中,基本整型(含中,基本整型(含無符號(hào)基無符號(hào)基本整型本整型)與)與長(zhǎng)整型(含無符號(hào)長(zhǎng)整型)在內(nèi)存中
4、所占的長(zhǎng)整型(含無符號(hào)長(zhǎng)整型)在內(nèi)存中所占的字節(jié)數(shù)以及表示的取值范圍對(duì)應(yīng)相同。字節(jié)數(shù)以及表示的取值范圍對(duì)應(yīng)相同。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1.3 實(shí)型 C語(yǔ)言中實(shí)型數(shù)據(jù)又稱浮點(diǎn)型數(shù)據(jù)。語(yǔ)言中實(shí)型數(shù)據(jù)又稱浮點(diǎn)型數(shù)據(jù)。Turbo C提供了三種提供了三種表示實(shí)數(shù)的類型:表示實(shí)數(shù)的類型:?jiǎn)尉雀↑c(diǎn)數(shù)類型,簡(jiǎn)稱浮點(diǎn)類型單精度浮點(diǎn)數(shù)類型,簡(jiǎn)稱浮點(diǎn)類型 float 雙精度浮點(diǎn)數(shù)類型,簡(jiǎn)稱雙精度類型雙精度浮點(diǎn)數(shù)類型,簡(jiǎn)稱雙精度類型 double 長(zhǎng)雙精度類型長(zhǎng)雙精度類型 long double 實(shí)型的相關(guān)規(guī)定實(shí)型的相關(guān)規(guī)定 安 慶 師 范 學(xué) 院 計(jì) 算
5、 機(jī) 與 信 息 學(xué) 院2.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1.4 字符型字符型 字符類型的數(shù)據(jù)包括計(jì)算機(jī)所用編碼字符集中的所有字字符類型的數(shù)據(jù)包括計(jì)算機(jī)所用編碼字符集中的所有字符。常用的符。常用的ASCII字符集包括所有大小寫英文字母、數(shù)字、字符集包括所有大小寫英文字母、數(shù)字、各種標(biāo)點(diǎn)符號(hào)字符,還有一些控制字符,一共各種標(biāo)點(diǎn)符號(hào)字符,還有一些控制字符,一共128個(gè)。個(gè)。擴(kuò)展的擴(kuò)展的ASCII字符集包括字符集包括ASCII字符集中的全部字符和另字符集中的全部字符和另外的外的128個(gè)字符,總共個(gè)字符,總共256個(gè)字符。個(gè)字符。字符類型的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是它的字符類型的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是它的ASCII
6、碼值,一個(gè)碼值,一個(gè)字符通常占用一個(gè)字節(jié)的內(nèi)存空間。字符通常占用一個(gè)字節(jié)的內(nèi)存空間。除了占用的存儲(chǔ)空間不同(因而數(shù)據(jù)的取值范圍不同)除了占用的存儲(chǔ)空間不同(因而數(shù)據(jù)的取值范圍不同)以外,字符數(shù)據(jù)與整型數(shù)據(jù)是相似的。為了方便處理,以外,字符數(shù)據(jù)與整型數(shù)據(jù)是相似的。為了方便處理,C語(yǔ)言規(guī)定字符類型與整型基本一致,即也有有符號(hào)和無語(yǔ)言規(guī)定字符類型與整型基本一致,即也有有符號(hào)和無符號(hào)兩種類型。符號(hào)兩種類型。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.1 數(shù)據(jù)類型數(shù)據(jù)類型 字符類型的相關(guān)規(guī)定。字符類型的相關(guān)規(guī)定。由于由于ASCII碼字符的取值范圍是碼字符的取值范圍是0127,因此,既可以用
7、,因此,既可以用char類型表示,也可以用類型表示,也可以用unsigned char類型表示;擴(kuò)展類型表示;擴(kuò)展ASCII碼字符的取值范圍是碼字符的取值范圍是0255,因此,在,因此,在128255范范圍內(nèi)的擴(kuò)展圍內(nèi)的擴(kuò)展ASCII碼字符只能用碼字符只能用unsigned char類型表示。類型表示。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 2.2.1 標(biāo)標(biāo)識(shí)符符 1.標(biāo)識(shí)符標(biāo)識(shí)符 具體命名規(guī)則如下:具體命名規(guī)則如下:(1)標(biāo)識(shí)符的只能由下劃線標(biāo)識(shí)符的只能由下劃線“_”、數(shù)字、數(shù)字09與與26個(gè)大小寫字母?jìng)€(gè)大小寫字母(az,AZ)構(gòu)成
8、。)構(gòu)成。Turbo C最多識(shí)別最多識(shí)別32個(gè)字符,個(gè)字符,Microsoft C最多識(shí)別最多識(shí)別8個(gè)字符。個(gè)字符。(2)標(biāo)識(shí)符的首字符必須是字母或下劃線標(biāo)識(shí)符的首字符必須是字母或下劃線“_”而不能是數(shù)字而不能是數(shù)字或其它符號(hào)?;蚱渌?hào)。(3)C語(yǔ)言中大小寫字母是敏感的,即在標(biāo)識(shí)符中,大寫字語(yǔ)言中大小寫字母是敏感的,即在標(biāo)識(shí)符中,大寫字母和小寫字母代表不同的意義。例如:母和小寫字母代表不同的意義。例如:Name和和name是兩是兩個(gè)不同的標(biāo)識(shí)符。個(gè)不同的標(biāo)識(shí)符。(4)標(biāo)識(shí)符不能使用系統(tǒng)關(guān)鍵字,因?yàn)殛P(guān)鍵字是系統(tǒng)的保留標(biāo)識(shí)符不能使用系統(tǒng)關(guān)鍵字,因?yàn)殛P(guān)鍵字是系統(tǒng)的保留字,它們已有特定的含義。字,它
9、們已有特定的含義。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 2.關(guān)鍵字關(guān)鍵字 所謂關(guān)鍵字是指系統(tǒng)預(yù)定義的保留標(biāo)識(shí)符,又稱之為保所謂關(guān)鍵字是指系統(tǒng)預(yù)定義的保留標(biāo)識(shí)符,又稱之為保留字。它們有特定的含義,不能再作其它用途使用。留字。它們有特定的含義,不能再作其它用途使用。ANSI C定義的關(guān)鍵字共定義的關(guān)鍵字共32個(gè):個(gè):安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 2.2.2 常量常量1.整型常量整型常量(1)十進(jìn)制整數(shù):如十進(jìn)制整數(shù):如154、565、-6523。(2)八進(jìn)制整數(shù):以八
10、進(jìn)制整數(shù):以0開頭的數(shù)是八進(jìn)制數(shù)。如開頭的數(shù)是八進(jìn)制數(shù)。如0123表示八進(jìn)表示八進(jìn)制數(shù)的制數(shù)的(123)8,等于十進(jìn)制數(shù),等于十進(jìn)制數(shù)83。(3)十六進(jìn)制整數(shù):以十六進(jìn)制整數(shù):以0 x開頭的數(shù)是十六進(jìn)制數(shù)。如開頭的數(shù)是十六進(jìn)制數(shù)。如0 x4a即即(4a)16,等于十進(jìn)制數(shù),等于十進(jìn)制數(shù)74。在上述方法表示的整數(shù)后面附一個(gè)字母在上述方法表示的整數(shù)后面附一個(gè)字母l或或L作后綴,即作后綴,即可表示該數(shù)據(jù)的類型是長(zhǎng)整型的。例如可表示該數(shù)據(jù)的類型是長(zhǎng)整型的。例如-63L、0123LU、0 x4aL等分別表示十進(jìn)制有符號(hào)長(zhǎng)整型數(shù)、八進(jìn)制無符號(hào)等分別表示十進(jìn)制有符號(hào)長(zhǎng)整型數(shù)、八進(jìn)制無符號(hào)長(zhǎng)整型數(shù)和十六進(jìn)制有
11、符號(hào)長(zhǎng)整型數(shù)。長(zhǎng)整型數(shù)和十六進(jìn)制有符號(hào)長(zhǎng)整型數(shù)。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 2.實(shí)型常量實(shí)型常量 實(shí)型常量只能用十進(jìn)制形式表示,不能用八進(jìn)制和十六實(shí)型常量只能用十進(jìn)制形式表示,不能用八進(jìn)制和十六進(jìn)制形式表示。進(jìn)制形式表示。(1)小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成,如小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成,如3.1415926、-0.12、.4、3.等都是實(shí)數(shù)。等都是實(shí)數(shù)。(2)指數(shù)形式:如指數(shù)形式:如1.8e5或或1.8E5都都代表代表1.8x105。但注意字母。但注意字母e(或(或E)之前必須有數(shù)字,且)之前必須有數(shù)字,且e后面指數(shù)必須
12、為整數(shù),如后面指數(shù)必須為整數(shù),如e3、2.1e3.2、e等都不是合法的指數(shù)形式。等都不是合法的指數(shù)形式。3.字符常量字符常量 字符型常量是由一對(duì)單引號(hào)括起來的單個(gè)字符構(gòu)成,例字符型常量是由一對(duì)單引號(hào)括起來的單個(gè)字符構(gòu)成,例如如,a,b,1等都是有效的字符型常量。等都是有效的字符型常量。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 C語(yǔ)言中的常用轉(zhuǎn)義字符及這些字符的含義語(yǔ)言中的常用轉(zhuǎn)義字符及這些字符的含義 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 4.字符串常量字符串常量 字符串常量是
13、由一對(duì)雙引號(hào)括起來的字符序列組成的,例字符串常量是由一對(duì)雙引號(hào)括起來的字符序列組成的,例如如“abc”、“a”等都是字符串常量。等都是字符串常量。字符串常量與字符常量的區(qū)別:字符串常量與字符常量的區(qū)別:(1)字符常量由單引號(hào)括起來,字符串常量由雙引號(hào)括起來。字符常量由單引號(hào)括起來,字符串常量由雙引號(hào)括起來。(2)字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量在內(nèi)存中存字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量在內(nèi)存中存儲(chǔ)時(shí)由系統(tǒng)自動(dòng)在存儲(chǔ)的所有字符尾部添加串結(jié)束標(biāo)記儲(chǔ)時(shí)由系統(tǒng)自動(dòng)在存儲(chǔ)的所有字符尾部添加串結(jié)束標(biāo)記0,所以,字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符所占所以,字符串常量占的內(nèi)存字節(jié)數(shù)等于字
14、符串中字符所占的字節(jié)數(shù)加的字節(jié)數(shù)加1。注意不要將單個(gè)字符組成的字符串常量與字符常量混淆。注意不要將單個(gè)字符組成的字符串常量與字符常量混淆。不能把一個(gè)字符串常量賦給一個(gè)字符變量。不能把一個(gè)字符串常量賦給一個(gè)字符變量。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 5.符號(hào)常量符號(hào)常量 符號(hào)常量就是使用符號(hào)代表常量。符號(hào)常量就是使用符號(hào)代表常量。C語(yǔ)言中允許用標(biāo)識(shí)符定義一個(gè)常量,這種常量定語(yǔ)言中允許用標(biāo)識(shí)符定義一個(gè)常量,這種常量定義在義在C語(yǔ)言中被稱之為語(yǔ)言中被稱之為“宏定義宏定義”。2.2.3 變量變量 一個(gè)變量有一個(gè)變量有3個(gè)相關(guān)的要素:個(gè)相
15、關(guān)的要素:變量名;變量名;變量的存儲(chǔ)單元;變量的存儲(chǔ)單元;變量(存儲(chǔ)單元存放)的值。變量(存儲(chǔ)單元存放)的值。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 1.變量的定義和賦值變量的定義和賦值 C語(yǔ)言要求程序中使用的每個(gè)變量都必須先定義,然后才語(yǔ)言要求程序中使用的每個(gè)變量都必須先定義,然后才能使用。定義變量需要用變量定義語(yǔ)句進(jìn)行,其形式為:能使用。定義變量需要用變量定義語(yǔ)句進(jìn)行,其形式為:類型類型 變量名變量名=初值初值,變量名,變量名=初值初值,;例如:例如:int a;int x,y,min;int m,n=3,w=5;若對(duì)定義的多個(gè)變
16、量賦相同的初值,不能采用連續(xù)賦初值若對(duì)定義的多個(gè)變量賦相同的初值,不能采用連續(xù)賦初值的形式,如的形式,如 int a=b=c=5,必須采用形式:,必須采用形式:int a=5,b=5,c=5?!咀⒁狻咀⒁狻砍瞬荒苡藐P(guān)鍵字做變量名外,可以用任何標(biāo)識(shí)】除了不能用關(guān)鍵字做變量名外,可以用任何標(biāo)識(shí)符作為變量名符作為變量名。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 2.整型數(shù)據(jù)的存儲(chǔ)整型數(shù)據(jù)的存儲(chǔ) short int型補(bǔ)碼為型補(bǔ)碼為16位二進(jìn)制數(shù),它表示一個(gè)有符號(hào)整數(shù),其位二進(jìn)制數(shù),它表示一個(gè)有符號(hào)整數(shù),其特點(diǎn)是:當(dāng)首位為特點(diǎn)是:當(dāng)首位為0時(shí)表
17、示一個(gè)正數(shù),當(dāng)首位為時(shí)表示一個(gè)正數(shù),當(dāng)首位為1時(shí)表示一個(gè)負(fù)時(shí)表示一個(gè)負(fù)數(shù)。正數(shù)的補(bǔ)碼與其原碼相同,而負(fù)數(shù)的補(bǔ)碼為其對(duì)應(yīng)的正數(shù)數(shù)。正數(shù)的補(bǔ)碼與其原碼相同,而負(fù)數(shù)的補(bǔ)碼為其對(duì)應(yīng)的正數(shù)的反碼加的反碼加1。如:。如:+4補(bǔ)補(bǔ)=0000 0000 0000 0100 -4補(bǔ)補(bǔ)=1111 1111 1111 1100 一個(gè)用補(bǔ)碼表示的二進(jìn)制數(shù),最高位為符號(hào)位,當(dāng)符號(hào)位為一個(gè)用補(bǔ)碼表示的二進(jìn)制數(shù),最高位為符號(hào)位,當(dāng)符號(hào)位為“0”(即正數(shù))時(shí),其余位即為此數(shù)的二進(jìn)制值;但當(dāng)符號(hào)位為(即正數(shù))時(shí),其余位即為此數(shù)的二進(jìn)制值;但當(dāng)符號(hào)位為“1”(即負(fù)數(shù))時(shí),其余位不是此數(shù)的二進(jìn)制值,應(yīng)把它們按位求(即負(fù)數(shù))時(shí),其余
18、位不是此數(shù)的二進(jìn)制值,應(yīng)把它們按位求反,且在最低位加反,且在最低位加1,才是它的二進(jìn)制值。如:,才是它的二進(jìn)制值。如:X補(bǔ)補(bǔ)=1111 1111 1111 1101則則X=-000 0000 0000 0011=-3 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.2 標(biāo)識(shí)符、常量與變量標(biāo)識(shí)符、常量與變量 3.實(shí)型數(shù)據(jù)的存儲(chǔ)實(shí)型數(shù)據(jù)的存儲(chǔ) 實(shí)型數(shù)據(jù)是按指數(shù)形式存儲(chǔ)的。以微機(jī)中存儲(chǔ)實(shí)型數(shù)據(jù)是按指數(shù)形式存儲(chǔ)的。以微機(jī)中存儲(chǔ)float型數(shù)據(jù)為型數(shù)據(jù)為例,例,float型數(shù)據(jù)在內(nèi)存中占據(jù)型數(shù)據(jù)在內(nèi)存中占據(jù)4個(gè)字節(jié)即個(gè)字節(jié)即32位二進(jìn)制信息,位二進(jìn)制信息,分別存放符號(hào)位、規(guī)格化的尾數(shù)、階符位和
19、階碼。分別存放符號(hào)位、規(guī)格化的尾數(shù)、階符位和階碼。例如,實(shí)數(shù)例如,實(shí)數(shù)-32.28E-20-32.28E-20的存儲(chǔ)情況如圖所示。的存儲(chǔ)情況如圖所示。-0.322800-18 4.字符型數(shù)據(jù)的存儲(chǔ)字符型數(shù)據(jù)的存儲(chǔ)l 用一個(gè)字節(jié)(用一個(gè)字節(jié)(8 8位二進(jìn)制信息)存儲(chǔ)字符類型數(shù)據(jù)。對(duì)于無符位二進(jìn)制信息)存儲(chǔ)字符類型數(shù)據(jù)。對(duì)于無符號(hào)字符類型(號(hào)字符類型(unsigned charunsigned char)數(shù)據(jù)直接存放)數(shù)據(jù)直接存放ASCIIASCII碼或擴(kuò)展碼或擴(kuò)展ASCIIASCII碼。對(duì)于有符號(hào)字符類型(碼。對(duì)于有符號(hào)字符類型(charchar)的數(shù)據(jù)也是用補(bǔ)碼存)的數(shù)據(jù)也是用補(bǔ)碼存儲(chǔ)的。儲(chǔ)的
20、。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算2.3.1 算術(shù)運(yùn)算算術(shù)運(yùn)算1.基本算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符 C語(yǔ)言規(guī)定:語(yǔ)言規(guī)定:(1)%運(yùn)算符僅用于整型變量或整型常量的運(yùn)算,運(yùn)算符僅用于整型變量或整型常量的運(yùn)算,a%b的結(jié)果為的結(jié)果為a除以除以b的余數(shù),余數(shù)的符號(hào)與被除數(shù)相同。的余數(shù),余數(shù)的符號(hào)與被除數(shù)相同。(2)+、-、*、/運(yùn)算符的兩個(gè)操作數(shù)既可以是整數(shù),也可以是實(shí)數(shù)。運(yùn)算符的兩個(gè)操作數(shù)既可以是整數(shù),也可以是實(shí)數(shù)。當(dāng)兩個(gè)操作數(shù)均是整數(shù)時(shí),結(jié)果仍是整數(shù);若參加運(yùn)算的兩個(gè)當(dāng)兩個(gè)操作數(shù)均是整數(shù)時(shí),結(jié)果仍是整數(shù);若參加運(yùn)算的兩個(gè)操作數(shù)中有一個(gè)是實(shí)數(shù),則結(jié)果為操作
21、數(shù)中有一個(gè)是實(shí)數(shù),則結(jié)果為double型。型。(3)當(dāng)對(duì)兩個(gè)整型的數(shù)據(jù)相除時(shí)結(jié)果為整數(shù)。但是如果除數(shù)或被除當(dāng)對(duì)兩個(gè)整型的數(shù)據(jù)相除時(shí)結(jié)果為整數(shù)。但是如果除數(shù)或被除數(shù)中有一個(gè)為負(fù)數(shù),則舍入的方向是不固定的。如:數(shù)中有一個(gè)為負(fù)數(shù),則舍入的方向是不固定的。如:-5/3在有在有的機(jī)器上得到結(jié)果的機(jī)器上得到結(jié)果-1,有的機(jī)器則給出結(jié)果,有的機(jī)器則給出結(jié)果-2。多數(shù)機(jī)器采取。多數(shù)機(jī)器采取“向零取整向零取整”方法,即方法,即-5/3=-1,取整后向零靠攏。,取整后向零靠攏。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算2.算術(shù)表達(dá)式算術(shù)表達(dá)式(1)算術(shù)表達(dá)式定義算術(shù)表達(dá)式定義
22、由算術(shù)運(yùn)算符、括號(hào)以及操作對(duì)象組成的符合由算術(shù)運(yùn)算符、括號(hào)以及操作對(duì)象組成的符合C語(yǔ)言語(yǔ)法規(guī)語(yǔ)言語(yǔ)法規(guī)則的表達(dá)式稱為算術(shù)表達(dá)式。如:則的表達(dá)式稱為算術(shù)表達(dá)式。如:a+b-c/d*(a-c)。(2)優(yōu)先級(jí)和結(jié)合性優(yōu)先級(jí)和結(jié)合性 在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行。若在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行。若一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符的優(yōu)先級(jí)別相同,如一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符的優(yōu)先級(jí)別相同,如a-b+c,則按,則按規(guī)定的規(guī)定的“結(jié)合方向結(jié)合方向”處理。處理。算術(shù)運(yùn)算符的結(jié)合方向?yàn)樗阈g(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣易宰笾劣摇?,又成為左結(jié)合性,又成為左結(jié)合性,即先左后右,因此即先左
23、后右,因此b先與減號(hào)結(jié)合,執(zhí)行先與減號(hào)結(jié)合,執(zhí)行a-b的運(yùn)算,再執(zhí)行的運(yùn)算,再執(zhí)行加加c的運(yùn)算。的運(yùn)算。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算3.自增、自減運(yùn)算符自增、自減運(yùn)算符 既可以放在操作數(shù)前,也可以放在操作數(shù)后,并且操作對(duì)象既可以放在操作數(shù)前,也可以放在操作數(shù)后,并且操作對(duì)象只能是變量,不能是常量或表達(dá)式。只能是變量,不能是常量或表達(dá)式。如如i+,i-/*表示在使用表示在使用i值之后將值之后將i的值加的值加(減減)1*/+i,-i /*表示在使用表示在使用i值之前將值之前將i的值加的值加(減減)1*/例如:設(shè)例如:設(shè)i的原值為的原值為5,則執(zhí)行下
24、面的賦值語(yǔ)句:,則執(zhí)行下面的賦值語(yǔ)句:j=i+;/*先將先將i的值賦給的值賦給j,i再自增再自增1,賦值語(yǔ)句執(zhí)行完,賦值語(yǔ)句執(zhí)行完 后后i的值為的值為6,j的值為的值為5*/j=+i;/*先將先將i的值自增的值自增1,再賦給,再賦給j,賦值語(yǔ)句執(zhí)行完,賦值語(yǔ)句執(zhí)行完 后后i的值為的值為6,j的值為的值為6*/安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算【注意【注意】(1)自增自減運(yùn)算符的優(yōu)先級(jí)較高,和單目運(yùn)算符相同。其結(jié)合自增自減運(yùn)算符的優(yōu)先級(jí)較高,和單目運(yùn)算符相同。其結(jié)合方向是方向是“自右向左自右向左”(右結(jié)合性)。(右結(jié)合性)??紤]表達(dá)式考慮表達(dá)式-i+,
25、由于,由于“-”和和“+”優(yōu)先級(jí)相同,均為右結(jié)合優(yōu)先級(jí)相同,均為右結(jié)合性,因此相當(dāng)于性,因此相當(dāng)于-(i+)。(2)盡管自增自減運(yùn)算符給程序員帶來了方便,但同時(shí)也帶來了盡管自增自減運(yùn)算符給程序員帶來了方便,但同時(shí)也帶來了副作用。副作用。例如,例如,“printf(%d,%dn,i,i+);”在不同的編譯環(huán)境下結(jié)果在不同的編譯環(huán)境下結(jié)果有可能不同。若有可能不同。若i的值為的值為3,則結(jié)果可能是,則結(jié)果可能是“3,3”,也可能是,也可能是“4,3”。(3)C編譯在處理時(shí)盡可能多地自左而右將若干個(gè)字符組成一個(gè)編譯在處理時(shí)盡可能多地自左而右將若干個(gè)字符組成一個(gè)運(yùn)算符(在處理標(biāo)識(shí)符和關(guān)鍵字時(shí)也按同一原則
26、處理),如運(yùn)算符(在處理標(biāo)識(shí)符和關(guān)鍵字時(shí)也按同一原則處理),如i+j,將解釋為,將解釋為(i+)+j,而不是,而不是i+(+j)。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算2.3.2 賦值運(yùn)算1.賦值運(yùn)算符賦值運(yùn)算符 C語(yǔ)言中,賦值被認(rèn)為是一種運(yùn)算,由賦值運(yùn)算符將語(yǔ)言中,賦值被認(rèn)為是一種運(yùn)算,由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來的式子稱為賦值表達(dá)一個(gè)變量和一個(gè)表達(dá)式連接起來的式子稱為賦值表達(dá)式。其形式是:式。其形式是:賦值表達(dá)式的值也可以再賦給其它變量,如:賦值表達(dá)式的值也可以再賦給其它變量,如:a=(b=3+5)?!咀⒁狻咀⒁狻抠x值運(yùn)算符】賦值運(yùn)算符
27、“=”不同于數(shù)學(xué)中使用的符號(hào),不同于數(shù)學(xué)中使用的符號(hào),它沒有它沒有“相等相等”的含義。如果賦值運(yùn)算符兩側(cè)的數(shù)據(jù)的含義。如果賦值運(yùn)算符兩側(cè)的數(shù)據(jù)類型不同時(shí),在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換。類型不同時(shí),在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算2.復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符 C語(yǔ)言允許在賦值運(yùn)算符語(yǔ)言允許在賦值運(yùn)算符“=”之前加上其他運(yùn)算符以構(gòu)成之前加上其他運(yùn)算符以構(gòu)成復(fù)合的賦值運(yùn)算符。例如:復(fù)合的賦值運(yùn)算符。例如:a+=5;等價(jià)于等價(jià)于a=a+5;a*=b+5;等價(jià)于等價(jià)于 a=a*(b+5);a%=5;等價(jià)于等價(jià)于 a=a%8;在在C語(yǔ)言中
28、,可以使用的復(fù)合賦值運(yùn)算符有:語(yǔ)言中,可以使用的復(fù)合賦值運(yùn)算符有:+=,-=,*=,/=,%=,=,&=,=,|=3.運(yùn)算符的優(yōu)先級(jí)和結(jié)合性運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 賦值運(yùn)算符和復(fù)合賦值運(yùn)算符的優(yōu)先級(jí)相同,且都具有右賦值運(yùn)算符和復(fù)合賦值運(yùn)算符的優(yōu)先級(jí)相同,且都具有右結(jié)合性。結(jié)合性。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算【例【例2-1】分析下面程序的運(yùn)行結(jié)果】分析下面程序的運(yùn)行結(jié)果/*EX2-1.C */main()int a=12;a+=a-=a*a;printf(%d n,a);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)
29、算2.3.3 位運(yùn)算位運(yùn)算 運(yùn)算規(guī)則運(yùn)算規(guī)則 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算1.按位取反按位取反【格式【格式】x【例【例2-2】分析下面程序的運(yùn)行結(jié)果】分析下面程序的運(yùn)行結(jié)果/*EX2-2.C */main()unsigned char x=56,y;y=x;printf(%d n,y);其運(yùn)算過程為:其運(yùn)算過程為:56(00111000)56(00111000)199(11000111)安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算2.按位與按位與【格式【格式】x&y【例【例2-3】分析下面程序的運(yùn)行結(jié)果】分析下
30、面程序的運(yùn)行結(jié)果main()unsigned char x=56,y=157,z;z=x&y;printf(%d n,z);其運(yùn)算過程為:其運(yùn)算過程為:56:00111000&157:10011101 0001100024 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算3.按位或按位或【格式【格式】x|y【例【例2-4】分析下面程序的運(yùn)行結(jié)果】分析下面程序的運(yùn)行結(jié)果main()unsigned char x=56,y=157,z;z=x|y;printf(%d n,z);其運(yùn)算過程為:其運(yùn)算過程為:56:00111000|157:10011101 1011110
31、1189 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算4.按位異或按位異或【格式【格式】x y【例【例2-5】分析下面程序的運(yùn)行結(jié)果?!糠治鱿旅娉绦虻倪\(yùn)行結(jié)果。main()unsigned char x=56,y=157,z;z=xy;printf(%d n,z);其運(yùn)算過程為:其運(yùn)算過程為:56:00111000 157:1001110110100101165 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算5.左位移左位移【格式【格式】x要位移的位數(shù)要位移的位數(shù)【功能【功能】把操作對(duì)象的二進(jìn)制數(shù)向左移動(dòng)指定的位,并在】把操作對(duì)
32、象的二進(jìn)制數(shù)向左移動(dòng)指定的位,并在右面補(bǔ)上相應(yīng)的右面補(bǔ)上相應(yīng)的0,高位溢出。,高位溢出。【示例【示例】如】如x=00001111,y=x要位移的位數(shù)要位移的位數(shù)【功能【功能】把操作對(duì)象的二進(jìn)制數(shù)向右移動(dòng)指定的位,移出的低】把操作對(duì)象的二進(jìn)制數(shù)向右移動(dòng)指定的位,移出的低位舍棄;高位則:位舍棄;高位則:(1)對(duì)無符號(hào)數(shù)和有符號(hào)中的正數(shù),補(bǔ)對(duì)無符號(hào)數(shù)和有符號(hào)中的正數(shù),補(bǔ)0,稱為,稱為“邏輯右移邏輯右移”;(2)有符號(hào)數(shù)中的負(fù)數(shù)補(bǔ)有符號(hào)數(shù)中的負(fù)數(shù)補(bǔ)1,稱為,稱為“算術(shù)右移算術(shù)右移”?!臼纠臼纠咳纭咳鐇=01010001,y=x2,則,則y=00010100;如如x=11010100,y=x2,則,
33、則y=11110101。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算【注意【注意】右移會(huì)引起數(shù)據(jù)的變化,具體說,右移一位相當(dāng)于對(duì)】右移會(huì)引起數(shù)據(jù)的變化,具體說,右移一位相當(dāng)于對(duì)原來的數(shù)值除以原來的數(shù)值除以2。右移。右移n位相當(dāng)于對(duì)原來的數(shù)值除以位相當(dāng)于對(duì)原來的數(shù)值除以2n。如上例如上例010100012得得00010100,即是,即是81/4=20。負(fù)數(shù)高位補(bǔ)負(fù)數(shù)高位補(bǔ)1的目的也是右移的目的也是右移n位相當(dāng)于對(duì)原來的數(shù)值絕對(duì)值除位相當(dāng)于對(duì)原來的數(shù)值絕對(duì)值除以以2n,而負(fù)號(hào)不變,而負(fù)號(hào)不變。如上例如上例110101002得得11110101,即是,即是-44/4
34、=-11。但上述結(jié)論只適用于該數(shù)右移被溢出舍棄的低位中不包含但上述結(jié)論只適用于該數(shù)右移被溢出舍棄的低位中不包含1的的情況情況,若包含若包含1,右移,右移n位相當(dāng)于對(duì)原來的數(shù)值除以位相當(dāng)于對(duì)原來的數(shù)值除以2n后再取整后再取整(如如81/4=20的例子的例子);而對(duì)于負(fù)數(shù),右移舍棄的低位使得補(bǔ)碼減;而對(duì)于負(fù)數(shù),右移舍棄的低位使得補(bǔ)碼減少一個(gè)小數(shù),商的絕對(duì)值則向增大的方向取整,如:少一個(gè)小數(shù),商的絕對(duì)值則向增大的方向取整,如:110100012得得11110100,即,即-472得得-12,而,而-47/4=-11 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算【說明
35、【說明】(1)復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符 除按位取反運(yùn)算外,其余除按位取反運(yùn)算外,其余5個(gè)位運(yùn)算符均可與賦值運(yùn)算符個(gè)位運(yùn)算符均可與賦值運(yùn)算符一起,構(gòu)成復(fù)合賦值運(yùn)算符:一起,構(gòu)成復(fù)合賦值運(yùn)算符:&=、|+、=、=。(2)不同長(zhǎng)度數(shù)據(jù)間的位運(yùn)算不同長(zhǎng)度數(shù)據(jù)間的位運(yùn)算低字節(jié)對(duì)齊,短數(shù)的高字節(jié)低字節(jié)對(duì)齊,短數(shù)的高字節(jié)按最高位補(bǔ)位:按最高位補(bǔ)位:對(duì)無符號(hào)數(shù)和有符號(hào)中的正數(shù),補(bǔ)對(duì)無符號(hào)數(shù)和有符號(hào)中的正數(shù),補(bǔ)0;有符號(hào)數(shù)中的負(fù)數(shù),補(bǔ)有符號(hào)數(shù)中的負(fù)數(shù),補(bǔ)1。2.3.4 逗號(hào)運(yùn)算1.逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符 其一般形式為:其一般形式為:表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信
36、息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算 逗號(hào)表達(dá)式的求值過程是:先求表達(dá)式逗號(hào)表達(dá)式的求值過程是:先求表達(dá)式1的值,再求表達(dá)的值,再求表達(dá)式式2的值,表達(dá)式的值,表達(dá)式2的值就是整個(gè)逗號(hào)表達(dá)式的值。的值就是整個(gè)逗號(hào)表達(dá)式的值。一個(gè)逗號(hào)表達(dá)式可以與另一個(gè)表達(dá)式構(gòu)成一個(gè)新的逗號(hào)表一個(gè)逗號(hào)表達(dá)式可以與另一個(gè)表達(dá)式構(gòu)成一個(gè)新的逗號(hào)表達(dá)式。達(dá)式。例如:例如:(a=5-3,a*5),a+15 逗號(hào)表達(dá)式的一般形式可以擴(kuò)展為:逗號(hào)表達(dá)式的一般形式可以擴(kuò)展為:表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2,表達(dá)式,表達(dá)式3,表達(dá)式,表達(dá)式n2.運(yùn)算符的優(yōu)先級(jí)和結(jié)合性運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。逗
37、號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。逗號(hào)表達(dá)式的結(jié)合性為自左向右的。逗號(hào)表達(dá)式的結(jié)合性為自左向右的?!咀⒁狻咀⒁狻坎⒉皇侨魏蔚胤匠霈F(xiàn)的逗號(hào)都是作為逗號(hào)運(yùn)算符?!坎⒉皇侨魏蔚胤匠霈F(xiàn)的逗號(hào)都是作為逗號(hào)運(yùn)算符。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.3 基本運(yùn)算基本運(yùn)算【例【例2-6】分析下面程序的運(yùn)行結(jié)果。】分析下面程序的運(yùn)行結(jié)果。main()int a=5,b=6,c=1;printf(%d%dn,(+a,b+),c+2);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.4 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換2.4.1 類型自動(dòng)轉(zhuǎn)換類型自動(dòng)轉(zhuǎn)換 轉(zhuǎn)換規(guī)則轉(zhuǎn)換規(guī)則 高高 doubl
38、e float long unsigned 低低 int char,short 圖中橫向向左的箭頭表示必定的轉(zhuǎn)換,縱向的箭頭表示當(dāng)圖中橫向向左的箭頭表示必定的轉(zhuǎn)換,縱向的箭頭表示當(dāng)運(yùn)算對(duì)象為不同類型時(shí)轉(zhuǎn)換的方向。運(yùn)算對(duì)象為不同類型時(shí)轉(zhuǎn)換的方向。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.4 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換2.4.2 賦值類型轉(zhuǎn)換賦值類型轉(zhuǎn)換(1)當(dāng)整型數(shù)據(jù)賦給浮點(diǎn)型變量時(shí),數(shù)值上不發(fā)生任何變化,但當(dāng)整型數(shù)據(jù)賦給浮點(diǎn)型變量時(shí),數(shù)值上不發(fā)生任何變化,但有效位增加。有效位增加。(2)當(dāng)單、雙精度浮點(diǎn)型數(shù)據(jù)賦給整型變量時(shí),浮點(diǎn)數(shù)的小數(shù)部當(dāng)單、雙精度浮點(diǎn)型數(shù)據(jù)賦給整型變量時(shí),浮點(diǎn)
39、數(shù)的小數(shù)部分將被舍棄。分將被舍棄。(3)將字符型數(shù)據(jù)賦給整型變量時(shí),由于字符只占一個(gè)字節(jié),而將字符型數(shù)據(jù)賦給整型變量時(shí),由于字符只占一個(gè)字節(jié),而整型變量為整型變量為4個(gè)字節(jié),因此將字符數(shù)據(jù)(個(gè)字節(jié),因此將字符數(shù)據(jù)(8位)放到整型變量位)放到整型變量低低8位中。位中。將將unsigned char型數(shù)據(jù)賦給型數(shù)據(jù)賦給unsigned int或或int型變量時(shí),型變量時(shí),高高24位補(bǔ)位補(bǔ)0。將將char型數(shù)據(jù)賦給型數(shù)據(jù)賦給unsigned int或或int型變量時(shí),若字符值型變量時(shí),若字符值最高位為最高位為0,則高,則高24位補(bǔ)位補(bǔ)0;若字符值最高位為;若字符值最高位為1,則高,則高24位全補(bǔ)位全
40、補(bǔ)1。安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.4 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換【例【例2-7】分析下面程序的運(yùn)行結(jié)果?!糠治鱿旅娉绦虻倪\(yùn)行結(jié)果。main()unsigned char a;char b;unsigned int x;int y;a=0 xfe;x=a;y=a;printf(%x%xn,x,y);b=0 x7e;x=b;y=b;printf(%x%xn,x,y);b=0 xfe;x=b;y=b;printf(%x%xn,x,y);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.4 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換(4)當(dāng)長(zhǎng)度長(zhǎng)的整型數(shù)據(jù)賦給長(zhǎng)度短的變量時(shí),將進(jìn)行截
41、斷賦值。當(dāng)長(zhǎng)度長(zhǎng)的整型數(shù)據(jù)賦給長(zhǎng)度短的變量時(shí),將進(jìn)行截?cái)噘x值?!纠纠?-8】分析下面程序的運(yùn)行結(jié)果?!糠治鱿旅娉绦虻倪\(yùn)行結(jié)果。/*EX2-8.C */main()unsigned short a;short b;unsigned long x;x=0 x6a8b5cfd;a=x;b=x;printf(%x%xn,a,b);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.4 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換(5)當(dāng)整型數(shù)據(jù)賦給長(zhǎng)度相同的變量時(shí),將進(jìn)行原樣賦值。當(dāng)整型數(shù)據(jù)賦給長(zhǎng)度相同的變量時(shí),將進(jìn)行原樣賦值?!纠纠?-9】分析下面程序的運(yùn)行結(jié)果?!糠治鱿旅娉绦虻倪\(yùn)行結(jié)果。/*EX2-9.C
42、*/main()unsigned int a;int b;a=0 xffff;b=a;printf(%x%xn,a,b);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.4 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換2.4.3 強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換 強(qiáng)制類型轉(zhuǎn)換的一般形式為:強(qiáng)制類型轉(zhuǎn)換的一般形式為:(類型名類型名)(表達(dá)式表達(dá)式)【注意【注意】(1)表達(dá)式應(yīng)該用括號(hào)括起來。表達(dá)式應(yīng)該用括號(hào)括起來。(2)經(jīng)強(qiáng)制類型轉(zhuǎn)換后,得到的是一個(gè)所需類型的中間變量,經(jīng)強(qiáng)制類型轉(zhuǎn)換后,得到的是一個(gè)所需類型的中間變量,原來變量的類型并沒有發(fā)生任何變化。原來變量的類型并沒有發(fā)生任何變化?!纠纠?-10】分析下面程
43、序的運(yùn)行結(jié)果。】分析下面程序的運(yùn)行結(jié)果。main()int a;float b=3.5;a=(int)b;printf(a=%d,b=%fn,a,b);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.5 程序舉例程序舉例 【例【例2-11】分析下面程序的運(yùn)行結(jié)果。】分析下面程序的運(yùn)行結(jié)果。/*EX2-11.C */main()int x,y;x=40;y=(x=x-4,x%7);printf(y=%dn,y);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.5 程序舉例程序舉例 【例【例2-12】分析下面程序的運(yùn)行結(jié)果?!糠治鱿旅娉绦虻倪\(yùn)行結(jié)果。/*EX2-12.C */m
44、ain()int m,n,k;m=3;n=9;k=(+m)+(-n);printf(m=%d,n=%d,k=%dn,m,n,k);m=3,n=9;k=(m-)+(n+);printf(m=%d,n=%d,k=%dn,m,n,k);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院2.5 程序舉例程序舉例 【例【例2-13】取一個(gè)整數(shù)】取一個(gè)整數(shù)x從右端開始的從右端開始的47位。位?!痉治觥痉治觥?1)先使先使x右移右移4位,目的是使要取出的那幾位移到最右端。位,目的是使要取出的那幾位移到最右端。右移到右端可以用下面方法實(shí)現(xiàn):右移到右端可以用下面方法實(shí)現(xiàn):x 4(2)設(shè)置一個(gè)低設(shè)置一個(gè)低4位全為位全為1,其余全為,其余全為0的數(shù)。的數(shù)??捎孟旅娣椒▽?shí)現(xiàn):可用下面方法實(shí)現(xiàn):(0 4)&(04;n=(04);k=m&n;printf(%x,%dn%x,%dn,m,m,k,k);安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《光的折射》課件-(公開課獲獎(jiǎng))2022年滬科版物理-
- UV油墨的基礎(chǔ)知識(shí)課件
- 藍(lán)色簡(jiǎn)約后備護(hù)士長(zhǎng)競(jìng)聘動(dòng)態(tài)課件
- 藍(lán)色清新筆記本翻頁(yè)年終總結(jié)模板課件
- 81二元一次方程組課件(人教版七年級(jí)下)
- 局部解剖學(xué)-頭部-蝶鞍區(qū)、海綿竇、硬腦膜
- 7273第1課時(shí) 位似圖形及作圖
- 供應(yīng)鏈管理-PPT
- 幼兒園管理過程
- 4索溪谷的“野”2
- 外科補(bǔ)液注意問題
- 組織行為學(xué)--價(jià)值觀與態(tài)度
- 燈光教學(xué)課件1
- 中原城市春季車展招商方案
- 祛痰劑醫(yī)學(xué)知識(shí)專家講座