




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式3.1 C語言的數(shù)據(jù)類型C語言的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型形式出現(xiàn)的。C的數(shù)據(jù)類型如下 : 數(shù)據(jù)類型 基本類型 構(gòu)造類型 指針類型 空類型 整型 字符型 實(shí)型 枚舉類型 單精度型 雙精度型 數(shù)組類型 結(jié)構(gòu)體類型 共用體類型 數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)? 待處理的數(shù)據(jù)都是以某種形式存在的待處理的數(shù)據(jù)都是以某種形式存在的數(shù)字,字符等等)數(shù)字,字符等等) 數(shù)據(jù)之間存在某種聯(lián)系數(shù)據(jù)之間存在某種聯(lián)系數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的組織形式。如:數(shù)組數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的組織形式。如:數(shù)組一系列前后相鄰的數(shù)字)一系列前后相鄰的數(shù)字)C語言中的任何數(shù)據(jù)都必須為其指定數(shù)據(jù)語言中的任何數(shù)據(jù)都必須為其指定數(shù)據(jù)類型!類
2、型!3.2 3.2 常量和變量常量和變量3.2.1常量 & 符號(hào)常量定義:程序運(yùn)行時(shí)其值不能改變的量即常數(shù))。分類: 直接常量直接常量: : 整型常量整型常量 實(shí)型常量實(shí)型常量 字符常量字符常量 字符串常量字符串常量 符號(hào)常量符號(hào)常量: : 用標(biāo)識(shí)符代表常量用標(biāo)識(shí)符代表常量 定義格式:定義格式: #define #define 符號(hào)常量符號(hào)常量 常量常量 一般用大寫字母一般用大寫字母 是宏定義預(yù)處理命令,不是是宏定義預(yù)處理命令,不是C C語句語句如:#define PRICE 30符號(hào)常量舉例#define PRICE 30main() int num,total; num=10; t
3、otal=num*PRICE; printf(total=%d,total);運(yùn)行結(jié)果:total=3003.2.2 變量 “標(biāo)識(shí)符”(identifier)的概念定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列組成規(guī)則:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線大小寫敏感: case-sensitive不能使用關(guān)鍵字長(zhǎng)度:各個(gè)C編譯系統(tǒng)有不同的規(guī)定。建議不要超過8個(gè)命名原則:見名知意不宜混淆 如l與I, o與0在語言中,要求對(duì)所有用到的變量,必需 “先定義、后使用”!這樣做的目的:這樣做的目的:(1) (1) 避免變量名使用錯(cuò);避免變量名使用錯(cuò);(2) (2) 便于為不同類型的數(shù)
4、據(jù)分配內(nèi)存空間;便于為不同類型的數(shù)據(jù)分配內(nèi)存空間;(3) (3) 便于在編譯過程中檢查該變量所進(jìn)行的運(yùn)算是便于在編譯過程中檢查該變量所進(jìn)行的運(yùn)算是否合法;否合法;變量定義的一般格式: 數(shù)據(jù)類型 變量名, 變量名2; 例如,int radius, length, area;3.3 3.3 整型數(shù)據(jù)整型數(shù)據(jù)3.3.1 3.3.1 整型常量的表示方法整型常量的表示方法三種形式:三種形式:十進(jìn)制整數(shù):十進(jìn)制整數(shù): 由數(shù)字由數(shù)字0 09 9和正負(fù)號(hào)表示和正負(fù)號(hào)表示. . 如:如: 123,-456,0123,-456,0八進(jìn)制整數(shù):八進(jìn)制整數(shù): 由數(shù)字由數(shù)字0 0開頭開頭, ,后跟數(shù)字后跟數(shù)字0 07
5、7表表示示. . 如:如: 0123,0110123,011十六進(jìn)制整數(shù):由十六進(jìn)制整數(shù):由0 x0 x開頭開頭, ,后跟后跟0 09,a9,af,Af,AF F表示表示. . 如:如: 0 x123,0Xff0 x123,0Xff3.3.2 3.3.2 整型變量整型變量1.1.在內(nèi)存中的存放形式:二進(jìn)制正數(shù)、負(fù)數(shù)的不在內(nèi)存中的存放形式:二進(jìn)制正數(shù)、負(fù)數(shù)的不同表示形式)。在內(nèi)存中占兩個(gè)字節(jié)。同表示形式)。在內(nèi)存中占兩個(gè)字節(jié)。最左邊一位:符號(hào)位。最左邊一位:符號(hào)位。0 0為正,為正,1 1為負(fù)。為負(fù)。2.2.分類根據(jù)數(shù)值表達(dá)范圍的不同)分類根據(jù)數(shù)值表達(dá)范圍的不同)(1)(1)基本整型:基本整型:
6、int (int (數(shù)字范圍:數(shù)字范圍:-215-215(215-(215-1)1) (2) (2)短整型:短整型:short int short int 或或 shortshort(3)(3)長(zhǎng)整型長(zhǎng)整型: long int : long int 或或 longlongunsigned & signedunsigned & signed實(shí)際應(yīng)用中,大部分常量的值是正的,如學(xué)實(shí)際應(yīng)用中,大部分常量的值是正的,如學(xué)生年齡,身高等。為此定義了生年齡,身高等。為此定義了“unsigned”unsigned”無符號(hào)類型,指代無符號(hào)數(shù)值,如無符號(hào)類型,指代無符號(hào)數(shù)值,如123123,46
7、874687等。等。但是還有一些數(shù)字是負(fù)數(shù):如但是還有一些數(shù)字是負(fù)數(shù):如-123, -3-123, -3等,等,用用“signed”signed”有符號(hào)類型來定義。有符號(hào)類型來定義。如果一個(gè)變量,既不指定為如果一個(gè)變量,既不指定為unsigned, unsigned, 也不也不指定為指定為signedsigned,則默認(rèn)為,則默認(rèn)為 signedsigned。無符號(hào)整型變量中可以存放的正數(shù)的范圍比無符號(hào)整型變量中可以存放的正數(shù)的范圍比有符號(hào)整型變量中存放的范圍擴(kuò)大一倍。有符號(hào)整型變量中存放的范圍擴(kuò)大一倍。(見(見4343頁:圖頁:圖 3.43.4) int a; int a; 32768327
8、683276732767 unsigned int b; 0 unsigned int b; 065535655353.3.3 3.3.3 整型常量的類型整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型。根據(jù)其值所在范圍確定其數(shù)據(jù)類型。在整常量后面加一個(gè)字母在整常量后面加一個(gè)字母u u或或U U,認(rèn)為是,認(rèn)為是unsignedunsigned類類型。此時(shí),在內(nèi)存中的最高位即最左邊一位不是符型。此時(shí),在內(nèi)存中的最高位即最左邊一位不是符號(hào)位,而是數(shù)據(jù)。號(hào)位,而是數(shù)據(jù)。在整常量后加字母在整常量后加字母l l或或L L,認(rèn)為它是,認(rèn)為它是long int long int 型常量。型常量。3.4 3.4
9、實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)3.4.1 3.4.1 實(shí)型常量的表示實(shí)型常量的表示 實(shí)型常量,又叫實(shí)數(shù)或浮點(diǎn)數(shù)。實(shí)型常量,又叫實(shí)數(shù)或浮點(diǎn)數(shù)。表示形式:十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn)) 如0.123, .123, 123.0, 0.0, 123.指數(shù)形式:(e或E之前必須有數(shù)字;之后的是指數(shù),指數(shù)必須為整數(shù))如12.3e3 ,123E2, 1.23e4“規(guī)范化的指數(shù)形式”3.4.23.4.2 實(shí)型變量實(shí)型變量實(shí)型數(shù)據(jù)在內(nèi)存中:占實(shí)型數(shù)據(jù)在內(nèi)存中:占4 4個(gè)字節(jié)個(gè)字節(jié)存儲(chǔ)方式:指數(shù)形式!按小數(shù)部分和指數(shù)部分分別存存儲(chǔ)方式:指數(shù)形式!按小數(shù)部分和指數(shù)部分分別存放。放。兩個(gè)部分分別占的位數(shù)不同的編譯系統(tǒng)有各自規(guī)定。兩
10、個(gè)部分分別占的位數(shù)不同的編譯系統(tǒng)有各自規(guī)定。分類按表示精度的不同)分類按表示精度的不同)單精度:?jiǎn)尉龋?float float 一般占字節(jié)位);一般占字節(jié)位); 6 67 7位位有效數(shù)字有效數(shù)字雙精度:雙精度: double double 一般占個(gè)字節(jié);一般占個(gè)字節(jié);15151616位有效數(shù)位有效數(shù)字字長(zhǎng)雙精度:長(zhǎng)雙精度: long doublelong double3.4.3 3.4.3 實(shí)型常量的類型實(shí)型常量的類型默認(rèn)默認(rèn)doubledouble型型在實(shí)型常量后加字母在實(shí)型常量后加字母f f或或F F,認(rèn)為它是,認(rèn)為它是floatfloat型型3.5 3.5 字符型數(shù)據(jù)字符型數(shù)據(jù)3.5.
11、1 3.5.1 字符常量字符常量定義定義: :用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符字符. .字符常量的值:該字符的ASCII碼值如 101 -A 012 -n 376 - x61 -a如 A65 a97 048 n10如 a A ? n 101轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示注意:如果反斜杠或單引號(hào)本身作為字符常量,注意:如果反斜杠或單引號(hào)本身作為字符常量,必須使用轉(zhuǎn)義字符:必須使用轉(zhuǎn)義字符:、 。轉(zhuǎn)義字符!轉(zhuǎn)義字符! 在語言程序中,常常會(huì)看到這樣的語句:在語言程序中,常常會(huì)看到這樣的語句:printf(“Welcome to C!n”);pr
12、intf(“Welcome to C!n”); 執(zhí)行結(jié)果:語句最后的執(zhí)行結(jié)果:語句最后的nn并沒有被打印在屏并沒有被打印在屏幕上。幕上。n n 稱為稱為“轉(zhuǎn)義字符轉(zhuǎn)義字符” ” 。 在碰到反斜杠時(shí),在碰到反斜杠時(shí),printfprintf把反斜杠和下一個(gè)字把反斜杠和下一個(gè)字符結(jié)合起來構(gòu)成符結(jié)合起來構(gòu)成“轉(zhuǎn)義序列轉(zhuǎn)義序列”,例如(,例如(nn的的意思是意思是“換行換行”,它使光標(biāo)定位到下一行的開,它使光標(biāo)定位到下一行的開始位置。始位置。3.5.2 3.5.2 字符變量字符變量 字符變量的類型關(guān)鍵字為字符變量的類型關(guān)鍵字為charchar,內(nèi)存中占用,內(nèi)存中占用1 1字節(jié)。字節(jié)。 字符變量用來存儲(chǔ)
13、字符常量。將一個(gè)字符常字符變量用來存儲(chǔ)字符常量。將一個(gè)字符常量存儲(chǔ)到一個(gè)字符變量中,實(shí)際上是將該字符的量存儲(chǔ)到一個(gè)字符變量中,實(shí)際上是將該字符的ASCIIASCII碼值無符號(hào)整數(shù)存儲(chǔ)到內(nèi)存單元中。碼值無符號(hào)整數(shù)存儲(chǔ)到內(nèi)存單元中。注意注意: :一個(gè)字符型變量只能存放一個(gè)字符常量!一個(gè)字符型變量只能存放一個(gè)字符常量!3.5.3 3.5.3 字符型數(shù)據(jù)的存儲(chǔ)方式及使用字符型數(shù)據(jù)的存儲(chǔ)方式及使用字符數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是字符的字符數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是字符的ASCIIASCII碼碼 一一個(gè)無符號(hào)整數(shù),其形式與整數(shù)的存儲(chǔ)形式一樣,個(gè)無符號(hào)整數(shù),其形式與整數(shù)的存儲(chǔ)形式一樣,所以語言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間
14、通用。所以語言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。(1 1一個(gè)字符型數(shù)據(jù),既可以字符形式輸出,也一個(gè)字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。(見可以整數(shù)形式輸出。(見5050頁例頁例3.63.6)(2 2允許對(duì)字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)就是對(duì)允許對(duì)字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)就是對(duì)它們的它們的ASCIIASCII碼值進(jìn)行算術(shù)運(yùn)算。碼值進(jìn)行算術(shù)運(yùn)算。 (見(見5151頁例頁例3.73.7)3.5.4 3.5.4 字符串常量字符串常量定義:字符串常量是用一對(duì)雙引號(hào)括起來的若干字定義:字符串常量是用一對(duì)雙引號(hào)括起來的若干字符序列。符序列。例如,例如,“How do you do.”How d
15、o you do.”、“Good morning.”Good morning.”等,都是等,都是字符串常量,其長(zhǎng)度分別為字符串常量,其長(zhǎng)度分別為1414和和1313空格也是一個(gè)字符)??崭褚彩且粋€(gè)字符)。字符串長(zhǎng)度:字符串中字符的個(gè)數(shù)稱為字符串長(zhǎng)度。字符串長(zhǎng)度:字符串中字符的個(gè)數(shù)稱為字符串長(zhǎng)度??沾洪L(zhǎng)度為空串:長(zhǎng)度為0 0的字符串即一個(gè)字符都沒有的字符的字符串即一個(gè)字符都沒有的字符串)。表示為串)。表示為“”“”(一對(duì)緊連的雙引號(hào))。(一對(duì)緊連的雙引號(hào))。注意:如果反斜杠和雙引號(hào)作為字符串中的有效字符,注意:如果反斜杠和雙引號(hào)作為字符串中的有效字符,則必須使用轉(zhuǎn)義字符。則必須使用轉(zhuǎn)義字符。例
16、如,例如,I say:Goodbye! I I say:Goodbye! I say:Goodbye!say:Goodbye! 字符串的存儲(chǔ)字符串的存儲(chǔ)C C語言規(guī)定:在存儲(chǔ)字符串常量時(shí),由系統(tǒng)在字符串語言規(guī)定:在存儲(chǔ)字符串常量時(shí),由系統(tǒng)在字符串的末尾自動(dòng)加一個(gè)的末尾自動(dòng)加一個(gè)00作為字符串的結(jié)束標(biāo)志。作為字符串的結(jié)束標(biāo)志。注意:在源程序中書寫字符串常量時(shí),不必加結(jié)束注意:在源程序中書寫字符串常量時(shí),不必加結(jié)束字符字符00,否則畫蛇添足。,否則畫蛇添足。 如果有一個(gè)字符串為如果有一個(gè)字符串為“CHINA”CHINA”,則它在內(nèi)存中,則它在內(nèi)存中的實(shí)際存儲(chǔ)如下所示:的實(shí)際存儲(chǔ)如下所示:最后一個(gè)字
17、符最后一個(gè)字符00是系統(tǒng)自動(dòng)加上的。因而,這是系統(tǒng)自動(dòng)加上的。因而,這個(gè)字符串占用字節(jié)而非字節(jié)內(nèi)存空間。個(gè)字符串占用字節(jié)而非字節(jié)內(nèi)存空間。CHINA0注意:在注意:在C C語言中沒有專門的字符串變量!語言中沒有專門的字符串變量!3.63.6 變量賦初值變量賦初值 程序中通常要求對(duì)一些變量預(yù)先設(shè)置初值。程序中通常要求對(duì)一些變量預(yù)先設(shè)置初值。int a=3;int a;a=3;單個(gè)變量的賦值:?jiǎn)蝹€(gè)變量的賦值:多個(gè)變量的賦值:多個(gè)變量的賦值:int a,b,c=5;int a,b,c=5;僅對(duì)僅對(duì)c c賦值賦值int a=3,b=3,c=5;int a=3,b=3,c=5;對(duì)三個(gè)變量都賦值對(duì)三個(gè)變量
18、都賦值3.63.6 各種數(shù)值類型數(shù)據(jù)之間的各種數(shù)值類型數(shù)據(jù)之間的 混合運(yùn)算混合運(yùn)算在語言中,整型、實(shí)型和字符型數(shù)據(jù)間可以混合運(yùn)算因?yàn)樵谡Z言中,整型、實(shí)型和字符型數(shù)據(jù)間可以混合運(yùn)算因?yàn)樽址麛?shù)據(jù)與整型數(shù)據(jù)可以通用)。字符數(shù)據(jù)與整型數(shù)據(jù)可以通用)。如果一個(gè)運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)如果一個(gè)運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)按按“先轉(zhuǎn)換、后運(yùn)算先轉(zhuǎn)換、后運(yùn)算的原則,首先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類的原則,首先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進(jìn)行運(yùn)算。型,然后在同一類型數(shù)據(jù)間進(jìn)行運(yùn)算。( (轉(zhuǎn)換規(guī)則如轉(zhuǎn)換規(guī)則如5454頁圖頁圖3-103-10所示所示) )橫向向左的箭頭,表示
19、必須的轉(zhuǎn)換。橫向向左的箭頭,表示必須的轉(zhuǎn)換。charchar和和shortshort型必須轉(zhuǎn)換成型必須轉(zhuǎn)換成 int int 型,型,floatfloat型必須轉(zhuǎn)換成型必須轉(zhuǎn)換成doubledouble型。型。 縱向向上的箭頭,表示不同類型的轉(zhuǎn)換方向。縱向向上的箭頭,表示不同類型的轉(zhuǎn)換方向。 例如,例如,intint型與型與doubledouble型數(shù)據(jù)進(jìn)行混合運(yùn)算,則先將型數(shù)據(jù)進(jìn)行混合運(yùn)算,則先將intint型數(shù)據(jù)轉(zhuǎn)換成型數(shù)據(jù)轉(zhuǎn)換成doubledouble型,然后在兩個(gè)同類型的數(shù)據(jù)型,然后在兩個(gè)同類型的數(shù)據(jù)間進(jìn)行運(yùn)算,結(jié)果為間進(jìn)行運(yùn)算,結(jié)果為doubledouble型。型。注意:箭頭方向只表
20、示數(shù)據(jù)類型由低向高轉(zhuǎn)換,不要理注意:箭頭方向只表示數(shù)據(jù)類型由低向高轉(zhuǎn)換,不要理解為解為intint型先轉(zhuǎn)換成型先轉(zhuǎn)換成unsignedunsigned型,再轉(zhuǎn)換成型,再轉(zhuǎn)換成longlong型,最后型,最后轉(zhuǎn)換成轉(zhuǎn)換成doubledouble型。型。3.8 3.8 算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式在語言中,除控制語句和輸入輸出函數(shù)外,其它所有在語言中,除控制語句和輸入輸出函數(shù)外,其它所有基本操作都作為運(yùn)算符處理?;静僮鞫甲鳛檫\(yùn)算符處理。1. 1. 五種基本算術(shù)運(yùn)算符五種基本算術(shù)運(yùn)算符 + +、- -(減法(減法/ /取負(fù))、取負(fù))、* *、/ /、% %(求余數(shù))(求余數(shù))v關(guān)于
21、除法運(yùn)算關(guān)于除法運(yùn)算 / /v C C語言規(guī)定:兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。語言規(guī)定:兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如,例如,5 / 2 = 25 / 2 = 2。v關(guān)于求余數(shù)運(yùn)算關(guān)于求余數(shù)運(yùn)算 v 要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯(cuò)。要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯(cuò)。2. 2. 表達(dá)式和算術(shù)表達(dá)式表達(dá)式和算術(shù)表達(dá)式表達(dá)式的概念:用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象常量、變量和表達(dá)式的概念:用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象常量、變量和函數(shù)等連接起來的、符合語言語法規(guī)則的式子,稱為表函數(shù)等連接起來的、符合語言語法規(guī)則的式子,稱為表達(dá)式。達(dá)式。u算術(shù)表達(dá)式:表達(dá)式中的運(yùn)算符都是算
22、術(shù)運(yùn)算符。例如,算術(shù)表達(dá)式:表達(dá)式中的運(yùn)算符都是算術(shù)運(yùn)算符。例如,3 + 6 3 + 6 * * 9 9、(x + y) / 2 (x + y) / 2 等,則稱為算術(shù)表達(dá)式。等,則稱為算術(shù)表達(dá)式。運(yùn)算符的優(yōu)先級(jí)與結(jié)合性:運(yùn)算符的優(yōu)先級(jí)與結(jié)合性:(1 1語言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。語言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。 所謂結(jié)合性是指,當(dāng)一個(gè)操作數(shù)兩側(cè)的運(yùn)算符具有所謂結(jié)合性是指,當(dāng)一個(gè)操作數(shù)兩側(cè)的運(yùn)算符具有相同的優(yōu)先級(jí)時(shí),該操作數(shù)是先與左邊的運(yùn)算符結(jié)合,還相同的優(yōu)先級(jí)時(shí),該操作數(shù)是先與左邊的運(yùn)算符結(jié)合,還是先與右邊的運(yùn)算符結(jié)合。是先與右邊的運(yùn)算符結(jié)合。 自左至右的結(jié)合方向,稱為左結(jié)合性。反之
23、,稱為自左至右的結(jié)合方向,稱為左結(jié)合性。反之,稱為右結(jié)合性。右結(jié)合性。 結(jié)合性是語言的獨(dú)有概念。除單目運(yùn)算符、賦值結(jié)合性是語言的獨(dú)有概念。除單目運(yùn)算符、賦值運(yùn)算符和條件運(yùn)算符是右結(jié)合性外,其它運(yùn)算符都是左結(jié)運(yùn)算符和條件運(yùn)算符是右結(jié)合性外,其它運(yùn)算符都是左結(jié)合性。合性。3. 3. 強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換 除自動(dòng)轉(zhuǎn)換外,語言也允許強(qiáng)制轉(zhuǎn)換。除自動(dòng)轉(zhuǎn)換外,語言也允許強(qiáng)制轉(zhuǎn)換。數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的一般格式為:數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的一般格式為: ( (要轉(zhuǎn)換成的數(shù)據(jù)類型要轉(zhuǎn)換成的數(shù)據(jù)類型)()(被轉(zhuǎn)換的表達(dá)式被轉(zhuǎn)換的表達(dá)式) )當(dāng)被轉(zhuǎn)換的表達(dá)式是一個(gè)簡(jiǎn)單表達(dá)式時(shí),外面的一當(dāng)被轉(zhuǎn)換的表達(dá)式是一個(gè)簡(jiǎn)單表達(dá)式時(shí),
24、外面的一對(duì)圓括號(hào)可以缺省。對(duì)圓括號(hào)可以缺省。例如,例如,(double)a (double)a (等價(jià)于(等價(jià)于(double)(a) /(double)(a) /* *將變量將變量a a的值轉(zhuǎn)換成的值轉(zhuǎn)換成doubledouble型型* */ /(int)(x + y) (int)(x + y) / /* *將將x+yx+y的結(jié)果轉(zhuǎn)換成的結(jié)果轉(zhuǎn)換成intint型型* */ /(float)5 / 2(float)5 / 2等價(jià)于等價(jià)于(float)(5)/2(float)(5)/2) / /* *將將5 5轉(zhuǎn)換成實(shí)型,再除以轉(zhuǎn)換成實(shí)型,再除以2 2(=2.5=2.5)* */ /(float
25、)(5 / 2) (float)(5 / 2) / /* *將將5 5整除整除2 2的結(jié)果的結(jié)果2 2轉(zhuǎn)換成實(shí)型轉(zhuǎn)換成實(shí)型2.02.0)* */ /注意:強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類注意:強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類型并不發(fā)生變化。例如,型并不發(fā)生變化。例如,(double)a (double)a 只是將變量只是將變量a a的值轉(zhuǎn)換成一個(gè)的值轉(zhuǎn)換成一個(gè)doubledouble型的中間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成型的中間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成doubledouble型。型。 P56P56例例 3.83.84 4 自增、自減運(yùn)算符自增、自減運(yùn)算符v作用
26、:增運(yùn)算使單個(gè)變量的值增,自減運(yùn)算使單個(gè)變作用:增運(yùn)算使單個(gè)變量的值增,自減運(yùn)算使單個(gè)變量的值減。量的值減。v用法與運(yùn)算規(guī)則:用法與運(yùn)算規(guī)則:( (自增、自減運(yùn)算符都有兩種用法自增、自減運(yùn)算符都有兩種用法) )v前置運(yùn)算前置運(yùn)算運(yùn)算符放在變量之前:變量、變運(yùn)算符放在變量之前:變量、變量量 先使變量的值增或減,然后再以變化后的值參先使變量的值增或減,然后再以變化后的值參與其它運(yùn)算,即先增減、后運(yùn)算。與其它運(yùn)算,即先增減、后運(yùn)算。v后置運(yùn)算后置運(yùn)算運(yùn)算符放在變量之后:變量、變量運(yùn)算符放在變量之后:變量、變量v 變量先參與其它運(yùn)算,然后再使變量的值增或變量先參與其它運(yùn)算,然后再使變量的值增或減,即先
27、運(yùn)算、后增減。減,即先運(yùn)算、后增減。注意:自增、自減運(yùn)算符,不能用于常量和表達(dá)式。注意:自增、自減運(yùn)算符,不能用于常量和表達(dá)式。例如,例如,5+5+、-(a+b)-(a+b)等都是非法的。等都是非法的。見見 P57 P57 3.9 3.9 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式賦值符號(hào)賦值符號(hào)“=”=”就是賦值運(yùn)算符,它的作用是將一個(gè)就是賦值運(yùn)算符,它的作用是將一個(gè)表達(dá)式的值賦給一個(gè)變量。表達(dá)式的值賦給一個(gè)變量。賦值運(yùn)算符的一般形式為:賦值運(yùn)算符的一般形式為: 變量變量 = = 賦值表達(dá)式賦值表達(dá)式 例如,例如, x = 5 x = 5 y = (float)5 / 2 y = (flo
28、at)5 / 2如果表達(dá)式值的類型,與被賦值變量的類型不一致,但如果表達(dá)式值的類型,與被賦值變量的類型不一致,但都是數(shù)值型或字符型時(shí),系統(tǒng)自動(dòng)地將表達(dá)式的值轉(zhuǎn)換都是數(shù)值型或字符型時(shí),系統(tǒng)自動(dòng)地將表達(dá)式的值轉(zhuǎn)換成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量。成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量。 復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符是由賦值運(yùn)算符之前再加一個(gè)雙目運(yùn)算符構(gòu)復(fù)合賦值運(yùn)算符是由賦值運(yùn)算符之前再加一個(gè)雙目運(yùn)算符構(gòu)成的。復(fù)合賦值運(yùn)算的一般格式為:成的。復(fù)合賦值運(yùn)算的一般格式為: 變量變量 雙目運(yùn)算符雙目運(yùn)算符 = = 表達(dá)式表達(dá)式 復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符它等價(jià)于:變量它等價(jià)于:變
29、量 = = 變量變量 雙目運(yùn)算符雙目運(yùn)算符 ( (表達(dá)式表達(dá)式) )例如,例如, x += 3 /x += 3 /* * 等價(jià)于等價(jià)于 x=x+3 x=x+3 * */ / y y * *= x + 6 /= x + 6 /* * 等價(jià)于等價(jià)于y=yy=y* *(x+6); (x+6); 而不是而不是y=yy=y* *x+6 x+6 * */ /C C語言規(guī)定的語言規(guī)定的1010種復(fù)合賦值運(yùn)算符如下:種復(fù)合賦值運(yùn)算符如下: +=+=,-=-=,* *= =,/=/=,%=%=; / /* *復(fù)合算術(shù)運(yùn)算符復(fù)合算術(shù)運(yùn)算符5 5個(gè))個(gè))* */ / &= &=,=,|=|=,=;/ /* *復(fù)合位運(yùn)算符復(fù)合位運(yùn)算符5 5個(gè))個(gè))* */ /3.9 3.9 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式語言提供一種用逗號(hào)運(yùn)算符語言提供一種用逗號(hào)運(yùn)算符“ , ”連接起來的式子,稱為連接起來的式子,稱為逗號(hào)表達(dá)式,又
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 咖啡館場(chǎng)地租賃合同
- 建筑單價(jià)施工合同
- 亮化工程合同協(xié)議書
- 北京租房居間合同
- 會(huì)議接待流程優(yōu)化方案
- 室外地磚施工方案
- 老路破除修補(bǔ)施工方案
- 別墅屋頂防水施工方案
- 浮吊桁架吊裝施工方案
- 堤壩加固施工方案
- 李博《生態(tài)學(xué)》課后習(xí)題答案
- 生化檢驗(yàn)質(zhì)控及失控分析
- 永磁同步電機(jī)地設(shè)計(jì)與電磁分析報(bào)告
- 全國(guó)各大媒體的報(bào)料熱線電話號(hào)碼
- 催化材料智慧樹知到答案章節(jié)測(cè)試2023年南開大學(xué)
- 我是小小志愿者小學(xué)主題班會(huì)PPT
- 中國(guó)故事英文版哪吒英文二篇
- LY/T 2083-2013全國(guó)營(yíng)造林綜合核查技術(shù)規(guī)程
- GB/T 27606-2020GNSS接收機(jī)數(shù)據(jù)自主交換格式
- 2022年廊坊市財(cái)信投資集團(tuán)有限公司招聘筆試試題及答案解析
- 創(chuàng)傷的現(xiàn)場(chǎng)檢傷分類法傷情程度的快速評(píng)估方法課件
評(píng)論
0/150
提交評(píng)論