C第一章基礎(chǔ)知識(shí).ppt_第1頁
C第一章基礎(chǔ)知識(shí).ppt_第2頁
C第一章基礎(chǔ)知識(shí).ppt_第3頁
C第一章基礎(chǔ)知識(shí).ppt_第4頁
C第一章基礎(chǔ)知識(shí).ppt_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C+ 程序設(shè)計(jì),計(jì)算機(jī)語言的基本體系結(jié)構(gòu),語言的基本體系結(jié)構(gòu),程序設(shè)計(jì)語言,本章將簡(jiǎn)要介紹C+中的數(shù)據(jù)類型及相關(guān)運(yùn)算,以及常量、變量、表達(dá)式、語句等,最后介紹簡(jiǎn)單的輸入輸出方法。,第一章 C+基礎(chǔ)知識(shí),第一章 C+基礎(chǔ)知識(shí),1.3 C+的詞法單位,1.6 運(yùn)算符和表達(dá)式,1.8 簡(jiǎn)單的輸入輸出,1.7 數(shù)組與字符數(shù)組,1.5 常量和變量,1.4 C+ 中的數(shù)據(jù)類型,ok,1.1 C+語言概述,1.2 一個(gè)C+程序?qū)嵗?1.1 C語言概述,歷史: C+是由C語言為基礎(chǔ)發(fā)展起來的。 C語言是作為UNIX操作系統(tǒng)的開發(fā)語言為人們所認(rèn)識(shí)。七十年代末,C語言開始移植到非UNIX環(huán)境中,并逐步脫離UNIX系統(tǒng)成為一種獨(dú)立的程序設(shè)計(jì)語言。 1988年美國國家標(biāo)準(zhǔn)協(xié)會(huì)ANSI對(duì)C語言進(jìn)行了標(biāo)準(zhǔn)化,產(chǎn)生了ANSI C。,1.1 C 語言概述,(1)C語言既具備高級(jí)語言的結(jié)構(gòu)和編程環(huán)境,又提供類似于匯編語言那樣的系統(tǒng)資源操縱能力及程序執(zhí)行效率。適合解決有實(shí)時(shí)要求的問題。,C語言的主要特點(diǎn):,(2)有豐富的運(yùn)算符和數(shù)據(jù)類型,表達(dá)式類型多樣化,可以方便地實(shí)現(xiàn)在其他語言中較難實(shí)現(xiàn)的運(yùn)算,對(duì)各種不同類型的程序設(shè)計(jì)都有良好的適應(yīng)性。,(3)以函數(shù)為基礎(chǔ)實(shí)現(xiàn)程序的結(jié)構(gòu)化設(shè)計(jì),支持大型程序的多文件構(gòu)成及單個(gè)文件獨(dú)立編譯,適合大型復(fù)雜程序的設(shè)計(jì)。,(4)語言簡(jiǎn)潔、緊湊,使用方便、靈活。,(5)可移植性好。,1.1 C 語言概述,C+是由C發(fā)展成為的以面向?qū)ο鬄橹饕卣鞯恼Z言。作為C語言的超集,C+繼承了C的所有優(yōu)點(diǎn),又對(duì)數(shù)據(jù)類型做了擴(kuò)充,使得編譯系統(tǒng)可以檢查出更多類型錯(cuò)誤。,C+支持面向?qū)ο蟪绦蛟O(shè)計(jì),通過類和對(duì)象的概念把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作封裝在一起,通過派生、繼承、重載和多態(tài)性等特征實(shí)現(xiàn)了軟件重用和程序自動(dòng)生成,使得大型復(fù)雜軟件的構(gòu)造和維護(hù)變得更加有效和容易。,C+語言的主要特點(diǎn):,1.1 C 語言概述,C+與C完全兼容,很多用C編寫的庫函數(shù)和應(yīng)用程序都可以為C+所用。,但正是由于與C兼容,使得C+不是純正的面向?qū)ο蟮恼Z言,它既支持面向?qū)ο蟪绦蛟O(shè)計(jì),也支持面向過程設(shè)計(jì)。但我們應(yīng)當(dāng)注意用面向?qū)ο蟮乃枷脒M(jìn)行設(shè)計(jì),以發(fā)揮出C+的優(yōu)勢(shì)。,C+語言的兼容性:,1.2 一個(gè)C+程序?qū)嵗?# include int max(int i, int j) /A if (i=j) return i; else return j; int main(void) /B coutij; /從鍵盤上輸入變量值 coutmax number is:max(i, j) n ; /輸出提示和結(jié)果 return 0; ,【例1.1】 一個(gè)簡(jiǎn)單的C+程序。,程序組成:,注釋,編譯預(yù)處理指令,程序體,由若干函數(shù)組成,其中有且僅有一個(gè)主函數(shù)main(),這是程序的執(zhí)行入口。在Windows編程中定義為winmain()。,下面進(jìn)入VC+ 運(yùn)行,1.3 C+的詞法單位,1.3.1 C+的字符集,1.3.2 關(guān)鍵字,1.3.3 標(biāo)識(shí)符(ID,identifier),1.3.4 標(biāo)點(diǎn)符號(hào),ok,1.3.1 C+的字符集,ASCII碼字符集是計(jì)算機(jī)中的常用字符集。它包括英文字母及阿拉伯?dāng)?shù)字等128個(gè)字符,存儲(chǔ)一個(gè)ASCII碼占用一個(gè)字節(jié)單元。,漢字國標(biāo)碼用于漢字處理。國標(biāo)碼的存儲(chǔ)占用兩個(gè)字節(jié)單元。,Unicode字符集對(duì)各類字符進(jìn)行統(tǒng)一的雙字節(jié)編碼。它包括了世界上多種語言的基本字符,最多可容納65536個(gè)字符。 ASCII碼字符集,國標(biāo)碼字符集都是它的子集。,ok,常用字符集:,C+的字符集,C+語言基本字符:,1.3.2 關(guān) 鍵 字,關(guān)鍵字(keyword): 又稱保留字。是由系統(tǒng)定義的具有特定含義的英文單詞。關(guān)鍵字不能另作它用。,C+區(qū)分大小寫,關(guān)鍵字全部由小寫字母組成。標(biāo)準(zhǔn)C+(ISO14882)定義了74個(gè)關(guān)鍵字,具體的C+編譯器會(huì)做一些增刪。常用關(guān)鍵字及分類見表2.1。,ok,關(guān) 鍵 字,表2-1 C+常用關(guān)鍵字及分類,ok,關(guān) 鍵 字,1.3.3 標(biāo)識(shí)符,標(biāo)識(shí)符(Identifier,ID ): 是程序員定義的“單詞”,用來給變量、常量、數(shù)據(jù)類型、函數(shù)等命名。,合法標(biāo)識(shí)符由字母或下劃線開始,由字母、數(shù)字、下劃線組成,其有效長(zhǎng)度為131個(gè)字符,長(zhǎng)度超過31個(gè)字符者只識(shí)別前31個(gè)字符,VC+標(biāo)識(shí)符長(zhǎng)度為1247個(gè)字符。,建議使用有一定含義的英文單詞或拼音序列作標(biāo)識(shí)符,以提高可讀性;另外盡量不用下劃線或雙下劃線打頭,以免與系統(tǒng)定義的關(guān)鍵字沖突。,ok,標(biāo)識(shí)符,例: 判斷下面哪些是合法的標(biāo)識(shí)符:,MyFile,Salary 94,amount,void,94Salary,Salary94,$amount,f3.5,Num_of_Student,1.3.4 標(biāo)點(diǎn)符號(hào),標(biāo)點(diǎn)符號(hào): # ( ) , : ; “ 等。,標(biāo)點(diǎn)符號(hào)的作用:,有一定的語法意義。如字符和字符串常量分別用 和 “ ”引起來。,對(duì)語法符號(hào)起分隔作用。如 ;等,1.4 C+中的數(shù)據(jù)類型,ok,C+基本數(shù)據(jù)類型稱為內(nèi)置數(shù)據(jù)類型,內(nèi)置數(shù)據(jù)類型不僅定義了數(shù)據(jù)類型,還定義了常用操作。本節(jié)僅介紹各種基本數(shù)據(jù)類型的定義,常用操作將在后面介紹。,C+為強(qiáng)類型語言,所有數(shù)據(jù)的使用嚴(yán)格遵從“先說明后使用”的原則,以便編譯器進(jìn)行編譯。,整型:用來存放整數(shù),整數(shù)(有符號(hào)的整數(shù))在內(nèi)存中存放的是它的補(bǔ)碼,無符號(hào)數(shù)沒有符號(hào)位,存放的就是原碼。整數(shù)占用的字節(jié)數(shù)與機(jī)型有關(guān),32位機(jī)上占用4個(gè)字節(jié)。,內(nèi)置數(shù)據(jù)類型:,字符型:用來保存字符,存儲(chǔ)的是該字符的ASCII碼,占用一個(gè)字節(jié)。如大寫字母A的ASCII碼為65,在對(duì)應(yīng)的一個(gè)字節(jié)中存放的就是65。字符型數(shù)據(jù)從本質(zhì)上說也是整數(shù),可以是任何一個(gè)8位二進(jìn)制整數(shù)。C+同時(shí)也支持寬字符類型(wchar_t),或稱雙字節(jié)字符型。,實(shí)型:?jiǎn)尉群碗p精度型都用來存放實(shí)數(shù),兩者表示的實(shí)數(shù)精度不同。實(shí)數(shù)在內(nèi)存中以規(guī)范化的浮點(diǎn)數(shù)存放,包括尾數(shù)、數(shù)符和階碼。數(shù)的精度取決于尾數(shù)的位數(shù),32位機(jī)上實(shí)型為23位(因規(guī)范化數(shù)的數(shù)碼最高位恒為1,不必存儲(chǔ),實(shí)際精度為24位),雙精度為52位。,邏輯型:也稱布爾型,其取值為true(邏輯真)和false(邏輯假),存儲(chǔ)字節(jié)數(shù)在不同編譯系統(tǒng)中可能有所不同,VC+6.0中為1個(gè)字節(jié)。布爾型在運(yùn)算中可以和整型相互轉(zhuǎn)化,false對(duì)應(yīng)為0,true對(duì)應(yīng)為1或非0,無值型:主要用來說明函數(shù)的返回值類型,將在函數(shù)一章中具體介紹。,基本數(shù)據(jù)類型還可以加上一些修飾詞,包括:signed(有符號(hào))、unsigned(無符號(hào))、long(長(zhǎng))、short(短)。參見下表:,VC+中所有基本數(shù)據(jù)類型,1.5 變量和常量,1.5.1 變 量,1.5.2 文字常量,1.5.3 常變量,在程序中,常量和變量是用來表示數(shù)據(jù)的; 常量又分為字面常量、常變量;,ok,1.5.1 變 量,1 變量說明,2 變量初始化值,變量,在程序中是指可以改變值的量; 變量必須用標(biāo)識(shí)符進(jìn)行標(biāo)識(shí),稱為變量名; 變量有類型之分,如整形變量、字符變量等; 任何變量都必須先說明后使用;一是便于編譯程序?yàn)樽兞糠峙淇臻g,二是便于編譯時(shí)進(jìn)行語法檢查; 變量使用的第一步,是給變量賦初始值;,ok,變量說明,在C+中,變量說明的一般格式為: 存儲(chǔ)類型數(shù)據(jù)類型 變量名1,變量名2, ,變量名n;,例: int i, j, k; /說明三個(gè)整型變量i, j, k float x, y, z; /說明三個(gè)單精度實(shí)型變量x, y, z char c1, c2; /說明兩個(gè)字符型變量c1, c2 double dx; /說明一個(gè)雙精度型變量dx,變量初始化,賦初值: 定義變量時(shí)即給變量一個(gè)值稱為變量初始化 例如: int a=3, b=4, c=5; float x=3.0; 變量初始化可以避免引用到隨機(jī)變量。,float x; x=3.0;,1.5.2 文字常量,1. 整型常量,4. 字符串常量,3. 字符型常量,2. 實(shí)型常量,文字常量:指程序中直接給出的量; 常量的值在程序執(zhí)行過程中保持不變;并且存儲(chǔ)在程序區(qū),而非數(shù)據(jù)區(qū); 根據(jù)取值和表示方法的不同,可分為以下幾種:,ok,整型常量,十進(jìn)制表示法,八進(jìn)制表示法,十六進(jìn)制表示法,其他表示法,整型常量表示方法:,ok,整數(shù)的十進(jìn)制表示方法,十進(jìn)制表示與我們熟悉的書寫方式相同。 例: 15 -24,ok,整數(shù)的八進(jìn)制表示,八進(jìn)制表示以0開始,由數(shù)字07組成,用來表示一個(gè)八進(jìn)制數(shù)。 例: 012 /八進(jìn)制數(shù)12,即十進(jìn)制數(shù)10 -0655 /八進(jìn)制數(shù)-655,即十進(jìn)制數(shù)-429,ok,整數(shù)的十六進(jìn)制表示,十六進(jìn)制以0X(大小寫均可)開始,由數(shù)字09和字母AF(大小寫均可)組成,用來表示一個(gè)十六進(jìn)制數(shù)。 例: 0x32A /十六進(jìn)制數(shù)32A,即十進(jìn)制數(shù)810 -0x2fe0 /十六進(jìn)制數(shù)-2fe0, /即十進(jìn)制數(shù)-12256,ok,整數(shù)的其他表示方法,長(zhǎng)整型常量和無符號(hào)整型常量: 長(zhǎng)整型常數(shù)以 L 或 l 結(jié)尾,無符號(hào)常整數(shù)以 U 或 u 結(jié)尾,以 U L 或 L U(大小寫均可)結(jié)尾則可表示無符號(hào)長(zhǎng)整型常數(shù)。 例如: -84L /十進(jìn)制長(zhǎng)整數(shù)-84 026U /八進(jìn)制表示的無符號(hào)整數(shù)26 0X32LU /十六進(jìn)制表示的無符號(hào)長(zhǎng)整型數(shù)32。,實(shí)型常量,(1)一般形式與平時(shí)書寫形式相同,由數(shù)字 0 9和小數(shù)點(diǎn)組成。例如: 0.23 -125.76 0.0 .46 -35.,(2) 指數(shù)形式(也稱為科學(xué)表示法)表示為尾數(shù)乘以10的次方形式,由尾數(shù)、E或e和階數(shù)組成。指數(shù)形式要求在E或e前面的尾數(shù)部分必須有數(shù)字,后面的指數(shù)部分必須為整數(shù)。,例 : 判斷下列表示是否合法,123E12,-.34e-2,E4,1.43E3.5,包含小數(shù)點(diǎn)和10的冪的數(shù)為實(shí)型常量 表示方法:,字符型常量,字符常量: 用單引號(hào)引起來的單個(gè)字符。在內(nèi)存中保存的是字符的ASCII碼值。在所有字符中,可顯示字符通常就用單引號(hào)引起來表示: a /字符a /字符 4 /字符4 /空格字符 特殊情況字符,如不可顯示的字符等,c+使用轉(zhuǎn)義序列表示方法(詳見表1-3,此處略): n /換行 /字符 a /響鈴,4. 字符串常量,字符串常量與字符型常量的區(qū)別:,字符串常量“ a“ 占兩個(gè)字節(jié),存放a和0,值為0x6100,字符型常量a 占一個(gè)字節(jié),存放a,值為0x61,字符串常量: 用雙引號(hào)引起來的若干個(gè)字符。 例如: “ I am a Chinese.“, “123“,“ a “, “ “,1.5.3 常變量,標(biāo)識(shí)符常量: 用常量說明符const給文字常量起的名字(標(biāo)識(shí)符),因?yàn)槠湔f明和引用形式很像變量,所以也稱常變量; 例如: const float PI=3.14159; const int Number_of_Student=100; 常變量必須也只能在說明時(shí)進(jìn)行初始化; 常變量初始化之后,不允許再被賦值; 常變量必須先說明后使用; 常變量存儲(chǔ)在數(shù)據(jù)區(qū),并且可以按地址訪問,編譯時(shí)系 統(tǒng)對(duì)常變量進(jìn)行類型檢查。 C+建議使用常變量,而不要使用文字常量。,1.6 運(yùn)算符和表達(dá)式,1.6.1 運(yùn)算符、優(yōu)先級(jí)和結(jié)合性,1.6.2 基本運(yùn)算符及其表達(dá)式,1.6.4 算術(shù)類型轉(zhuǎn)換和賦值類型轉(zhuǎn)換 (選讀),1.6.5 求值次序與副作用,1.6.3 語句,本節(jié)的重點(diǎn): 介紹與基本數(shù)據(jù)類型封裝在一起的運(yùn)算(操作)。,ok,1.6.1 運(yùn)算符、優(yōu)先級(jí)和結(jié)合性,ok,在C+中對(duì)常量或變量進(jìn)行運(yùn)算或處理的符號(hào)稱為運(yùn)算符,參與運(yùn)算的對(duì)象稱為操作數(shù)。,運(yùn)算符按操作數(shù)的數(shù)量分類: 單目運(yùn)算符只對(duì)一個(gè)操作數(shù)運(yùn)算,如負(fù)號(hào)運(yùn)算符“”等; 雙目運(yùn)算符要求有兩個(gè)操作數(shù),如乘號(hào)運(yùn)算符“*”等; 三目運(yùn)算符要求有三個(gè)操作數(shù),三元運(yùn)算符只有一個(gè)“?:”。,1.6.1 運(yùn)算符、優(yōu)先級(jí)和結(jié)合性,ok,優(yōu)先級(jí)和結(jié)合性決定了運(yùn)算中的優(yōu)先關(guān)系。,優(yōu)先級(jí):指不同運(yùn)算符在運(yùn)算中的優(yōu)先關(guān)系,可以用序號(hào)表示,序號(hào)越小,優(yōu)先級(jí)越高。 例如: 加號(hào)()和減號(hào)()的優(yōu)先級(jí)是6;乘號(hào)( * )和除號(hào)( / )的優(yōu)先級(jí)是5;* 和 / 的優(yōu)先級(jí)高于和。,1.6.1 運(yùn)算符、優(yōu)先級(jí)和結(jié)合性,結(jié)合性: 決定優(yōu)先級(jí)相等的運(yùn)算符組合在一起時(shí)的運(yùn)算次序,同一優(yōu)先級(jí)的運(yùn)算符有相同的結(jié)合性。 如+、-的結(jié)合性是從左到右(左結(jié)合),則a+b+c-d的運(yùn)算次序?yàn)椋?(a+b)+c)-d /先算a+b,再加c,最后減d 又如前+和單目負(fù)-的結(jié)合性是從右到左(右結(jié)合),則-+a的運(yùn)算次序?yàn)椋?-(+a) /先做+a,再取相反數(shù)(加負(fù)號(hào)) 這對(duì)算法描述是必須的,每一步做什么必須確定。,1.6.1 運(yùn)算符、優(yōu)先級(jí)和結(jié)合性,例: (1) a*b+c; /先做乘法運(yùn)算,再做加法 (2) a+b-c ; /根據(jù)左結(jié)合性,先取a、b相加; /再取c,最后相減 演示如下:設(shè)a=10,b=20,c=15;,10,20,15,15,1 算術(shù)運(yùn)算符及其表達(dá)式,4 邏輯運(yùn)算、邏輯表達(dá)式及其求值優(yōu)化,5 位運(yùn)算(選讀),2 賦值運(yùn)算符賦值表達(dá)式,3 自增、自減運(yùn)算,6 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式,1.6.2 基本運(yùn)算符及其表達(dá)式,7 sizeof( )運(yùn)算符,表達(dá)式:由運(yùn)算符、操作數(shù)及標(biāo)點(diǎn)符號(hào)組成的,能取得一個(gè)值的式子。,1.算術(shù)運(yùn)算符及其表達(dá)式,ok,整數(shù)的算術(shù)運(yùn)算: 當(dāng)兩個(gè)操作數(shù)均為整數(shù)時(shí),*和/重載為整乘和整除,結(jié)果為整數(shù),除法運(yùn)算后舍去小數(shù)取整。如: 5/4 /結(jié)果為1,整數(shù),當(dāng)兩個(gè)操作數(shù)均為整數(shù),%定義為求余運(yùn)算,也稱求模運(yùn)算,結(jié)果為兩個(gè)整數(shù)相除后的余數(shù)。如果兩個(gè)整數(shù)中有負(fù)數(shù),則先用兩數(shù)絕對(duì)值求余,最后結(jié)果的符號(hào)與被除數(shù)相同。例如 6%3 /結(jié)果為0 6%7 /結(jié)果為6 7%6 /結(jié)果為1 -7%6 /結(jié)果為-1 7%-6 /結(jié)果為1 -7%-6 /結(jié)果為-1,實(shí)數(shù)的算術(shù)運(yùn)算: 只要有一個(gè)操作數(shù)是實(shí)數(shù),兩個(gè)操作數(shù)均轉(zhuǎn)換為double型,*和/重載為普通的乘和除,結(jié)果是實(shí)數(shù): 5/4.0 /結(jié)果為1.25,實(shí)數(shù),運(yùn)算符的重載: 運(yùn)算符總是與操作數(shù)封裝在一起。相同的運(yùn)算符對(duì)不同類型的操作數(shù)執(zhí)行的運(yùn)算是有差異的。,算術(shù)表達(dá)式:,使用時(shí)注意: 1、表達(dá)式中每個(gè)變量都有確定的值時(shí)才能進(jìn)行表達(dá)式求值; 2、C+中算術(shù)運(yùn)算應(yīng)注意數(shù)據(jù)溢出問題,即運(yùn)算結(jié)果超出對(duì)應(yīng)數(shù)據(jù)類型的表示范圍。編譯程序只會(huì)對(duì)除法運(yùn)算時(shí)除數(shù)為0這種情況提示出錯(cuò),因此,程序設(shè)計(jì)者必須在程序中解決檢查并處理整數(shù)溢出問題。,ok,由算術(shù)運(yùn)算符連接的表達(dá)式,如:a+b*3 ;,2.賦值運(yùn)算符與賦值表達(dá)式,ok,賦值與引用: 將數(shù)據(jù)存放到相應(yīng)存儲(chǔ)單元中稱為賦值,如果該單元中已有值,賦值操作以新值取代舊值;從某個(gè)存儲(chǔ)單元中取出數(shù)據(jù)使用,稱為引用,引用不影響單元中的值,即一個(gè)量可以多次引用。常量只能引用,不能賦值。,賦值通過賦值運(yùn)算符“=”來完成,其意義是將賦值號(hào)右邊的值送到左邊變量所對(duì)應(yīng)的單元中。賦值號(hào)不是等號(hào),它具有方向性。,左值與右值: C+將變量名代表的單元稱為 “左值”,而將變量的值稱為“右值”。 左值必須是內(nèi)存中一個(gè)可以訪問且可以合法修改的對(duì)象,因此只能是變量名,而不能是常量或表達(dá)式。,2.賦值運(yùn)算符與賦值表達(dá)式,例如下面的賦值運(yùn)算是錯(cuò)誤的: 3.1415926=pi; /左值不能是常數(shù) x+y=z; /左值不能是表達(dá)式 const int N=30; N=40; /左值不能是常變量,2.賦值運(yùn)算符與賦值表達(dá)式,賦值表達(dá)式: 由賦值運(yùn)算符連接的表達(dá)式。格式為: 變量 = 表達(dá)式 例如:x=5+6;a=b=c=d+1; 復(fù)合賦值運(yùn)算符:雙目算術(shù)運(yùn)算符和賦值運(yùn)算符可以組合成單一運(yùn)算符: + = = * = / = % = 格式為: 變量 復(fù)合賦值運(yùn)算符 表達(dá)式 它等同于 變量 = 變量 運(yùn)算符 表達(dá)式 例如:x+=5 等同于:x=x+5,ok,3.自增自減運(yùn)算,前置和后置運(yùn)算: 前置是先增減后引用,即先對(duì)變量自加或自減,用新的值參與其他運(yùn)算;后置則是先引用后增減,即用變量原來的值參與其他運(yùn)算,然后再對(duì)變量進(jìn)行自加或自減,例如: int i=5, j=5, m, n; m=i+; /后置;相當(dāng)于m=i; i=i+1; /結(jié)果:i的值為6,m的值為5; n=+j; /前置;相當(dāng)于j=j+1;n=j; /結(jié)果:j的值為6,n的值為6;,自增自減運(yùn)算符: 意義:使變量當(dāng)前值加1或減1,再賦給該變量自己: i+或+i /相當(dāng)于i=i+1 j-或-j /相當(dāng)于j=j1 要求:操作數(shù)只能是變量,不能是常量或表達(dá)式;,ok,4.邏輯運(yùn)算、邏輯表達(dá)式及其求值優(yōu)化,ok,邏輯運(yùn)算: 用于判斷分析,運(yùn)算符包括關(guān)系和邏輯運(yùn)算符。 關(guān)系運(yùn)算符: 包括:(大于)、(大于等于)、(小于)、(小于等于)、= =(等于)和!=(不等于)。關(guān)系運(yùn)算符完成兩個(gè)操作數(shù)大小的比較,結(jié)果為邏輯值true(真)或false(假)。每種可比較大小的數(shù)據(jù)類型,都重載了關(guān)系運(yùn)算符。不同類型,自動(dòng)轉(zhuǎn)換為同一類型后進(jìn)行比較。,在C+中這兩個(gè)邏輯值與整數(shù)之間有一個(gè)對(duì)應(yīng)關(guān)系,真對(duì)應(yīng)1,假對(duì)應(yīng)0;反過來,0對(duì)應(yīng)假,非0整數(shù)對(duì)應(yīng)真。所以邏輯運(yùn)算結(jié)果可以作為整數(shù)參與算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算及其他運(yùn)算。,關(guān)系表達(dá)式:,例如: a+bc+d /*等同于(a+b)(c+d), 結(jié)果為0或1*/ y=ab /*計(jì)算ab的值0或1 賦給y,y的值為0或1*/ abc /*等同于(ab)c,先求ab 的值, 再將結(jié)果0或1與c比較大小*/,由關(guān)系運(yùn)算符連接的表達(dá)式。值為true或false。,ok,4.邏輯運(yùn)算、邏輯表達(dá)式及其求值優(yōu)化,設(shè)有定義 float a=3.2;int b=5;則: 3ab /結(jié)果是?,根據(jù)右結(jié)合 原則其運(yùn)算 過程如下:,a,5,b,3.2,3,F, 即0,F即0,邏輯運(yùn)算符:,包括:!、&和|,其優(yōu)先級(jí)和語義見下表。,由邏輯運(yùn)算符連接的表達(dá)式。 其操作數(shù)和運(yùn)算結(jié)果均為邏輯量。運(yùn)算結(jié)果同樣可以作為一個(gè)整數(shù)參與其他運(yùn)算。,由于邏輯值和整數(shù)之間的對(duì)應(yīng)關(guān)系,也允許整型和字符型操作數(shù)進(jìn)行邏輯運(yùn)算: 21&0 /邏輯與,21與0,結(jié)果為假:0 21|0 /邏輯或,21或0,結(jié)果為真:1 !21 /邏輯非,21的非,結(jié)果為假:0,邏輯表達(dá)式:,邏輯表達(dá)式計(jì)算時(shí),邏輯非優(yōu)先級(jí)最高,關(guān)系運(yùn)算其次,邏輯與和邏輯或最低。,ok,已知: int a=10, b=20, c=30;float x=1.8, y=2.4;,ay|ay)|(a(b-(!c),t1=1,t2=0,t4=0,-,&,t3=0,t5=b,t6=1,|,得整個(gè)表達(dá)式的值為:,1,邏輯表達(dá)式求值的優(yōu)化:,在求邏輯表達(dá)式值的過程中,一旦表達(dá)式的值能夠確定,就不再逐步進(jìn)行下面的運(yùn)算。稱為“求值優(yōu)化”。,已知: int a=10, b=20, c=30; 求: ab | c+ /結(jié)果以及a,b,c的值,t1=1,整個(gè)表達(dá)式的值為 1,可見: 表達(dá)式 c+ 已不需要計(jì)算所以: c不變?nèi)詾?30,編程人員在使用邏輯運(yùn)算時(shí)應(yīng)當(dāng)加以小心,優(yōu)化計(jì)算固然提高了運(yùn)算效率,但可能產(chǎn)生副作用。所謂副作用,就是出乎設(shè)計(jì)人員的意料,得到預(yù)想不到的結(jié)果。,5. 位運(yùn)算(選讀),(1)按位取反運(yùn)算符“” (2)左移運(yùn)算符“” (4)按位與運(yùn)算符“&” (5)按位或運(yùn)算符“|” (6)按位異或運(yùn)算符“”,ok,c+語言提供字位運(yùn)算,它對(duì)操作數(shù)的各個(gè)位進(jìn)行操作。,(1)按位取反運(yùn)算符“” 將操作數(shù)的每個(gè)二進(jìn)制位取反,即1變?yōu)?,0變?yōu)?。例如,整數(shù)a的值為10011011,則a的值為01100100。,(2)左移運(yùn)算符“” 運(yùn)算一般格式為:an 其中a為整數(shù),n為一個(gè)正整數(shù)常數(shù)。語義為將a的二進(jìn)制數(shù)依次向左移動(dòng)n個(gè)二進(jìn)制位,并在低位補(bǔ)0。左移n位相當(dāng)于乘以2的n次方,但移位運(yùn)算的速度比乘法快。,(3)右移運(yùn)算符“” 與左移運(yùn)算符類同,將左操作數(shù)向右移動(dòng)右操作數(shù)指定的二進(jìn)制位數(shù),忽略移位后的小數(shù)部分,并在高位補(bǔ)0。一個(gè)整數(shù)右移n位相當(dāng)于除以2的n次方,但比除法快。 在VC+6.0中有符號(hào)數(shù)右移時(shí)高位補(bǔ)符號(hào)位,嚴(yán)格對(duì)應(yīng)除法: -323 /-32右移3位,由11100000B得11111100B,即-4,(4)按位與運(yùn)算符“&” 將兩個(gè)操作數(shù)的對(duì)應(yīng)位逐一進(jìn)行按位邏輯與運(yùn)算。運(yùn)算規(guī)則為:對(duì)應(yīng)位均為1時(shí),該位運(yùn)算結(jié)果為1;否則為0。例如: a 01001101 b 00001111 a & b 00001101 該運(yùn)算可用來將整數(shù)的某些位置0,而保留所需要的位,上例保留了低四位。,(5)按位或運(yùn)算符“|” 將兩個(gè)操作數(shù)的對(duì)應(yīng)位逐一進(jìn)行按位邏輯或運(yùn)算。運(yùn)算規(guī)則為:只要有一個(gè)數(shù)對(duì)應(yīng)位為1,該位運(yùn)算結(jié)果即為1;兩個(gè)數(shù)對(duì)應(yīng)位均為0,該位結(jié)果為0。例如: a 01001101 b 00001111 a | b 01001111 該運(yùn)算符可用來將整數(shù)的某些位置1。上例高四位不變,低四位全1。,(6)按位異或運(yùn)算符“” 將兩個(gè)操作數(shù)的對(duì)應(yīng)位逐一進(jìn)行按位異或運(yùn)算。運(yùn)算規(guī)則為:當(dāng)對(duì)應(yīng)位的值不同時(shí),該位運(yùn)算結(jié)果為1,否則為0。例如: a 01001101 b 00001111 a b 01000010 該運(yùn)算符可用來將一個(gè)整數(shù)的某些位取反,或?qū)⒄妥兞康闹抵?(將整型變量與自身按位異或)。上例低四位取反,高四位不變。 雙目位運(yùn)算符也可以與賦值運(yùn)算符組合成復(fù)合賦值運(yùn)算符: = &= | = =,以上6種單目運(yùn)算不影響數(shù)據(jù)本身的值,而是只產(chǎn)生一個(gè)中間量,這個(gè)中間量被引用后即不再存在。,6.逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式,用逗號(hào)連接起來的表達(dá)式稱為逗號(hào)表達(dá)式, (C+中,逗號(hào)既是分隔符,又是運(yùn)算符。) 格式為: 表達(dá)式1,表達(dá)式2,表達(dá)式n 逗號(hào)表達(dá)式中的每一個(gè)表達(dá)式都會(huì)被運(yùn)算,整個(gè)逗號(hào)表達(dá)式的值為最后一個(gè)表達(dá)式的值。 例如:a=(x=3,x+=6,5+6);/a=11 x=9,7. sizeof( ) 運(yùn)算符,用于計(jì)算一個(gè)操作數(shù)類型或一個(gè)變量的字節(jié)數(shù)。一般格式為: sizeof (數(shù)據(jù)類型) 或 sizeof(變量名) 例如:sizeof(int) 值為4 sizeof( float) 值為4 double x; sizeof( x) 值為8,1.6.3 語句,1 表達(dá)式語句:表達(dá)式; 2 空語句: ; 3 復(fù)合語句: /若干語句 流程控制語句:流程控制語句用來控制或 改變程序的執(zhí)行方向 ;,1.6.3結(jié)束,1.6.4 算術(shù)類型轉(zhuǎn)換和賦值類型轉(zhuǎn)換(選讀),1 混合運(yùn)算的類型轉(zhuǎn)換規(guī)則,2 賦 值 類 型 轉(zhuǎn) 換,ok,運(yùn)算過程中,當(dāng)某個(gè)二元運(yùn)算符兩邊的操作數(shù)類型不同但屬于類型相容時(shí),系統(tǒng)先將精度低的操作數(shù)變換到與另一操作數(shù)精度相同,而后再進(jìn)行運(yùn)算。,類型相容: 類型不同但系統(tǒng)可以自動(dòng)進(jìn)行轉(zhuǎn)換。,當(dāng)賦值號(hào)的左值和右值類型不一致但屬于類型相容時(shí),由系統(tǒng)自動(dòng)進(jìn)行類型轉(zhuǎn)換。,3 強(qiáng) 制 類 型 轉(zhuǎn) 換,1. 混合運(yùn)算的類型轉(zhuǎn)換規(guī)則,數(shù)據(jù)類型轉(zhuǎn)換方向,ok,具體規(guī)則: (1)字符可以作為整數(shù)參與數(shù)值運(yùn)算,整數(shù)值為其ASCII碼。 (2)操作數(shù)為字符或短整型時(shí),系統(tǒng)自動(dòng)變換成整型。 (3)操作數(shù)為實(shí)型時(shí),系統(tǒng)自動(dòng)變換成雙精度型。 (4)其余情況,當(dāng)兩操作數(shù)類型不同時(shí),將精度低(或表示范圍?。┑牟僮鲾?shù)的數(shù)據(jù)類型變換到與另一操作數(shù)類型相同再進(jìn)行運(yùn)算,例: char c1, c2; int i1, i2; float x1, x2; 則表達(dá)式 x2=c1*i1+c1*x1+c1*c2 的求值過程為:將c1轉(zhuǎn)換成整型,完成c1*i1,結(jié)果表示為t1;將c1和x1均轉(zhuǎn)換成雙精度型,完成c1*x1,結(jié)果表示為t2;將c1和c2均轉(zhuǎn)換成整型,完成c1*c2,結(jié)果表示為t3;然后t1轉(zhuǎn)換成雙精度型,完成t1+t2,結(jié)果表示為t4;將t3轉(zhuǎn)換成雙精度型,完成t4+t3,最后結(jié)果轉(zhuǎn)為單精度型賦給x2。,2.賦值類型轉(zhuǎn)換,2.5.3結(jié)束,系統(tǒng)自動(dòng)進(jìn)行類型轉(zhuǎn)換規(guī)則: 1、實(shí)型數(shù)賦給整型變量:取整;注意溢出; 2、整型數(shù)賦給實(shí)型變量:先轉(zhuǎn)換為實(shí)型數(shù); 3、字符型數(shù)賦給整型變量:ASCII碼為依據(jù);分為兩種情況:符號(hào)位是0或1時(shí)不同; 若符號(hào)位為1,則低位字節(jié)不變,高位字節(jié)全部置1再賦值。 4、絕對(duì)值較大的數(shù)賦給表達(dá)范圍較小的數(shù)據(jù)類型時(shí),注意溢出;,賦值運(yùn)算中,當(dāng)左值與右值類型不一致時(shí), 系統(tǒng)將按照左值的類型,自動(dòng)進(jìn)行強(qiáng)制轉(zhuǎn)換。,例如: 設(shè)有以下定義 double x=2.3,y; int i=2,j;,(1) j,2.3,x,2.3, ,2,2,(1) j=x; (2) y=i;,由系統(tǒng)按 左值j 、y 類型自動(dòng) 完成強(qiáng)制 轉(zhuǎn)換功能,(2) y,2,i,2, ,2.0,2.0,3 強(qiáng)制類型轉(zhuǎn)換,ok,強(qiáng)制類型轉(zhuǎn)換運(yùn)算符格式為: (type) 表達(dá)式 /形式一 或 type (表達(dá)式) /形式二,作用:將表達(dá)式強(qiáng)制轉(zhuǎn)換為type類型, 但表達(dá)式的值及其類型不變。,設(shè)有變量說明:int a=7, b=5;float x; 表達(dá)式 x=a/b的值將為1.0。 如果希望表達(dá)式求出這兩個(gè)整數(shù)相除的實(shí)數(shù)商1.4賦給x,就需要將兩個(gè)操作數(shù)或其中一個(gè)操作數(shù)進(jìn)行強(qiáng)制類型轉(zhuǎn)換。可表示為: x=(float)a/(float)b或x=(float)a/b,說明: (1)強(qiáng)制類型轉(zhuǎn)換不改變表達(dá)式本身的值類型,而是產(chǎn)生一個(gè)臨時(shí)變量,用來暫存轉(zhuǎn)換后的值,該臨時(shí)變量引用后即自動(dòng)釋放。如上例,執(zhí)行強(qiáng)制類型轉(zhuǎn)換后變量a和b的值及類型都不變,而是各自產(chǎn)生一個(gè)臨時(shí)變量,用這兩個(gè)臨時(shí)變量的值進(jìn)行運(yùn)算。 (2)強(qiáng)制類型轉(zhuǎn)換符優(yōu)先級(jí)較高,只對(duì)緊隨其后的表達(dá)式起作用,而對(duì)其他部分不起作用。如表達(dá)式(float)a/b的含義是先將變量a強(qiáng)制轉(zhuǎn)換為浮點(diǎn)數(shù),然后與整數(shù)b運(yùn)算。 新的C+標(biāo)準(zhǔn)中,強(qiáng)制類型轉(zhuǎn)換采用static_cast,const_cast, dynamic_cast,reinterpret_cast等4個(gè)關(guān)鍵字,形式為static_cast,語法上更加嚴(yán)謹(jǐn)。,1.6.5 求值次序與副作用(選讀),ok,在符合優(yōu)先級(jí)和結(jié)合性的前提下,C語言的標(biāo)準(zhǔn)對(duì)表達(dá)式中各操作數(shù)的求值次序沒有做統(tǒng)一規(guī)定。,編譯器為提高代碼質(zhì)量,在不影響優(yōu)先級(jí)和結(jié)合性的前提下也要對(duì)操作數(shù)的訪問次序作調(diào)整。在安排順序時(shí),如果某個(gè)操作數(shù)經(jīng)歷了求值運(yùn)算,那么這個(gè)求值可能影響到其他操作數(shù)的值,這時(shí)就會(huì)產(chǎn)生副作用。 例如,設(shè)有int a=2, b=5, c; 對(duì)表達(dá)式c=a*b+(+a)+(b=10) 三個(gè)同級(jí)運(yùn)算中,是先算a*b,還是+a,還是b=10,其次再算哪個(gè)?顯然求值次序不同將導(dǎo)致結(jié)果不同。,1.7 數(shù)組與字符數(shù)組,1.7.1 數(shù) 組,1.7.2 字 符 數(shù) 組,本節(jié)介紹一種用戶自定義的導(dǎo)出數(shù)據(jù)類型 數(shù)組類型,ok,1.7.1 數(shù)組,數(shù)組定義: 數(shù)組是有限個(gè)同類型元素的有序集合,這些元素有一個(gè)共同的名字,每個(gè)元素以其在數(shù)組中的位置區(qū)分,位置用下標(biāo)表示。 例如數(shù)列或向量就可以看作一個(gè)數(shù)組,其中的元素用一個(gè)下標(biāo)即可確定。 矩陣也可看作一個(gè)數(shù)組,其中的元素需要用“行”、“列”兩個(gè)下標(biāo)確定。 數(shù)組下標(biāo)的個(gè)數(shù)稱作維數(shù),上述代表數(shù)列的數(shù)組和代表矩陣的數(shù)組分別稱為一維數(shù)組和二維數(shù)組。本節(jié)只介紹一維數(shù)組。,ok,一維數(shù)組,一維數(shù)組的定義格式: 存儲(chǔ)類型 數(shù)據(jù)類型 數(shù)組名常量; 數(shù)據(jù)類型指的是數(shù)組中元素的數(shù)據(jù)類型,可以是C+中定義的任何一種數(shù)據(jù)類型。 寫在方括號(hào)中的常量用來定義數(shù)組大小,即數(shù)組中元素的個(gè)數(shù)。 例如:int m5; /定義數(shù)組m, 其中有5個(gè)整數(shù) const int N=3; float xN; /數(shù)組x中有3個(gè)實(shí)數(shù),ok,一維數(shù)組,數(shù)組的存儲(chǔ): 數(shù)組在存儲(chǔ)單元中是按下標(biāo)的順序連續(xù)存放的,數(shù)組名代表數(shù)組存儲(chǔ)區(qū)域的首地址。 數(shù)組的元素: 標(biāo)識(shí)方法是用數(shù)組名和下標(biāo): 數(shù)組名表達(dá)式 表達(dá)式用來計(jì)算下標(biāo)值。C+中規(guī)定數(shù)組第一個(gè)元素的下標(biāo)為0。,ok,一維數(shù)組,注意: C+中數(shù)組大小在編譯時(shí)確定,編譯系統(tǒng)按照定義為數(shù)組分配一段連續(xù)的存儲(chǔ)單元,這段單元的大小也是不能改變的,因此數(shù)組大小不能用變量定義,而只能是一個(gè)正整數(shù)常量。 為避免使用時(shí)數(shù)組出界,通?!按箝_小用”。 下列定義是非法的: int count; float scount; /數(shù)組個(gè)數(shù)不能是變量,且必 /須在定義時(shí)指明; const float Num=3; int nNum; /數(shù)組個(gè)數(shù)不能是實(shí)數(shù); 對(duì)數(shù)組的訪問指的是對(duì)數(shù)組元素的訪問,不能直接將數(shù)組名作為訪問對(duì)象,對(duì)數(shù)組賦值也必須對(duì)每一個(gè)元素逐個(gè)賦值。,ok,一維數(shù)組,數(shù)組的初始化 數(shù)組初始化的方法是在定義時(shí)用大括號(hào)列出元素的值。 例如: int score5=88, 92, 90, 85, 78; 初始化值的個(gè)數(shù)可以少于定義的元素個(gè)數(shù),這時(shí)從第0個(gè)元素開始逐個(gè)取得初始化值,其余的元素初始化為0。 例如: float y5=3.4, 4.2, 7; /5個(gè)元素的取值分別為 /3.4,4.2, 7, 0, 0 對(duì)于定義時(shí)初始化的情況,可以不指明元素個(gè)數(shù),編譯器會(huì)按照初始化值的個(gè)數(shù)確定數(shù)組大小。 例如: int n=1, 2, 3, 4; /數(shù)組n有4個(gè)元素 int nn; /非法定義,必須指明數(shù)組元素個(gè)數(shù),ok,一維數(shù)組,1,1,2,3,1,輸出,2.4.1結(jié)束,1,2,3,1+2=3,【例1.2】使用數(shù)組的簡(jiǎn)單例子。 # include void main() int int_arr4; int_arr0=1; int_arr1=1; int_arr2=2; int_arr3=int_arr1+int_arr2; coutint_arr0n int_arr1n int_arr2n int_arr3 n; ,1.7.2 字符數(shù)組,字符數(shù)組定義: 如果數(shù)組中的元素為字符,就稱為字符數(shù)組。例如: char string110; /可用來保存10個(gè)字符的字符數(shù)組; char city_name1 = N, a, n, j, i, n, g; /可用來保存7個(gè)字符的字符數(shù)組; 字符串與字符數(shù)組: C+中用字符數(shù)組保存字符串。允許直接用字符串常量給字符數(shù)組初始化。例如: char city_name2=”Nanjing”; 用字符串初始化,字符數(shù)組會(huì)自動(dòng)加上一個(gè)串結(jié)束符0 。串結(jié)束符在字符串操作中具有十分重要的意義,因此在定義字符數(shù)組大小時(shí),要注意留出足夠的空間保存串結(jié)束符。,ok,1.7.2 字符數(shù)組,字符串處理函數(shù): 字符串處理函數(shù)定義在頭文件中,其中包括: strlen(s)/返回字符串s的實(shí)際長(zhǎng)度(不包括0 ) strcpy(s1,s2)/將字符串s2中0 之前的所有字符/依次賦值到字符串s1中,最后再加上一個(gè)0 。 由于不能直接對(duì)字符數(shù)組名賦值,所以將一個(gè)字符串的值賦給另一個(gè)字符串必須用字符串復(fù)制函數(shù)完成。例如: char string220; string2=”VC+”; /非法 strcpy(string2, ”VC+”); /合法,1.7.2 字符數(shù)組,【例1.3】 字符數(shù)組和字符串處理函數(shù)的應(yīng)用。 # include # include using namespace std; int main( ) char s1 =“Hello C+“;/初始化決定數(shù)組s1有10個(gè)元素 char s210, s320; s20= B; s21= e; s22= g; s23= i; s24= n; s25= 0 ; /對(duì)字符串結(jié)束處理非常重要 strcpy(s3, s2); cout“The length of “s1“ is:“ strlen(s1) n; couts2 ts3 n; return 0 /只有字符數(shù)組可整體輸出,因?yàn)橛薪Y(jié)束符 運(yùn)行結(jié)果:The length of “ Hello C+ “ is:9 Begin Begin,2.4.2結(jié)束,1.8 簡(jiǎn)單的輸入輸出,1.8.1 C+的輸入輸出簡(jiǎn)介,1.8.2 數(shù)據(jù)的輸入輸出,ok,1.8.3 輸入輸出的格式控制,輸入流對(duì)象cin: cin用來在程序執(zhí)行期間給變量輸入數(shù)據(jù), 一般格式為: cin變量名1變量名2變量名n; 輸出流對(duì)象cout: cout實(shí)現(xiàn)將數(shù)據(jù)輸出到顯示器的操作, 一般格式為: cout using namespace std;,ok,1.8.1 C+輸入輸出簡(jiǎn)介,1.8.2 數(shù)據(jù)的輸入輸出,(1) cin 例如: char c1, c2, c3; cinc1; /A cinc2c3; 程序執(zhí)行到A行時(shí),等待用戶輸入數(shù)據(jù)。 若輸入:A b c 則cin分別將字符A、b、c賦給變量c1、c2、c3。 cin自動(dòng)跳過輸入的空白字符(包括空格,制表,backspace和回車等)。,ok,1.字符的輸入輸出,1.8.2 數(shù)據(jù)的輸入輸出,(2)cinget() 例如: char c1, c2, c3, c4; cin.get (c1); /B cin.get (c2); cin.get (c3); 程序執(zhí)行到B行時(shí),若輸入:A b 則執(zhí)行結(jié)果是:字符A、空格、字符b分別賦給變量c1、c2、c3;輸入行中仍保留回車符。 cin 與cinget( )的區(qū)別: cin.get()把從鍵盤上輸入的所有字符,包括空白字符,都作為輸入字符賦給字符變量

溫馨提示

  • 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)論