面向?qū)ο蟪绦蛟O(shè)計(jì)課程輔導(dǎo)一_第1頁
面向?qū)ο蟪绦蛟O(shè)計(jì)課程輔導(dǎo)一_第2頁
面向?qū)ο蟪绦蛟O(shè)計(jì)課程輔導(dǎo)一_第3頁
面向?qū)ο蟪绦蛟O(shè)計(jì)課程輔導(dǎo)一_第4頁
面向?qū)ο蟪绦蛟O(shè)計(jì)課程輔導(dǎo)一_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蟪绦蛟O(shè)計(jì)課程輔導(dǎo)(一)-C+數(shù)據(jù)和運(yùn)算 一、 數(shù)據(jù)類型 數(shù)據(jù)是人們記錄概念和事物的符號(hào)表示。如記錄人的姓名用漢字表示,記錄人的年齡用十進(jìn)制數(shù)字表示,記錄人的體重用十進(jìn)制數(shù)字和小數(shù)點(diǎn)表示等,由此得到的姓名、年齡和體重都叫數(shù)據(jù)。根據(jù)數(shù)據(jù)的性質(zhì)不同,可以把數(shù)據(jù)分為不同的類型。在日常使用中,數(shù)據(jù)主要被分為數(shù)值和文字(即非數(shù)值)兩大類,數(shù)值又細(xì)分為整數(shù)和小數(shù)兩類。 在C+語言中,每一種具體類型都對(duì)應(yīng)著唯一的類型關(guān)鍵字、類型長度和值域范圍。 表1-1類型關(guān)鍵字長度值域范圍有符號(hào)短整數(shù)short, short int, signed short int2-215215-1內(nèi)的整數(shù)無符號(hào)短整數(shù)Unsi

2、gned short, unsigned short int20216-1內(nèi)的整數(shù)有符號(hào)整數(shù)int, signed int 4-231231-1內(nèi)的整數(shù)無符號(hào)整數(shù)Unsigned, unsigned int 40232-1內(nèi)的整數(shù)有符號(hào)長整數(shù)long, long int, signed long int4-231231-1內(nèi)的整數(shù)無符號(hào)長整數(shù)Unsigned long, unsigned long int 40232-1內(nèi)的整數(shù)有符號(hào)字符char, signed char1-128+127內(nèi)的整數(shù)無符號(hào)字符Unsigned char10255內(nèi)的整數(shù)邏輯bool 10和1枚舉enum 4為in

3、t值域內(nèi)的一個(gè)子集單精度數(shù)float 4-3.402823*10383.402823*1038內(nèi)的數(shù)雙精度數(shù)double 8-1.7977*103081.7977*10308內(nèi)的數(shù)長雙精度long double8-1.7977*103081.7977*10308內(nèi)的數(shù)指針 *40232-1內(nèi)的整數(shù)引用 &數(shù)組 結(jié)構(gòu)struct 聯(lián)合union 類class 空值void 下面對(duì)表1-1作幾點(diǎn)說明: 1. 在每一種類型的關(guān)鍵字一欄中,用逗號(hào)分開的各組關(guān)鍵字是等價(jià)的,都是表示該類型的關(guān)鍵字。如int和signed int都表示有符號(hào)整數(shù)類型。 2. 整數(shù)類型簡稱整型。大的整數(shù)類型包括小的整數(shù)類型、

4、字符類型、邏輯類型和枚舉類型,而小的整數(shù)類型又包括短整型(short int)、整型(int)和長整型(long int)三種具體類型。讀者應(yīng)根據(jù)上下文聯(lián)系來理解以后敘述中所用“整型”的含義。 3. 對(duì)于每一種整數(shù)類型和字符類型,又可分為有符號(hào)和無符號(hào)兩種類型。通常使用較多的是有符號(hào)類型,所以時(shí)常也把有符號(hào)類型簡稱為所屬類型。如把有符號(hào)整數(shù)類型簡稱為整型或int型,把有符號(hào)字符類型簡稱為字符型或char型。 4. 類型長度是指存儲(chǔ)該類型值域范圍內(nèi)的任一個(gè)數(shù)據(jù)(又稱為值)所占有的存儲(chǔ)字節(jié)數(shù),該字節(jié)數(shù)由系統(tǒng)規(guī)定,并且對(duì)任一數(shù)據(jù)都相同。如短整型長度為2,即存儲(chǔ)每個(gè)短整數(shù)占用2個(gè)字節(jié),對(duì)應(yīng)16個(gè)二進(jìn)制

5、位;整型長度為4,即存儲(chǔ)每個(gè)整數(shù)占用4個(gè)字節(jié),對(duì)應(yīng)32個(gè)二進(jìn)制位;字符型長度為1,即存儲(chǔ)每個(gè)字符占用1個(gè)字節(jié),對(duì)應(yīng)8個(gè)二進(jìn)制位。 5. 類型的值域范圍是指該類型所對(duì)應(yīng)的固定大小的存儲(chǔ)空間按照相應(yīng)的存儲(chǔ)格式所能表示的值的范圍。如對(duì)于有符號(hào)短整型來說,它對(duì)應(yīng)2個(gè)字節(jié)的存儲(chǔ)空間,存儲(chǔ)格式為二進(jìn)制整數(shù)補(bǔ)碼格式,只能夠表示(即存儲(chǔ))-215215-1,即-32768+32767之間的所有整數(shù)。若一個(gè)整數(shù)小于-32768或大于32767,則它就不是該類型中的一個(gè)值,即它不是一個(gè)短整數(shù)。又如對(duì)于無符號(hào)字符類型來說,它對(duì)應(yīng)1個(gè)字節(jié)的存儲(chǔ)空間,存儲(chǔ)格式為二進(jìn)制整數(shù)無符號(hào)(隱含為正)格式,只能夠表示028-1,即

