C語言程序設(shè)計(jì)-數(shù)據(jù)類型.ppt_第1頁
C語言程序設(shè)計(jì)-數(shù)據(jù)類型.ppt_第2頁
C語言程序設(shè)計(jì)-數(shù)據(jù)類型.ppt_第3頁
C語言程序設(shè)計(jì)-數(shù)據(jù)類型.ppt_第4頁
C語言程序設(shè)計(jì)-數(shù)據(jù)類型.ppt_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第三章 數(shù)據(jù)類型、運(yùn)算符 與表達(dá)式,青島農(nóng)業(yè)大學(xué)理信學(xué)院,算法處理的對象是數(shù)據(jù)。 數(shù)據(jù)是以某種特定的形式存在的,如整數(shù)、實(shí)數(shù)、字符等。 所謂數(shù)據(jù)結(jié)構(gòu),就是指數(shù)據(jù)的組織形式。,完整的程序設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)算法 程序設(shè)計(jì)方法語言工具,青島農(nóng)業(yè)大學(xué)理信學(xué)院,主要內(nèi)容,一、數(shù)據(jù)類型 二、變量與常量 三、運(yùn)算符 四、表達(dá)式,數(shù)據(jù)成分,運(yùn)算成分,青島農(nóng)業(yè)大學(xué)理信學(xué)院,一、數(shù)據(jù)類型,C語言的 數(shù)據(jù)類型,青島農(nóng)業(yè)大學(xué)理信學(xué)院,二、變量與常量,常量:指在程序運(yùn)行過程中,值不能發(fā)生變化的量。 常量可以有不同類型: 比如, 這些常量稱為字面常量或直接常量,整型 100,125,-100,0 實(shí)型 3.14 , 0.125,-3.789 字符型 a, b,2 字符串 “a”, “ab”, “1232”,青島農(nóng)業(yè)大學(xué)理信學(xué)院,符號常量定義與使用,定義:使用define define PI 3.14 使用:area=PI*3*3 程序中用#define命令行定義PI代表常量3.14,此后凡在本文件中出現(xiàn)的PI都代表3.14,可以和常量一樣進(jìn)行運(yùn)算。 PI=3.1415 錯(cuò)誤!常量值不能改變! 習(xí)慣上,符號常量名用大寫,變量名用小寫 優(yōu)點(diǎn):含義清楚;一改全改,青島農(nóng)業(yè)大學(xué)理信學(xué)院,例3.1,#define PRICE 30 #include void main ( ) int num, total; num=10; total=num * PRICE; printf(“total=%d“,total); ,青島農(nóng)業(yè)大學(xué)理信學(xué)院,變量,變量:程序運(yùn)行期間值可以發(fā)生改變的量。變量代表內(nèi)存中具有特定屬性的一個(gè)存儲單元,它用來存放數(shù)據(jù),這就是變量的值。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,變量名實(shí)際上是一個(gè)以一個(gè)名字對應(yīng)代表一個(gè)地址。 在對程序編譯連接時(shí)由編譯系統(tǒng)給每一個(gè)變量名分配對應(yīng)的內(nèi)存地址。 從變量中取值,實(shí)際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,變量定義,數(shù)據(jù)類型 變量名; 比如,int a; float x,y;,青島農(nóng)業(yè)大學(xué)理信學(xué)院,變量命名,變量命名的規(guī)定:語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線。變量名不能與關(guān)鍵字重名 例:sum,_total, month, Student_name, lotus_1_2_,BASIC, li_ling M.D.John, ¥123,3D64,ab,青島農(nóng)業(yè)大學(xué)理信學(xué)院,注意:,C語言區(qū)分大小寫,即:ABC與Abc認(rèn)為是兩個(gè)不同的變量。 建議變量名的長度最好不要超過8個(gè)字符。 在選擇變量名和其它標(biāo)識符時(shí),應(yīng)注意做到“見名知意”,即選有含意的英文單詞(或其縮寫)作標(biāo)識符。(intStu) 要求對所有用到的變量作強(qiáng)制定義,也就是“先定義,后使用”。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,補(bǔ)充C 語言的關(guān)鍵字(附錄B),關(guān)鍵字(key words)是C語言預(yù)定義的詞法符號,具有固定含義和用途,不能作為標(biāo)識符使用。 C語言的關(guān)鍵字: auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 注意,關(guān)鍵字必須小寫。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,1、整型,數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的,整型數(shù)據(jù)占用兩個(gè)字節(jié)的空間(TurboC2.0及TurboC+3.0中為兩個(gè)字節(jié),教材例子也假定整型占兩個(gè)字節(jié),但是在VC+6.0中則分配4個(gè)字節(jié))。 數(shù)據(jù)采用補(bǔ)碼形式表示。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,1)整型常量,十進(jìn)制整數(shù) 123,-123 八進(jìn)制整數(shù)。 以0開頭的數(shù) 0123,-0123 十六進(jìn)制整數(shù) 以0x開頭的數(shù) 0x1A,-0xFD,青島農(nóng)業(yè)大學(xué)理信學(xué)院,2)整型變量,整型變量在內(nèi)存中的存放形式 整型數(shù)據(jù)在內(nèi)存中的存放形式數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的 實(shí)際上,數(shù)值是以補(bǔ)碼(complement) 表示的。,10在內(nèi)存中的存放,青島農(nóng)業(yè)大學(xué)理信學(xué)院,10在內(nèi)存中的存放,青島農(nóng)業(yè)大學(xué)理信學(xué)院,整型變量的分類,基本整型 int 短整型 short int 長整型 long int 三者區(qū)別在于:可以表示的整數(shù)范圍不同。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,類型 類型說明符 長度 數(shù)的范圍 基本型 int 2字節(jié) -3276832767 短整型 short 2字節(jié) -215215-1 長整型 long 4字節(jié) -231231-1,青島農(nóng)業(yè)大學(xué)理信學(xué)院,整型的符號,整型數(shù)據(jù)還有有符號數(shù)和無符號數(shù)之分。,signed,unsigned,青島農(nóng)業(yè)大學(xué)理信學(xué)院,整型共六種,有符號基本整型 有符號短整型 有符號長整型 無符號基本整型 無符號短整型 無符號長整型,(signed)int (signed)short (int ) (signed) long (int) unsigned int unsigned short (int) unsigned long (int),注意:括號表示其中的內(nèi)容是可選的。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,整數(shù)(13為例)在存儲單元中的存儲情況,青島農(nóng)業(yè)大學(xué)理信學(xué)院,3)整型變量的定義和使用,定義: int a,b(指定變量、為整型) unsigned short c,d;(指定變量、為無符號短整型) long e,f;(指定變量、為長整型) 對變量的定義,一般是放在一個(gè)函數(shù)的開頭的聲明部分(也可以放在函數(shù)中某一分程序內(nèi),但作用域只限它所在的分程序) 使用: a=12;b=10; c=a+b;,賦值語句,青島農(nóng)業(yè)大學(xué)理信學(xué)院,溢出,int a,b; a=32767; b=a+1;,a,b,-32768,青島農(nóng)業(yè)大學(xué)理信學(xué)院,4) 整型常量的類型,整型變量可分為int、short int、long int和unsigned int、unsigned short、unsigned long等類別。那么常量呢?在將一個(gè)整型常量賦值給上述幾種類別的整型變量時(shí)如何做到類型匹配? 請注意以下幾點(diǎn): (1) 一個(gè)整數(shù),如果其值在-32768+32767范圍內(nèi),認(rèn)為它是int型,它可以賦值給int型和long int型變量。 (2) 一個(gè)整數(shù),如果其值超過了上述范圍,而在-2147483648+2147483647范圍內(nèi),則認(rèn)為它是長整型,可以將它賦值給一個(gè)long int型變量。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,(3) 如果某一計(jì)算機(jī)系統(tǒng)的c版本(例如turbo c)確定short int與int型數(shù)據(jù)在內(nèi)存中占據(jù)的長度相同,則它的表數(shù)范圍與int型相同。因此,一個(gè)int型的常量也同時(shí)是一個(gè)short int型常量,可以賦給int型或short int型變量。 (4) 一個(gè)整常量后面加一個(gè)字母u,認(rèn)為是unsigned int型,如12345u,在內(nèi)存中按unsigned int規(guī)定的方式存放。如果寫成-12345u,則先將-12345轉(zhuǎn)換成其補(bǔ)碼53191,然后按無符號數(shù)存儲。 (5) 整常量后加一個(gè)字母l或L,則認(rèn)為是long int型常量。 例如123l、432l、0l等,這往往用于函數(shù)調(diào)用中。如果函數(shù)的形參為long int型,則要求實(shí)參也為long int型,此時(shí)用123作實(shí)參不行,而要用123l作實(shí)參。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,2、浮點(diǎn)型,1)浮點(diǎn)型常量,兩種表 示形式,小數(shù) 指數(shù),0.123 3e-3,注意:字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù):,1e3、1.8e-3、-123e-6、-0.1e-3 e3、2.1e3.5、.e3、e,青島農(nóng)業(yè)大學(xué)理信學(xué)院,規(guī)范化的指數(shù)形式,字母e之前的小數(shù)中,小數(shù)點(diǎn)左邊有且僅有一位非零數(shù)字。 例如: 123.456可以表示為: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e 其中的1.23456e2稱為“規(guī)范化的指數(shù)形式”。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,浮點(diǎn)數(shù)在內(nèi)存中的存放,一個(gè)浮點(diǎn)型數(shù)據(jù)一般在內(nèi)存中占4個(gè)字節(jié)(32位)。 分為小數(shù)部分和指數(shù)部分,分別存放。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,2)浮點(diǎn)型變量,單精度型 float 雙精度型 double 長雙精度型 long double,青島農(nóng)業(yè)大學(xué)理信學(xué)院,浮點(diǎn)型數(shù)據(jù)的舍入誤差,例3.4 main( ) float a,b; a = 123456,789e5; b = a + 20 ; printf(“%f“,b); 運(yùn)行程序得到的a和b的值是12345678848.000000 只有7位有效數(shù)字時(shí)準(zhǔn)確的 因此,避免將一個(gè)很大的數(shù)和很小的數(shù)相加減,青島農(nóng)業(yè)大學(xué)理信學(xué)院,浮點(diǎn)型常量的運(yùn)算,C編譯系統(tǒng)將實(shí)型常量作為雙精度來處理。例如已定義一個(gè)實(shí)型變量f,有如下語句: f = 2.45678 * 4523.65 系統(tǒng)將2.45678和4523.65按雙精度數(shù)據(jù)存儲(占64位)和運(yùn)算,得到一個(gè)雙精度的乘積,然后取前7位賦給實(shí)型變量f。(除非在數(shù)據(jù)后加F或f) 一個(gè)實(shí)型常量可以賦給一個(gè)float型、double型或long double變量。根據(jù)變量的類型截取實(shí)型常量中相應(yīng)的有效位數(shù)字。例如, float a;a=111111111; 由于float型變量只能接收7位有效數(shù)字,青島農(nóng)業(yè)大學(xué)理信學(xué)院,3、字符型,1)字符常量:單引號括起來的一個(gè)字符 比如,a ? 注意: a 與 A是兩個(gè)不同的字符常量。,例,a,A, 1 abc、“a”,青島農(nóng)業(yè)大學(xué)理信學(xué)院,補(bǔ)充C 語言的字符集(附錄A),C 的字符集(character set)是 ASCII 碼的子集。 標(biāo)準(zhǔn) ASCII 碼從 0 127,共128個(gè)字符。 0 31和127是控制字符,屬不可見字符。 32 126是可見字符。 以下字符的碼值要記憶: 32 - 空格 48 - 0 65 - A 97 -a 擴(kuò)展 ASCII 碼,從 0255,共256個(gè)字符。128255是圖形符號。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,特殊的字符常量轉(zhuǎn)義字符,以開頭的字符序列,稱為轉(zhuǎn)義字符。,n 換行 b 退格 t 橫向跳格 f 換頁 r 回車 反斜杠 單引號 ” 雙引號 ddd ddd表示1到3位八進(jìn)制數(shù)字 xhh hh表示1到2位十六進(jìn)制數(shù)字,青島農(nóng)業(yè)大學(xué)理信學(xué)院,轉(zhuǎn)義字符的使用,例3.5 ain( ) printf(“ ab ct derftgn“); printf(“htibbj k“); ,青島農(nóng)業(yè)大學(xué)理信學(xué)院,2)字符變量,定義: char c; 使用: ca;,青島農(nóng)業(yè)大學(xué)理信學(xué)院,字符數(shù)據(jù)在內(nèi)存中的存儲,一個(gè)字符變量在內(nèi)存中占用一個(gè)字節(jié)。 內(nèi)存中實(shí)際存儲的并不是字符本身,而是字符的ASCII碼。 整型數(shù)據(jù)和字符型數(shù)據(jù) 存儲形式類似,可以通用。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,例3.6 向字符變量賦以整數(shù),char c1,c2; c1=97; c2=98; printf(“%c%cn”,c1,c2); printf(“%d%dn”,c1,c2);,注意:字符數(shù)據(jù)長一個(gè)字節(jié),所以最多只能表示0255范圍內(nèi)的整數(shù)。其第一位還可以被用作符號位。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,例3.7 大小寫轉(zhuǎn)換,#include void main() char c; c=a; c=c-32; printf(“%c”,c); /*字符數(shù)據(jù)可以和整型數(shù)據(jù)相互賦值*/,C語言允許字符數(shù)據(jù)與整數(shù)直接參與算術(shù)運(yùn)算。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,3)字符串常量,用雙引號括起來的字符序列 如“abc”,“a” C語言規(guī)定:在每個(gè)字符串最后加一個(gè)0作為字符串結(jié)束標(biāo)記。 比如,“CHINA”這個(gè)字符串常量,青島農(nóng)業(yè)大學(xué)理信學(xué)院,問題:,“a”與a 是否相同? 答案是不同。a是字符常量,而“a”是字符串常量。“a”相當(dāng)于a0 結(jié)論:不能把一個(gè)字符串常量賦給一個(gè)字符變量。 char c; c=“a”; 錯(cuò)!,青島農(nóng)業(yè)大學(xué)理信學(xué)院,在c語言中沒有專門的字符串變量。如果想將一個(gè)字符串存放在變量中,以便保存,必須使用字符數(shù)組,即用一個(gè)字符型數(shù)組來存放一個(gè)字符串,數(shù)組中每一個(gè)元素存放一個(gè)字符。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,4、變量賦初值,語言允許在定義變量的同時(shí)使變量初始化。 比如, int a3;相當(dāng)于int a; a=3; char ca; int a,b,c=10; 只對一部分變量賦初值 int a=1,b=1,c=1; 不要寫成int a=b=c=1;錯(cuò)!,青島農(nóng)業(yè)大學(xué)理信學(xué)院,三、運(yùn)算符與表達(dá)式,(1)算術(shù)運(yùn)算符 + - * / % (2)關(guān)系運(yùn)算符 ! (3)邏輯運(yùn)算符 ! | (4)位運(yùn)算符 | (5)賦值運(yùn)算符 及其擴(kuò)展賦值運(yùn)算符 (6)條件運(yùn)算符 ?: (7)逗號運(yùn)算符 ,,(8)指針運(yùn)算符 *和 (9)求字節(jié)數(shù)運(yùn)算符 sizeof (10)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (類型)) (11)分量運(yùn)算符 - (12)下標(biāo)運(yùn)算符 (13)其他 如函數(shù)調(diào)用運(yùn)算符(),表達(dá)式:使用運(yùn)算符和括號將變量、常量等操作數(shù)連接起來的,符合C語法規(guī)則的式子,稱為表達(dá)式。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,1、算術(shù)運(yùn)算符與算術(shù)表達(dá)式, 加法運(yùn)算符,或正值運(yùn)算符,如:、 減法運(yùn)算符,或負(fù)值運(yùn)算符,如:、 * 乘法運(yùn)算符,如:* 除法運(yùn)算符,如: 模運(yùn)算符,或稱求余運(yùn)算符,兩側(cè)均應(yīng)為整型數(shù)據(jù),如:的值為 優(yōu)先級:運(yùn)算按照優(yōu)先級由高到低進(jìn)行 結(jié)合方向(結(jié)合性):從左至右,也稱為左結(jié)合性,青島農(nóng)業(yè)大學(xué)理信學(xué)院,算術(shù)運(yùn)算符優(yōu)先級和結(jié)合性(附錄C),表達(dá)式求值的普遍順序(從左向右掃描): 圓括號() 先內(nèi)圓括號,后外圓括號; 函數(shù)引用 運(yùn)算符優(yōu)先級不同,先做優(yōu)先級高的操作,然后做優(yōu)先級低的操作; 運(yùn)算符優(yōu)先級相同,按結(jié)合性處理;,青島農(nóng)業(yè)大學(xué)理信學(xué)院,類型轉(zhuǎn)換,自動類型轉(zhuǎn)換 如果運(yùn)算符兩側(cè)的數(shù)據(jù)類型不同,先進(jìn)行自動類型轉(zhuǎn)換,再進(jìn)行運(yùn)算。 強(qiáng)制類型轉(zhuǎn)換 形式:(類型名)(表達(dá)式),青島農(nóng)業(yè)大學(xué)理信學(xué)院,例,float x; int i,j; x=3.6 i=(int)x; j=(int)x % 2;,i的值是多少? j的值是多少? x的值是多少?,青島農(nóng)業(yè)大學(xué)理信學(xué)院,自增、自減運(yùn)算符,自增 自減 作用:使變量的值增1或者減1 這兩個(gè)運(yùn)算符只用于變量,而不用于常量和表達(dá)式。 例如,5,(ab) 不合法! 結(jié)合方向是“自右至左”,例如i,青島農(nóng)業(yè)大學(xué)理信學(xué)院,注意i和i的不同,i 先使用i的值,再將i加1 i 先將i加1,再使用i的值 例子: i3; ji; ji;,青島農(nóng)業(yè)大學(xué)理信學(xué)院,有關(guān)表達(dá)式使用中的問題說明,歧義問題 書寫程序,注意避免歧義,青島農(nóng)業(yè)大學(xué)理信學(xué)院,2、賦值運(yùn)算符和賦值表達(dá)式,1)賦值運(yùn)算符 作用:將右邊的數(shù)據(jù)賦給左邊的變量 i3 ixy,青島農(nóng)業(yè)大學(xué)理信學(xué)院,2)類型轉(zhuǎn)換,如果賦值運(yùn)算符兩側(cè)類型不一致,但都是數(shù)值型或字符型時(shí),賦值時(shí)會自動進(jìn)行類型轉(zhuǎn)換。 將實(shí)型數(shù)據(jù)(包括單、雙精度)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。 將整型數(shù)據(jù)賦給單、雙精度變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲到變量中。 將一個(gè)double型數(shù)據(jù)賦給float變量時(shí),截取其前面7位有效數(shù)字,存放到float變量的存儲單元(32位)中。但應(yīng)注意數(shù)值范圍不能溢出。將一個(gè)float型數(shù)據(jù)賦給double變量時(shí),數(shù)值不變,有效位數(shù)擴(kuò)展到16位,在內(nèi)存中以64位(bit)存儲。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,(4) 字符型數(shù)據(jù)賦給整型變量時(shí),由于字符只占1個(gè)字節(jié),需考慮是否有符號,有符號位需“符號擴(kuò)展”。 unsigned signed,青島農(nóng)業(yè)大學(xué)理信學(xué)院,(5) 將一個(gè)int、short、long型數(shù)據(jù)賦給一個(gè)char型變量時(shí),只將其低8位原封不動地送到char型變量(即截?cái)?。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,(6) 將帶符號的整型數(shù)據(jù)(int型)賦給long型變量時(shí),要進(jìn)行符號擴(kuò)展。反之,若將一個(gè)long型數(shù)據(jù)賦給一個(gè)int型變量,只將long型數(shù)據(jù)中低16位原封不動地送到整型變量(即截?cái)?。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,(7) 將unsigned int型數(shù)據(jù)賦給long int型變量時(shí),不存在符號擴(kuò)展問題,只需將高位補(bǔ)0即可。 將一個(gè)unsigned類型數(shù)據(jù)賦給一個(gè)占字節(jié)數(shù)相同的整型變量(例如:unsigned int=int,unsigned long=long,unsigned short=short),將unsigned型變量的內(nèi)容原樣送到非unsigned型變量中,但如果數(shù)據(jù)范圍超過相應(yīng)整型的范圍,則會出現(xiàn)數(shù)據(jù)錯(cuò)誤。 將非unsigned型數(shù)據(jù)賦給長度相同的unsigned型變量,也是原樣照賦(連原有的符號位也作為數(shù)值一起傳送)。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,青島農(nóng)業(yè)大學(xué)理信學(xué)院,3)復(fù)合的賦值運(yùn)算符,賦值運(yùn)算符前面加上其它運(yùn)算符,就構(gòu)成復(fù)合的賦值運(yùn)算符;如 等 例子: 等價(jià)于 * 等價(jià)于 *() 等價(jià)于 ,以“”為例來說明,它相當(dāng)于使進(jìn)行一次自加的操作。即先使加,再賦給。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,語言規(guī)定可以使用10種復(fù)合賦值運(yùn)算符: ,*, ,|,青島農(nóng)業(yè)大學(xué)理信學(xué)院,4)賦值表達(dá)式,由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來的式子稱為“賦值表達(dá)式”。 一般形式為 比如a3就是一個(gè)賦值表達(dá)式,青島農(nóng)業(yè)大學(xué)理信學(xué)院,賦值表達(dá)式的值,求賦值運(yùn)算符右側(cè)的“表達(dá)式”的值; 賦給賦值運(yùn)算符左側(cè)的變量; 賦值表達(dá)式的值就是右側(cè)的計(jì)算結(jié)果。 例子:a3*5,青島農(nóng)業(yè)大學(xué)理信學(xué)院,左值和右值,左值 (lvalue) :賦值運(yùn)算符左側(cè)的標(biāo)識符 變量可以作為左值; 而表達(dá)式就不能作為左值(如a+b); 常變量也不能作為左值。,右值 (rvalue) :出現(xiàn)在賦值運(yùn)算符右側(cè)的表達(dá)式 左值也可以出現(xiàn)在賦值運(yùn)算符右側(cè),因而左值 都可以作為右值。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,賦值表達(dá)式中的“表達(dá)式”,又可以是一個(gè)賦值表 達(dá)式。 例如: a=(b=5),分析:括弧內(nèi)的“b=5”是一個(gè)賦值表達(dá)式,它 的值等于5。執(zhí)行表達(dá)式“a=(b=5)”相當(dāng)于執(zhí)行 “b=5”和“ab”兩個(gè)賦值表達(dá)式。 賦值運(yùn)算符 按照“自右而左”的結(jié)合順序,因此,“(b5)” 外面的括弧可以不要,即“a=(b=5)”和“a=b=5” 等價(jià)。,青島農(nóng)業(yè)大學(xué)理信學(xué)院,賦值表達(dá)式(a=3*5)=4*3,分析:先執(zhí)行括弧內(nèi)的運(yùn)算,將15賦給a,然后執(zhí)行 4*3的運(yùn)算,得12,再把12賦給a。最后a的值為12, 整個(gè)表達(dá)式的值為12??梢钥吹?a=3*5)出現(xiàn)在賦 值運(yùn)算符的左側(cè),因此賦值表達(dá)式(a=3*5)是左值,注意:在對賦值表達(dá)式(a=3*5)求解后,變量a得到值 15執(zhí)行(a=3*5)=4*3時(shí),實(shí)際上是將4*3的積12賦給變 量a,而不是賦給3*5。,不能寫成: a=3*5=4*3,青島農(nóng)業(yè)大學(xué)理信學(xué)院,

溫馨提示

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

最新文檔

評論

0/150

提交評論