6、0255之間的所有整數(shù)。若一個(gè)整數(shù)小于0或大于255,則它就不是該類型中的一個(gè)值,即它不是一個(gè)字符數(shù)據(jù)。 6. 一個(gè)數(shù)的有效數(shù)字是指從該數(shù)最左邊不為0的數(shù)字位起至最右邊不為0的數(shù)字位止之間的每一個(gè)數(shù)字位,而這些數(shù)字位的個(gè)數(shù)稱為該數(shù)的有效數(shù)字位數(shù)。如3500,2.705,-0.278,63.00和0.00104的有效數(shù)字位數(shù)分別為2,4,3,2和3。另外,若一個(gè)數(shù)帶有指數(shù)部分,則它不影響整個(gè)數(shù)的有效數(shù)字位數(shù)。如3.14,3.14*105,314*10-6等都具有相同的有效數(shù)字的位數(shù),即都為3位。 7. 單精度型的值域范圍是從-3.402823*1038至3.402823*1038之間的不超過7位

7、有效數(shù)字的所有整數(shù)和小數(shù)。如-372.65, -0.14*10-6, 0.0, +12.7, -6.45, 100.0, 8.062*1025等都是單精度范圍內(nèi)的數(shù)。2.00708463不是單精度范圍內(nèi)的一個(gè)數(shù),若舍去它的最后兩位有效數(shù)字,使之近似為2.007084,則就成為單精度范圍內(nèi)的一個(gè)數(shù)。 8. 雙精度型的值域范圍比單精度型的值域范圍更廣,能夠表示從-1.79769313486241*10308至1.79769313486241*10308之間的不超過15位有效數(shù)字的所有整數(shù)和小數(shù)。當(dāng)一個(gè)數(shù)的有效數(shù)字的位數(shù)超過15時(shí),則舍去第15位以后的所有位后,則可近似成為雙精度范圍內(nèi)的一個(gè)數(shù)。在V

8、C+中長雙精度型與雙精度型定義完全相同。 9. 在VC+6.0版本中,整型(int)和長整型(long ing)具有完全相同的長度和存儲(chǔ)格式,所以它們是等同的。但在早期的C+版本中,由于當(dāng)時(shí)的機(jī)器字長為16位,所以整型和長整型的長度是不同的,前者為2個(gè)字節(jié),后者為4個(gè)字節(jié)。無論如何,任一種C+語言都遵循short int型的長度小于等于int型長度,同時(shí)int型長度又小于等于long ing型長度的規(guī)定。 與上述情況類似,在VC+6.0中,雙精度型(double)和長雙精度型(long double)也具有完全相同的長度和存儲(chǔ)格式,它們是等同的。在其他C+語言中也可能不同,但無論如何,它們都遵

9、循float型的長度小于等于double型長度,同時(shí)double型長度又小于等于long double型長度的規(guī)定。 使用C+中的sizeof運(yùn)算符(該運(yùn)算符是一個(gè)保留字)能夠很容易知道任一種數(shù)據(jù)類型的長度。如sizeof(int)的值就是一個(gè)整型的長度,sizeof(long double)的值就是一個(gè)長雙精度型的長度。 10. C+中的枚舉、數(shù)組、結(jié)構(gòu)、聯(lián)合和類都是需要用戶進(jìn)行具體定義的類型,而其他所有類型都是預(yù)定義類型,即在C+系統(tǒng)內(nèi)部已經(jīng)定義了的類型。對(duì)于預(yù)定義類型,用戶可以在程序中的任何地方直接使用它,對(duì)于用戶定義類型,只有用戶根據(jù)需要給出具體定義后,才能夠在后面的程序中使用它。 二

10、、常量 常量是指在程序執(zhí)行中不變的量,它分為字面常量和符號(hào)常量(又稱標(biāo)識(shí)符常量)兩種表示方法。如25,-3.26,a,“constant”等都是字面常量,即字面本身就是它的值。符號(hào)常量是一個(gè)標(biāo)識(shí)符,對(duì)應(yīng)著一個(gè)存儲(chǔ)空間,該空間中保存的數(shù)據(jù)就是該符號(hào)常量的值,這個(gè)數(shù)據(jù)是在定義符號(hào)常量時(shí)賦予的,是以后不能改變的。如C+保留字中的true和false就是系統(tǒng)預(yù)先定義的兩個(gè)符號(hào)常量,它們的值分別為數(shù)值0和1。 關(guān)于符號(hào)常量的定義和賦初值的問題將在下一節(jié)同變量一起討論,這一節(jié)只討論字面常量的表示問題。 (一) 整型常量 整型常量簡稱整數(shù),它有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種表示。 1. 十進(jìn)制整數(shù) 十進(jìn)制整數(shù)

11、由正號(hào)(+)或負(fù)號(hào)(-)開始的、接著為首位非0的若干個(gè)十進(jìn)制數(shù)字所組成。若前綴為正號(hào)則為整數(shù),若前綴為負(fù)號(hào)則為負(fù)數(shù),若無符號(hào)則認(rèn)為是正數(shù)。如38,-25,+120,74286等都是符合書寫規(guī)定的十進(jìn)制整數(shù)。 當(dāng)一個(gè)十進(jìn)制整數(shù)大于等于-2147483648即-231-1,同時(shí)小于等于2147483647即231-1時(shí),則被系統(tǒng)看作是int型常量;當(dāng)在21474836484294967295即232-1范圍之內(nèi)時(shí),則被看作是unsigned int型常量;當(dāng)超過上述兩個(gè)范圍時(shí),則無法用C+整數(shù)類型表示,只有把它用實(shí)數(shù)(即帶小數(shù)點(diǎn)的數(shù))表示才能夠被有效地存儲(chǔ)和處理。 2. 八進(jìn)制整數(shù) 八進(jìn)制整數(shù)由首

12、位數(shù)字為0的后接若干個(gè)八進(jìn)制數(shù)字(借用十進(jìn)制數(shù)字中的07)所組成。八進(jìn)制整數(shù)不帶符號(hào)位,隱含為正數(shù)。如0,012,0377,04056等都是八進(jìn)制整數(shù),對(duì)應(yīng)的十進(jìn)制整數(shù)依次為0,10,255和2094。 當(dāng)一個(gè)八進(jìn)制整數(shù)大于等于0同時(shí)小于等于017777777777時(shí),則稱為int型常量,當(dāng)大于等于020000000000同時(shí)小于等于037777777777時(shí),則稱為unsigned int型常量,超過上述兩個(gè)范圍的八進(jìn)制整數(shù)則不要使用,因?yàn)闆]有相對(duì)應(yīng)的C+整數(shù)類型。 3. 十六進(jìn)制整數(shù) 十六進(jìn)制整數(shù)由數(shù)字0和字母x(大、小寫均可)開始的、后接若干個(gè)十六進(jìn)制數(shù)字(09,AF或af)所組成。同八

13、進(jìn)制整數(shù)一樣,十六進(jìn)制整數(shù)也均為正數(shù)。如0x0,0X25,0x1ff,0x30CA等都是十六進(jìn)制整數(shù),對(duì)應(yīng)的十進(jìn)制整數(shù)依次為0,37,511和4298。 當(dāng)一個(gè)十六進(jìn)制整數(shù)大于等于0同時(shí)小于等于0x7FFFFFFF時(shí),則稱為int型常量,當(dāng)大于等于0x80000000同時(shí)小于等于0xFFFFFFFF時(shí),則稱為unsigned int型常量,超過上述兩個(gè)范圍的十六進(jìn)制整數(shù)沒有相對(duì)應(yīng)的C+整數(shù)類型,所以不能使用它們。 4. 在整數(shù)末尾使用u和l字母 對(duì)于任一種進(jìn)制的整數(shù),若后綴有字母u(大、小寫等效),則硬性規(guī)定它為一個(gè)無符號(hào)整型(unsigned int)數(shù),若后綴有字母l(大、小寫等效),則硬

14、性規(guī)定它為一個(gè)長整型(long int)數(shù)。在一個(gè)整數(shù)的末尾,可以同時(shí)使用u和l,并且對(duì)排列無要求。如25U,0327UL,0x3ffbL,648LU等都是整數(shù),其類型依次為unsigned int,unsigned long int,long int和unsigned long int。 (二) 字符常量 字符常量簡稱字符,它以單引號(hào)作為起止標(biāo)記,中間為一個(gè)或若干個(gè)字符。如a,%,n,012,125,x4F等都是合乎規(guī)定的字符常量。每個(gè)字符常量只表示一個(gè)字符,當(dāng)字符常量的一對(duì)單引號(hào)內(nèi)多于一個(gè)字符時(shí),則將按規(guī)定解釋為一個(gè)字符。如a表示字符a,125解釋為字符U(稍后便知是如何解釋的)。 因?yàn)樽?/p>

15、符型的長度為1,值域范圍是-128127或0255,而在計(jì)算機(jī)領(lǐng)域使用的ASCII字符,其ASCII碼值為0127,正好在C+字符型值域內(nèi)。所以,每個(gè)ASCII字符均是一個(gè)字符型數(shù)據(jù),即字符型中的一個(gè)值。 對(duì)于ASCII字符集中的每個(gè)可顯示字符(個(gè)別字符除外),對(duì)應(yīng)的C+字符常量就是它本身,對(duì)應(yīng)的值就是該字符的ASCII碼,表示時(shí)用單引號(hào)括起來;對(duì)于象回車、換行那樣的具有控制功能的字符,以及對(duì)于象單引號(hào)、雙引號(hào)那樣的作為特殊標(biāo)記使用的字符,就無法采用上述的表示方法。為此引入了“轉(zhuǎn)義”字符的概念,其含義是:以反斜線作引導(dǎo)的下一個(gè)字符失去了原來的含義,而轉(zhuǎn)義為具有某種控制功能的字符。如n中的字符n

16、通過前面使用的反斜線轉(zhuǎn)義后就成為一個(gè)換行符,其ASCII碼為10。為了表示用作特殊標(biāo)記使用的可顯示字符,也需要用反斜線字符引導(dǎo)。如表示單引號(hào)字符,若直接使用表示單引號(hào)是不行的,因?yàn)榇藭r(shí)的單引號(hào)具有二義性。另外,還允許用反斜線引導(dǎo)一個(gè)具有1至3位的八進(jìn)制整數(shù)或一個(gè)以字母x作為開始標(biāo)記的具有1至2位的十六進(jìn)制整數(shù),對(duì)應(yīng)的字符就是以這個(gè)整數(shù)作為ASCII碼的字符。如0,12,73,146,x5A等對(duì)應(yīng)的字符依次為空字符(其ASCII碼為0,注意:它不同與空格字符,空格字符的ASCII碼為32),換行符,;,f和Z等。 由反斜線字符開始的符合上述使用規(guī)定的字符序列稱為轉(zhuǎn)義序列,C+語言中的所有轉(zhuǎn)義序列

17、如表1-2所示。 表1-2轉(zhuǎn)義序列對(duì)應(yīng)值對(duì)應(yīng)功能或字符轉(zhuǎn)義序列對(duì)應(yīng)值對(duì)應(yīng)功能或字符a7響鈴92反斜線b8退格39單引號(hào)f12換頁”34雙引號(hào)n10換行?63問號(hào)r13回車cccccc的十進(jìn)制值該值對(duì)應(yīng)的字符t9水平制表xhhhh的十進(jìn)制值該值對(duì)應(yīng)的字符v11垂直制表 轉(zhuǎn)義序列不但可以作為字符常量,也可以同其他字符一樣使用在字符串中。如 “abcn”字符串中含有四個(gè)字符,最后一個(gè)為換行符, “tx=”中的首字符為水平制表符,當(dāng)輸出它時(shí)將使光標(biāo)后移8個(gè)字符位置。 對(duì)于一個(gè)字符,當(dāng)用于輸出顯示時(shí),將顯示出字符本身或體現(xiàn)出相應(yīng)的控制功能,當(dāng)出現(xiàn)在計(jì)算表達(dá)式中時(shí),將使用它的ASCII碼。如: (1) c

18、har ch=E; (2) int x=ch+2; (3) if(chC) coutchCendl; (4) coutC比較,實(shí)際上是取出各自的值(即對(duì)應(yīng)的ASCII碼)比較,因條件成立,所以執(zhí)行其后的輸出語句,將向屏幕輸出EC。第四條語句輸出一個(gè)字符串,即原樣輸出apple和使光標(biāo)移到下一行開始位置。 (三) 邏輯常量 邏輯常量是邏輯類型中的值,VC+用保留字bool表示邏輯類型,該類型只含有兩個(gè)值,即整數(shù)0和1,用0表示邏輯假,用1表示邏輯真。在VC+中還定義了這兩個(gè)邏輯值所對(duì)應(yīng)的符號(hào)常量false和true,false的值為0,表示邏輯假,true的值為1,表示邏輯真。 由于邏輯值是整數(shù)

19、0和1,所以它也能夠象其他整數(shù)一樣出現(xiàn)在表達(dá)式里,參與各種整數(shù)運(yùn)算。 (四) 枚舉常量 枚舉常量是枚舉類型中的值,即枚舉值。枚舉類型是一種用戶定義的類型,只有用戶在程序中定義它后才能被使用。用戶通常利用枚舉類型定義程序中需要使用的一組相關(guān)的符號(hào)常量。枚舉類型的定義格式為: enum ; 它是一條枚舉類型定義語句,該語句以enum保留字開始,接著為枚舉類型名,它是用戶命名的一個(gè)標(biāo)識(shí)符,以后就直接使用它表示該類型,枚舉類型名后為該類型的定義體,它是由一對(duì)花括號(hào)和其中的枚舉表所組成,枚舉表為一組用逗號(hào)分開的由用戶命名的符號(hào)常量,每個(gè)符號(hào)常量又稱為枚舉常量或枚舉值。如: (1) enum colorr

20、ed, yellow, blue; (2) enum daySun, Mon, Tues, Wed, Thur, Fri, Sat; 第一條語句定義了一個(gè)枚舉類型color,用來表示顏色,它包含三個(gè)枚舉值red,yellow和blue,分別代表紅色、黃色和蘭色。 第二條語句定義了一個(gè)枚舉類型day,用來表示日期,它包含7個(gè)枚舉值,分別表示星期日、星期一至星期六。 一種枚舉類型被定義后,可以象整型等預(yù)定義類型一樣使用在允許出現(xiàn)數(shù)據(jù)類型的任何地方。如可以利用它定義變量。 (1) enum color c1, c2,c3;(2) enum day today, workday; (3) c1=red

21、;(4) workday=Wed; 第一條語句開始的保留字enum和類型標(biāo)識(shí)符colou表示上述定義的枚舉類型color,其中enum可以省略不寫,后面的三個(gè)標(biāo)識(shí)符c1,c2和c3表示該類型的三個(gè)變量,每一個(gè)變量用來表示該枚舉表中列出的任一個(gè)值。 第二條語句開始的兩個(gè)成分(成分之間的空格除外)表示上述定義的枚舉類型day,同樣enum可以省略不寫,后面的兩個(gè)標(biāo)識(shí)符today和workday表示該類型的兩個(gè)變量,每一個(gè)變量用來表示該枚舉表中列出的七個(gè)值中的任一個(gè)值。 第三條語句把枚舉值red賦給變量c1,第四條語句把枚舉值Wed賦給變量workday。 在一個(gè)枚舉類型的枚舉表中列出的每一個(gè)枚舉常

22、量都對(duì)應(yīng)著一個(gè)整數(shù)值,該整數(shù)值可以由系統(tǒng)自動(dòng)確認(rèn),也可以由用戶指定。若用戶在枚舉表中一個(gè)枚舉常量后加上賦值號(hào)和一個(gè)整型常量,則就表示枚舉常量被賦予了這個(gè)整型常量的值。如: enum daySun=7, Mon=0, Tues, Wed, Thur, Fri, Sat; 用戶指定了Sun的值為7,Mon的值為0。 若用戶沒有給一個(gè)枚舉常量賦初值,則系統(tǒng)給它賦予的值是它前一項(xiàng)枚舉常量的值加1,若它本身就是首項(xiàng),則被自動(dòng)賦予整數(shù)0。如對(duì)于上述定義的color類型,red,yellow和blue的值分別為0,1和2;對(duì)于剛被修改定義的day類型,各枚舉常量的值依次為7,0,1,2,3,4,5,6。 由

23、于各枚舉常量的值是一個(gè)整數(shù),所以可把它同一般整數(shù)一樣看待,參與整數(shù)的各種運(yùn)算。又由于它本身是一個(gè)符號(hào)常量,所以當(dāng)作為輸出數(shù)據(jù)項(xiàng)時(shí),輸出的是它的整數(shù)值,而不是它的標(biāo)識(shí)符,這一點(diǎn)同輸出其他類型的符號(hào)常量是一致的。 (五) 實(shí)型常量 實(shí)型常量簡稱實(shí)數(shù),它有十進(jìn)制的定點(diǎn)和浮點(diǎn)兩種表示方法,不存在其他進(jìn)制的表示。 1. 定點(diǎn)表示 定點(diǎn)表示的實(shí)數(shù)簡稱定點(diǎn)數(shù),它是由一個(gè)符號(hào)(正號(hào)可以省略)后接若干個(gè)十進(jìn)制數(shù)字和一個(gè)小數(shù)點(diǎn)所組成,這個(gè)小數(shù)點(diǎn)可以處在任何一個(gè)數(shù)字位之前或之后。如.12, 1.2, 12., 0.12, -12.40, +3.14, -.02037, -36.0等都是符合書寫規(guī)定的定點(diǎn)數(shù)。 2.

24、浮點(diǎn)表示 浮點(diǎn)表示的實(shí)數(shù)簡稱浮點(diǎn)數(shù),它是由一個(gè)十進(jìn)制整數(shù)或定點(diǎn)數(shù)后接一個(gè)字母e(大、小均可)和一個(gè)1至3位的十進(jìn)制整數(shù)所組成,字母e之前的部分稱為該浮點(diǎn)數(shù)的尾數(shù),之后的部分成為該浮點(diǎn)數(shù)的指數(shù),該浮點(diǎn)數(shù)的值就是它的尾數(shù)乘以10的指數(shù)冪。如3.23E5, +3.25e-8, 2E4, 0.376E-15,1e-6, -6.04E+12, .43E0, 96.e24等都是合乎規(guī)定的浮點(diǎn)數(shù),它們對(duì)應(yīng)的數(shù)值分別為:3.25*105, 3.25*10-8, 20000, 0.376*10-15, 10-6, -6.04*1012, 0.43, 96*1024等。 對(duì)于一個(gè)浮點(diǎn)數(shù),若將它尾數(shù)中的小數(shù)點(diǎn)調(diào)整到

25、最左邊第一個(gè)非零數(shù)字的后面,則稱它為規(guī)格化(或標(biāo)準(zhǔn)化)浮點(diǎn)數(shù)。如21.6E8和-0.074E5是非規(guī)定化的,若將它們分別調(diào)整為2.16E9和-7.4E3則都是規(guī)格化的浮點(diǎn)數(shù)。 3. 實(shí)數(shù)類型的確定 對(duì)于一個(gè)定點(diǎn)數(shù)或浮點(diǎn)數(shù),C+自動(dòng)按一個(gè)雙精度數(shù)來存儲(chǔ),它占用8個(gè)字節(jié)的存儲(chǔ)空間。若在一個(gè)定點(diǎn)數(shù)或浮點(diǎn)數(shù)之后加上字母f(大、小寫均可),則自動(dòng)按一個(gè)單精度數(shù)來存儲(chǔ),它占用4個(gè)字節(jié)的存儲(chǔ)空間。如3.24和3.24f,雖然數(shù)值相同,但分別代表一個(gè)雙精度數(shù)和一個(gè)單精度數(shù),同樣,-2.78E5為一個(gè)雙精度數(shù),而-2.78E5F為一個(gè)單精度數(shù)。 (六) 地址常量 指針類型的值域是0232-1之間的所有整數(shù),每一

26、個(gè)整數(shù)代表內(nèi)存空間中一個(gè)對(duì)應(yīng)單元(若存在的話)的存儲(chǔ)地址,每一個(gè)整數(shù)地址都不允許用戶直接使用來訪問內(nèi)存,以防止用戶對(duì)內(nèi)存系統(tǒng)數(shù)據(jù)的有意或無意的破壞。但用戶可以直接使用整數(shù)0作為地址常量,它是C+中唯一允許使用的地址常量,并稱為空地址常量,它對(duì)應(yīng)的符號(hào)常量為NULL,表示不代表任何地址,在iostream.h等頭文件中有此常量的定義。 三、變量 變量是其值可以被改變的量。每一個(gè)變量都屬于一種數(shù)據(jù)類型,用來表示(即存儲(chǔ))該類型中的一個(gè)值。在程序中只有存在了一種數(shù)據(jù)類型后,才能夠利用它定義出該類型的變量。根據(jù)這一原則,我們可以隨時(shí)利用C+語言中的每一種預(yù)定義類型和用戶已經(jīng)定義的每一種類型定義所需要使

27、用的變量。一個(gè)變量只有被定義后才能被使用,即才能進(jìn)行存儲(chǔ)和讀取其值的操作。 (一) 變量定義語句 變量定義是通過變量定義語句實(shí)現(xiàn)的,該語句的一般格式為: =,; 為已存在的一種數(shù)據(jù)類型,如short, int, long, char, bool, float, double等都是類型關(guān)鍵字,分別代表系統(tǒng)預(yù)定義的短整型、整型、長整型、字符型、邏輯型(又稱布爾型)、單精度型和雙精度型。對(duì)于用戶自定義的類型,可從類型關(guān)鍵字中省略其保留字。如假定struct worker是用戶自定義的一種結(jié)構(gòu)類型,則前面的保留字struct可以省略。 是用戶定義的一個(gè)標(biāo)識(shí)符,用來表示一個(gè)變量,該變量可以通過后面的可選

28、項(xiàng)賦予一個(gè)值,稱為給變量賦初值,是一個(gè)表達(dá)式,它的值就是賦予變量的初值。 該語句格式后面使用的省略號(hào)表示在一條語句中可以定義多個(gè)變量,但各變量定義之間必須用逗號(hào)分開。 (二) 語句格式舉例 (1) int a,b; (2) char ch1=a, ch2=A; (3) int x=a+2*b; (4) double d1, d2=0.0, d3=3.14159; 第一條語句定義了兩個(gè)整型變量a和b;第二條語句定義了兩個(gè)字符變量ch1和ch2,并被分別賦初值為字符a和A;第三條語句定義了一個(gè)整型變量x,并賦予表達(dá)式a+2*b的值作為初值;第四條語句定義了三個(gè)雙精度變量,分別為d1, d2和d3,

29、其中d2被賦予初值0.0,d3被賦予初值3.14159。 (三) 語句執(zhí)行過程 當(dāng)程序執(zhí)行到一條變量定義語句時(shí),首先為所定義的每個(gè)變量在內(nèi)存中分配與類型長度相同的存儲(chǔ)單元,如對(duì)每個(gè)整型變量分配4個(gè)字節(jié)的存儲(chǔ)單元,對(duì)每個(gè)雙精度變量分配8個(gè)字節(jié)的存儲(chǔ)單元;接著若變量名后帶有可選項(xiàng),則計(jì)算出初值表達(dá)式的值,并把它保存到變量所對(duì)應(yīng)的存儲(chǔ)單元中,表示給變量賦初值,若變量名后不帶有可選項(xiàng),則當(dāng)所屬語句處于函數(shù)之外時(shí),將自動(dòng)給變量賦予初值0,否則不賦予任何值,此時(shí)的變量值是不確定的,實(shí)際上是存儲(chǔ)單元中的原有值(現(xiàn)在被稱為垃圾)。 (四) 語句應(yīng)用舉例 假定要計(jì)算一個(gè)圓的周長和面積,則圓的半徑、周長和面積都需

30、要設(shè)定為變量,假定分別用radius, girth和area標(biāo)識(shí)符表示,它們的類型均應(yīng)為實(shí)數(shù)型,即單精度或雙精度型,通常使用雙精度型。根據(jù)圓的半徑計(jì)算周長和面積的公式為: girth=2pradius area=pradiusradius 下面給出用C+語言編寫的計(jì)算程序: #include void main() double radius, girth, area; /定義變量 cinradius; /從鍵盤輸入一個(gè)圓的半徑 girth=2*3.14159*radius; /計(jì)算周長 area=3.14159*radius*radius; /計(jì)算面積 coutradius:radiusen

31、dl; coutgirth: girthendl; coutarea: areaendl; 在這個(gè)程序的主函數(shù)中,第一條語句定義了三個(gè)變量,由于沒有給它們賦初值,所以其值是不確定的;第二條語句從鍵盤輸入一個(gè)常數(shù)給半徑radius,輸入的常數(shù)可以是整數(shù),也可以是定點(diǎn)數(shù)或浮點(diǎn)數(shù),系統(tǒng)將自動(dòng)把它轉(zhuǎn)換為一個(gè)雙精度數(shù)后再賦給radius,即賦給該變量所對(duì)應(yīng)的存儲(chǔ)單元;第三條和第四條語句分別計(jì)算出賦值號(hào)右邊表達(dá)式的值,再分別賦給變量girth和area;第五至七條語句依次向屏幕輸出圓的半徑、周長和面積。 假定程序運(yùn)行后從鍵盤上輸入的半徑為5.62,則得到的輸出結(jié)果為: radius:5.62 girth:

32、 35.3115 area: 99.2252 (五) 符號(hào)常量定義語句 符號(hào)常量定義語句同變量定義語句類似,其語句格式為: const = ,; 該語句以保留字const開始并標(biāo)識(shí),后跟符號(hào)常量的類型關(guān)鍵字,接下去為符號(hào)常量名,它是一個(gè)用戶定義的標(biāo)識(shí)符,符號(hào)常量名之后為一個(gè)賦值號(hào)和一個(gè)表達(dá)式(注意:表達(dá)式中既可以含有常量也可以含有變量),由此可見,在定義符號(hào)常量時(shí)必須同時(shí)對(duì)其賦初值。該語句同樣也可以定義多個(gè)符號(hào)常量。 系統(tǒng)執(zhí)行符號(hào)常量定義語句也同執(zhí)行變量定義語句一樣,需要依次為每個(gè)符號(hào)常量分配存儲(chǔ)單元并賦初值。 一個(gè)符號(hào)常量被定義后,它的值就是定義時(shí)所賦予的初值,以后將始終保持不變,因?yàn)橄到y(tǒng)只

33、允許讀取它的值,而不允許向它賦值。 另外,在符號(hào)常量的定義語句中,若為int,則可以被省略。 下面給出幾個(gè)符號(hào)常量定義語句的例子: (1) const int A1=5, A2=A1*4; (2) const double PI=3.14159; (3) const int MaxSize=100; 第一條語句定義了兩個(gè)整型符號(hào)常量A1和A2,并使得它們的初值分別為5和20;第二條語句定義了一個(gè)雙精度符號(hào)常量PI,用它表示數(shù)學(xué)上p的值3.14159;第三條語句定義了一個(gè)整型符號(hào)常量MaxSize,用它代表整數(shù)100。第一條和第三條語句中的int均可以省略不寫。 符號(hào)常量定義語句既可以出現(xiàn)在函數(shù)

34、體外,也可以出現(xiàn)在函數(shù)體內(nèi),這一點(diǎn)也跟變量定義語句相同。 符號(hào)常量也必須遵循先定義后使用的原則,這也與變量的定義和使用的規(guī)則相同。 (六) 使用#define命令定義符號(hào)常量 #define命令是一條預(yù)處理命令,其命令格式為: #define 是用戶定義的標(biāo)識(shí)符,又稱為宏或宏標(biāo)識(shí)符,也是由用戶給定的、將用來代替宏的一個(gè)字符序列。宏被該命令定義后,可以使用在其后的程序中,當(dāng)程序被編譯時(shí)將把所有地方使用的宏標(biāo)識(shí)符替換為對(duì)應(yīng)的,并把宏命令刪除掉。 如一個(gè)宏命令為: #define ABC 10 若在主函數(shù)中有這樣一條語句: int x=ABC*ABC; 則當(dāng)編譯后改變?yōu)椋?int x=10*10;

35、若上述宏命令中的字符序列不是10,而是2+5,則編譯后改變?yōu)椋?int x=2+5*2+5; 可見宏替換后改變了原表達(dá)式中運(yùn)算的優(yōu)先次序,為了克服可能出現(xiàn)的這種錯(cuò)誤,通常使用帶括號(hào)的宏字符序列。如可將上述定義的宏命令改寫為: #define ABC (2+5) 上述語句將會(huì)被正確地替換為: int x=(2+5)*(2+5); 由于使用const語句定義符號(hào)常量帶有數(shù)據(jù)類型,以便系統(tǒng)進(jìn)行類型檢查,同時(shí)該語句具有計(jì)算初值表達(dá)式和給符號(hào)常量賦初值的功能,所以使用它比使用宏命令定義符號(hào)常量要優(yōu)越得多,因此提倡在程序中使用const語句定義符號(hào)常量。 (七) 使用變量和常量的程序舉例 #include

36、 #define M -1 /符號(hào)常量中的字母通常采用大寫 const int N=10; void main() int x,y; coutx; if(xN) y=M*x+1; else y=(x+M)*x-3; coutx yendl; 程序運(yùn)行后若從鍵盤上輸入數(shù)值5,則得到的輸出結(jié)果為: 5 -4 若從鍵盤上輸入的數(shù)值為20,則得到的輸出結(jié)果為: 20 377 四、運(yùn)算符 C+運(yùn)算符又稱操作符,它是對(duì)數(shù)據(jù)進(jìn)行運(yùn)算的符號(hào),參與運(yùn)算的數(shù)據(jù)稱為操作數(shù)或運(yùn)算對(duì)象,由操作數(shù)和操作符連接而成的有效的式子稱為表達(dá)式。 按照運(yùn)算符要求操作數(shù)個(gè)數(shù)的多少,可把C+運(yùn)算符分為單目(或一元)運(yùn)算符、雙目(或二元

37、)運(yùn)算符和三目(或三元)運(yùn)算符三類。單目運(yùn)算符一般位于操作數(shù)的前面,如對(duì)x取負(fù)為-x;雙目運(yùn)算符一般位于兩個(gè)操作數(shù)之間,如兩個(gè)數(shù)a和b相加表示為a+b;三目運(yùn)算符只有一個(gè),即為條件運(yùn)算符,它含有兩個(gè)字符,分別把三個(gè)操作數(shù)分開。 一個(gè)運(yùn)算符可能是一個(gè)字符,也可能由兩個(gè)或三個(gè)字符所組成,還有的是一些C+保留字。如賦值號(hào)(=)就是一個(gè)字符,不等于號(hào)(!=)就是兩個(gè)字符,左移賦值號(hào)(間接訪問數(shù)據(jù)成員 2 !邏輯非 單目從右向左 按位取反+,-取正,取負(fù) *間接訪問對(duì)象 &取對(duì)象地址+,-增1,減1()強(qiáng)制類型轉(zhuǎn)換Sizeof測類型長度New動(dòng)態(tài)申請(qǐng)內(nèi)存單元Delete釋放new申請(qǐng)的單元 3 .*引用

38、指向類成員的指針 雙目從左到右 -*引用指向類成員的指針 4*,/,%乘,除,取余 雙目從左向右 5+,- 加,減 6按位左移,按位右移 7,=小于,小于等于,大于,大于等于 8=,!=等于,不等于 9&按位與 10按位異或 11|按位或 12&邏輯與 13|邏輯或 14?:條件運(yùn)算符 三目從右向左 15=賦值 雙目從右向左+=,-=加賦值,減賦值*=,/=乘賦值,除賦值%=,&=取余賦值,按位與賦值=按位異或賦值|=按位或賦值=按位右移賦值 16,逗號(hào)運(yùn)算符 雙目從左向右 下面對(duì)表1-3中的一些運(yùn)算符作簡要介紹,對(duì)剩余的一些運(yùn)算符將結(jié)合以后各章的有關(guān)內(nèi)容一同介紹。 1. 雙目算術(shù)運(yùn)算符 這類

39、運(yùn)算符包括加、減、乘、除和取余等五種,它們的含義與數(shù)學(xué)上相同。該類運(yùn)算的操作數(shù)為任一種數(shù)值類型,包括任一種整數(shù)類型和任一種實(shí)數(shù)類型。由算術(shù)運(yùn)算符(包括單目和雙目)連接操作數(shù)而成的式子稱為算術(shù)(或數(shù)值)表達(dá)式,每個(gè)算術(shù)表達(dá)式的值為一個(gè)數(shù)值,其類型按如下規(guī)則確定: 當(dāng)參加運(yùn)算的兩個(gè)操作數(shù)均為整型(但具體類型可以不同,如一個(gè)為int型,另一個(gè)為char型)時(shí),則運(yùn)算結(jié)果為int型(因在VC+中int和long int的值域范圍相同,所以可均認(rèn)為是int型),注意:兩個(gè)整數(shù)相除得到的是它們的整數(shù)商,兩個(gè)整數(shù)取余得到的是整余數(shù); 當(dāng)參加運(yùn)算的兩個(gè)操作數(shù)中至少有一個(gè)是單精度型,并且另一個(gè)不是雙精度型時(shí),則

40、運(yùn)算結(jié)果為float型; 當(dāng)參加運(yùn)算的兩個(gè)操作數(shù)中至少有一個(gè)是雙精度型時(shí),則運(yùn)算結(jié)果為double型。 假定整型變量x和y的值分別為25和6,則下面給出整數(shù)運(yùn)算,特別是含有除和取余運(yùn)算的例子: x/8=3 x/y+5=9 10-y%x=4 x%5=0 x*3%4=3 65%x/3=5 -56/6=-9 -56%6=-2 若要使兩個(gè)整數(shù)相除得到一個(gè)實(shí)數(shù),則必須將其中之一轉(zhuǎn)變?yōu)閷?shí)數(shù)。如: 9.0/2=4.5 -15/4.0=-3.75 float(y)/x=0.24 x/double(-8)=-3.125 其中float(y)和double(-8)分別表示把括號(hào)內(nèi)的表達(dá)式的值轉(zhuǎn)換為一個(gè)單精度數(shù)和雙

41、精度數(shù)。 2. 賦值運(yùn)算符 賦值運(yùn)算除了一般的賦值運(yùn)算(=)外,還包括各種復(fù)合賦值運(yùn)算,如+=,-=,*=,/=等。一般賦值運(yùn)算采用的賦值號(hào)借用數(shù)學(xué)上的等號(hào),其功能是把賦值號(hào)右邊的表達(dá)式的值賦給左邊變量所對(duì)應(yīng)的存儲(chǔ)單元中。由一般或復(fù)合賦值號(hào)連接左邊變量和右邊表達(dá)式而構(gòu)成的式子稱為賦值表達(dá)式,每個(gè)賦值表達(dá)式都有一個(gè)值,它就是通過賦值得到的左邊變量的值。如x=3*15-2的值就是通過賦值保存在x中的值43。 通常在一個(gè)賦值表達(dá)式中,賦值號(hào)兩邊的數(shù)據(jù)類型是相同的,若出現(xiàn)不同時(shí),則在賦值前自動(dòng)會(huì)把右邊表達(dá)式的值轉(zhuǎn)換為與左邊變量類型相同的值,然后再把這個(gè)值賦給左邊變量。如執(zhí)行x=20/3.0時(shí),若x為整

42、型,則得到的x的值為6,它是將右邊計(jì)算得到的雙精度值舍去小數(shù)部分,只保留整數(shù)部分6的結(jié)果。再如,執(zhí)行y=40時(shí),若y為雙精度變量,則首先把40轉(zhuǎn)換為雙精度數(shù)40.0(或表示為4.0e1)后再賦給y。注意,當(dāng)把一個(gè)實(shí)數(shù)值賦給一個(gè)整型量時(shí),將丟失小數(shù)部分,獲得的只是整數(shù)部分,它是實(shí)數(shù)的一個(gè)近似值。 在一個(gè)賦值表達(dá)式中可以使用多個(gè)賦值號(hào)實(shí)現(xiàn)給多個(gè)變量賦值的功能。如執(zhí)行x=y=z=0時(shí)就能夠同時(shí)給x,y和z賦值0。由于賦值號(hào)的結(jié)合性是從右向左,所以實(shí)際賦值過程是:首先把0賦給z,得到子表達(dá)式z=0的值為z的值0,接著把這個(gè)值賦給y,得到子表達(dá)式y(tǒng)=z=0的值為y的值0,最后把這個(gè)值賦給x,使x的值也為

43、0。整個(gè)表達(dá)式的值也就是x的值0。 賦值號(hào)也可以使用在常量和變量的定義語句中,用于給它們賦初值。但這里的賦值號(hào)只起到賦初值的作用,并不構(gòu)成賦值表達(dá)式。 在C+中有許多復(fù)合賦值運(yùn)算符,每個(gè)運(yùn)算符的含義為:把右邊表達(dá)式的值同左邊變量的值進(jìn)行相應(yīng)運(yùn)算后,再把這個(gè)運(yùn)算結(jié)果賦給左邊的變量,該復(fù)合賦值表達(dá)式的值也就是保存在左邊變量中的值。如執(zhí)行x+=3時(shí),就是把x的值加上3后再賦給x,它與執(zhí)行x=x+3表達(dá)式的計(jì)算是等價(jià)的,若x的值為5,則計(jì)算后得到的x的值為8,它也是這個(gè)表達(dá)式的值。 對(duì)于任一種賦值運(yùn)算,其賦值號(hào)或復(fù)合賦值號(hào)左邊必須是一個(gè)左值。左值是指具有對(duì)應(yīng)的可由用戶訪問的存儲(chǔ)單元,并且能夠由用戶改變

44、其值的量。如一個(gè)變量就是一個(gè)左值,因?yàn)樗鼘?duì)應(yīng)著一個(gè)存儲(chǔ)單元,并可由編程者通過變量名訪問和改變其值,而一個(gè)字面常量就不是一個(gè)左值,因?yàn)樗淮嬖诠┯脩粼L問并能改變其值的存儲(chǔ)單元,一個(gè)通過const語句定義的符號(hào)常量也不是一個(gè)左值,因?yàn)殡m然用戶能訪問它,但不能改變它的值,一般的算術(shù)表達(dá)式(如x*5+2)也不是一個(gè)左值,因?yàn)樗闹抵荒茈S時(shí)被使用,不能再訪問和改變它。由此可知:表達(dá)式(x+5)=10是非法的,因?yàn)橘x值號(hào)左邊的(x+5)是一個(gè)值,而不是一個(gè)左值,常量10無法賦給它。不是左值的量被稱為右值。 一個(gè)賦值表達(dá)式的結(jié)果實(shí)際上是一個(gè)左值,指的是賦值號(hào)左邊的變量。如x=y-2的值就是被賦值后的x,它是

45、一個(gè)左值,代表著對(duì)應(yīng)存儲(chǔ)單元中的值。同樣,x*=y的結(jié)果也是一個(gè)左值,即x。表達(dá)式(x+=5)*=2是合法的,其結(jié)果為左值x,若x的原值為5,則最后得到的x值為20。 3. 增1和減1運(yùn)算符 增1運(yùn)算符用連續(xù)兩個(gè)加號(hào)(+)表示,減1運(yùn)算符用連續(xù)兩個(gè)減號(hào)(-)表示。它們都是單目操作符,并且要求操作數(shù)必須是左值,通常為一個(gè)變量,操作數(shù)的類型可以是任一種整數(shù)類型,不過對(duì)于枚舉類型需要有相應(yīng)操作符重載的定義。 +和-運(yùn)算符有兩種使用格式:一是使用在操作數(shù)的前面,另一是使用在操作數(shù)的后面,它們都是將操作數(shù)分別增1或減1,但含義略有區(qū)別。進(jìn)行+或-運(yùn)算構(gòu)成的表達(dá)式稱為增1或減1表達(dá)式,當(dāng)操作符使用在前面時(shí)

46、,首先使操作數(shù)增1或減1,然后求出表達(dá)式的值就是被增1或減1后的操作數(shù),它是一個(gè)左值;當(dāng)操作符使用在后面時(shí),同樣使操作數(shù)增1或減1,但求出的表達(dá)式的值是運(yùn)算前的操作數(shù)的值,注意:它不是一個(gè)左值。 假定下面每個(gè)表達(dá)式中整型變量x的值均為10,則: (1) +x /表達(dá)式的值為增1后的x,值為11 (2) x+ /x變?yōu)?1,但表達(dá)式的值為10 (3) -x /表達(dá)式的值為減1后的x,值為9 (4) x- /x變?yōu)?,但表達(dá)式的值為10 (5) +x=5 /x首先變?yōu)?1,然后變?yōu)?,此語句合法,但可能沒意義 (6) x+=5 /x+不是左值,因此不能被賦值,此表達(dá)式非法(7) -x- /因-的結(jié)

47、合性為從右向左,所以先得到x的值為9, /x-的值為10,它不是左值,當(dāng)接著進(jìn)行左邊減1時(shí)非法 (8) -+x /結(jié)果仍為左值x (9) y=x+ /x變?yōu)?1,y的值為10 (10) y=-x /x變?yōu)?,y的值為10 (11) y=5*x+ /x變?yōu)?1,y的值為50(12) y=x*+x; /y的值為121。當(dāng)算術(shù)表達(dá)式中多處出現(xiàn)有同一變量時(shí), /最好不要對(duì)它進(jìn)行+或-操作,以免發(fā)生混亂。如應(yīng)將 /此語句改寫為“x+;”和“y=x*x;”這兩條語句。 還要注意:x+和x+1是不同的表達(dá)式,x+的值為x的原值,x的值為增1后的值,x+1的值為x的值加1后的結(jié)果,運(yùn)算前后x的值不變。+x和x+=1及x=x+1的作用是完全相同的。同理,x-與x-1不同,而-x和x-=1及x=x-1的作用是完全相同的。 4. 測類型長度運(yùn)算符 該運(yùn)算符的使用格式為: sizeof() 運(yùn)算結(jié)果是類型名所表示類型的長度或表達(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論