版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C+程序設(shè)計(第二版) 第1章 C+基礎(chǔ)知識 程序設(shè)計語言是人類在計算機上解決實際問題的一種工具。當(dāng)一個求解問題能夠用數(shù)學(xué)模型表達(dá)時,人們會考慮用某種程序設(shè)計語言將該問題的數(shù)學(xué)模型表示成計算機可以接受的程序形式,再由計算機自動處理這個程序,生成人們所需要的結(jié)果。 1.1 程序設(shè)計語言的基本概念1. 面向過程的結(jié)構(gòu)化程序設(shè)計語言2. 面向?qū)ο蟮某绦蛟O(shè)計語言有兩類:一類是完全面向?qū)ο蟮恼Z言,另一類是兼顧面向過程和面向?qū)ο蟮幕旌鲜秸Z言。C+語言就是后一種形式的典型代表。 1.2 C+程序的基本結(jié)構(gòu) 1.2.1 C+程序結(jié)構(gòu) 一般來說,C+程序的結(jié)構(gòu)包含聲明區(qū)、函數(shù)區(qū)兩個部分,在任何一個區(qū)內(nèi)都可以隨時
2、插入程序的注釋。 【例1.1】從鍵盤輸入圓的半徑,求圓的面積。程序代碼如下:/*ex1_1.cpp*#include using namespace std;#define PI 3.14159float sum(float x);void main() float r,s; coutr; s=sum(r); coutr=r s= sendl;float sum(float x) return PI*x*x;1聲明區(qū)聲明區(qū)在函數(shù)之外。程序的聲明區(qū)可能需要編寫:(1)包含文件,如例1.1中的#include ;(2)宏定義,如例1.1中的#define PI 3.14159;(3)函數(shù)聲明,如例
3、1.1中的float sum(float x);(4)條件編譯;(5)全局變量聲明;(6)結(jié)構(gòu)體等的定義;(7)類的定義。2函數(shù)區(qū)一個程序由一個主函數(shù)main()和多個(可以是0個 )其他函數(shù)組成。每個函數(shù)都是由函數(shù)聲明部分與函數(shù)體部分組成。程序的執(zhí)行從main()函數(shù)開始。函數(shù)聲明部分包括函數(shù)返回值類型、函數(shù)名、函數(shù)的形式參數(shù)。函數(shù)體部分是用一對花括號括起來的完成該函數(shù)所表達(dá)的功能的語句的集合。語句可以是數(shù)據(jù)描述語句或數(shù)據(jù)操作語句。 任何一種程序設(shè)計語言可用下面的模型描述:一種程序設(shè)計語言的模型與人類的自然語言模型是一致的,都遵守這種模型。讀者可以借鑒人類自然語言的學(xué)習(xí)方法來學(xué)習(xí)某種程序設(shè)計
4、語言。1.2.2 C+程序的書寫格式C+程序的書寫格式比較靈活,書寫程序時可以任意換行,一行內(nèi)可以書寫多條語句,一條語句可以書寫在多行上,只要每條語句以分號(;)結(jié)束即可。也因為如此,所以C+程序可讀性差,為了提高程序的可讀性,C+程序的書寫格式有如下約定:(1)C+程序中,每行一般書寫一條語句;語句較短時,多條語句可書寫在一行內(nèi)。語句較長時,一條語句可寫在多行上。 (2)C+程序中,每條語句以分號結(jié)束,表示一條語句的結(jié)束,但函數(shù)說明行和聲明區(qū)的多數(shù)語句后不用分號。語句前面沒有標(biāo)號,只有g(shù)oto語句的轉(zhuǎn)向目標(biāo)語句前加標(biāo)號。(3)C+程序中,使用向右縮進(jìn)方法表達(dá)程序中的層次結(jié)構(gòu),如花括號內(nèi)的函數(shù)
5、體、循環(huán)語句的循環(huán)體、if語句的if體和else體一般都向右縮進(jìn)幾個字符。花括號是函數(shù)體或復(fù)合語句的定界符。(4)C+程序中,可使用多行注釋或單行注釋以增強程序的可讀性。多行注釋以“/*”開始,以“*/”結(jié)束,占據(jù)多行。單行注釋以“/”開始,占據(jù)一行。1.3 一個應(yīng)用程序的開發(fā)過程 1.3.1 Visual C+ 6.0開發(fā)環(huán)境 采用Visual C+ 6.0開發(fā)環(huán)境 ;這是一個集編輯、編譯、鏈接、調(diào)試運行于一體的集成環(huán)境,即在一個程序的控制下可以分步或一次性地完成編輯、編譯、鏈接、調(diào)試運行工作。1.3.2 一個應(yīng)用程序的開發(fā)過程 1啟動Visual C+ 6.0開發(fā)環(huán)境 2創(chuàng)建工程項目 3打
6、開項目文件 4創(chuàng)建C+源程序文件并添加到項目文件中 5編譯、鏈接與運行程序 在上頁圖中單擊“Compile”按鈕進(jìn)行編譯,單擊“Build”按鈕進(jìn)行編譯與鏈接(在沒有編譯的情況下),單擊“Execute Program”按鈕進(jìn)行編譯、鏈接和運行(在沒有編譯、鏈接的情況下)。例1.1程序所建立的項目的運行結(jié)果如下:1.4 C+的詞法規(guī)則 一個程序包含兩個方面的主要內(nèi)容:數(shù)據(jù)描述和數(shù)據(jù)操作。數(shù)據(jù)是操作的對象,數(shù)據(jù)的存儲方式?jīng)Q定于該數(shù)據(jù)的數(shù)據(jù)類型,描述數(shù)據(jù)就是定義數(shù)據(jù)的類型。數(shù)據(jù)類型的定義表現(xiàn)在常量、變量等的定義之中,而常量、變量又是一種程序設(shè)計語言的基本單詞。除了常量、變量之外,一種程序設(shè)計語言還
7、有標(biāo)識符、運算符、關(guān)鍵字、分隔符等基本單詞,這些單詞的構(gòu)成(書寫規(guī)則)都必須遵守該語言的詞法規(guī)則。本節(jié)介紹的就是C+中各種單詞的構(gòu)詞規(guī)則。請讀者結(jié)合前面的語言模型圖學(xué)習(xí)本節(jié)內(nèi)容并思考本節(jié)內(nèi)容屬于語言模型圖的哪個環(huán)節(jié)。由一種語言提供的字符集中的字符構(gòu)造的單詞必須遵守該語言的詞法規(guī)則。在一種語言中,單詞涉及標(biāo)識符、關(guān)鍵字、運算符、常量、變量、注釋符、分隔符等。C+也不例外。本節(jié)只討論C+中的基本詞法規(guī)則。 1.4.1 C+的字符集組成 C+的字符集包括如下字符:(1)26個小寫字母:az。(2)26個大寫字母:AZ。(3)10個數(shù)字:09。(4)標(biāo)點和特殊字符:+ - * / , : ; ? ”
8、| ! # % & ( ) 空格。(5)空字符:ASCII碼為0的字符,用作字符串的結(jié)束符。1.4.2 C+的單詞及其構(gòu)詞規(guī)則 單詞由若干個合法字符組成,下面介紹常用的單詞。1標(biāo)識符 標(biāo)識符是由字母、下畫線和數(shù)字組成的字符序列,第一個字母必須是字母或下畫線,不能是數(shù)字。標(biāo)識符中的字母大小寫是不同的。標(biāo)識符用來命名C+程序中的常量、變量、函數(shù)、語句標(biāo)號及類型定義符等。有一部分標(biāo)識符是系統(tǒng)定義的。本小節(jié)關(guān)心的是用戶定義的標(biāo)識符。 在定義標(biāo)識符時,要注意以下幾點:(1)要遵守上面的構(gòu)成標(biāo)識符的規(guī)則。Aa、ABC、A_Y、ycx11、_name是合法標(biāo)識符。而5xyz、m.x、!abc、x-y是非法標(biāo)
9、識符。(2)系統(tǒng)已經(jīng)使用的關(guān)鍵字、函數(shù)名或其他已定義的單詞不能再定義成標(biāo)識符。(3)定義標(biāo)識符時盡可能讓標(biāo)識符有意義,便于閱讀,即做到“見名知義”。 2關(guān)鍵字關(guān)鍵字(又稱保留字)是被系統(tǒng)定義了的已具有特定含義的標(biāo)識符。3運算符運算符與操作數(shù)連接組成表達(dá)式。連接一個操作數(shù)的運算符稱為單目運算符,連接兩個操作數(shù)的運算符稱為雙目運算符,連接三個操作數(shù)的運算符稱為三目運算符。有關(guān)運算符的種類、功能、優(yōu)先級和結(jié)合性等問題將在1.7節(jié)中詳細(xì)介紹。 4常量常量是在程序中不改變的量。C+程序中的常量有:整型常量、浮點型常量、字符常量和字符串常量4種。將在1.6節(jié)中詳細(xì)介紹。5變量變量是在程序中可以改變的量。變
10、量有三要素:名字、類型和值。某個變量的值被改變后,將一直保持到下一次被改變。變量是一種標(biāo)識符,其命名完全與標(biāo)識符相同。將在1.6節(jié)中詳細(xì)介紹其特性。 6注釋符注釋符的作用是在程序中標(biāo)識注釋信息。在C+程序中,可使用多行注釋或單行注釋增強程序的可讀性。多行注釋以“/*”開始,以“*/”結(jié)束,占據(jù)多行。單行注釋以“/”開始,占據(jù)一行。“/*”、“*/”、“/”就是注釋符。7分隔符分隔符有:空格符、換行符、水平制表符等,用作其他單詞之間的分隔符;逗號(,),多作多個變量或多個參數(shù)之間的分隔符;分號(;),主要用于for語句的for關(guān)鍵字后的圓括號內(nèi),作分隔符;冒號(:),用來標(biāo)識語句標(biāo)號和開關(guān)語句,
11、常用于switch的case關(guān)鍵字后。 1.5 C+基本數(shù)據(jù)類型 表1-2 C+基本數(shù)據(jù)類型基本型(int)短整型(short)長整型(long)無符號整型(unsigned int)無符號短整型(unsigned short int)無符號長整型(unsigned long int)有符號整型(signed int)有符號短整型(signed short int)有符號長整型(signed long int)字符型(char)單精度浮點型(float)雙精度浮點型(double)長雙精度浮點型(long double)4244244241488-2 147 483 6482 147 483
12、647-32 76832 767-2 147 483 6482 147 483 64704 294 967 295065 53504 294 967 295-2 147 483 6482 147 483 647-32 76832 767-2 147 483 6482 147 483 6470255-3.410383.41038-1.7103081.710308-1.7103081.710308數(shù) 據(jù) 類 型字節(jié)數(shù)數(shù)據(jù)表達(dá)范圍1.6 常量與變量 常量與變量是C+中最基本的數(shù)據(jù)描述形式。本節(jié)只介紹常量和變量的基本概念,包括4種常量和基本數(shù)據(jù)類型的變量。關(guān)于構(gòu)造類型的變量將在后續(xù)章節(jié)中介紹。 1.6
13、.1 常量常量是在程序中不改變的量。C+程序中有4種常量:整型常量、浮點型常量、字符常量和字符串常量。 1整型常量C+程序中,整型常量和浮點常量統(tǒng)稱數(shù)值常量。整型常量有三種形式:十進(jìn)制、八進(jìn)制和十六進(jìn)制。十進(jìn)制常量的寫法就是算術(shù)表達(dá)方式,如12、345都是合法的十進(jìn)制常量。八進(jìn)制常量在數(shù)值前要加上一個零(0),如011、077都是合法的八進(jìn)制常量。十六進(jìn)制常量的寫法是在數(shù)值前加上一個零(0)和一個字母X(大小寫均可),如0X11、0 xF都是合法的十六進(jìn)制常量,分別等于十進(jìn)制數(shù)17和15。 2浮點型常量浮點型常量又稱實數(shù)型常量。分為十進(jìn)制數(shù)形式和指數(shù)形式兩種表示方法。(1)十進(jìn)制數(shù)形式的浮點型
14、常量的書寫格式:.其中小數(shù)點不能省略。如1.2345、1.0、1.、.12345均是合法的浮點型常量。(2)指數(shù)形式的浮點型常量的書寫格式:.E其中,指數(shù)形式表示符“E”大小寫均可。.部分允許不含小數(shù)點的,或含小數(shù)點的,必須是整數(shù)。如12E-3、0.1E2、.12345E6、0E0等均是合法的。 【例1.2】浮點型常量的運用。程序代碼如下:/*ex1_2.cpp*#include #include using namespace std;void main() int x=77; float a; double b; long double c; a=88.123000000000000000
15、00f; b=-1.69901234567890123456789e308; c=-1.69901234567890123456789e308; coutx=xendl; couta=setprecision(7)aendl; couta=setiosflags(ios:scientific)aendl; coutsetprecision(20)b=b; couttc=cendl;程序的運行結(jié)果如下:3字符常量字符常量是一個用單引號括起來的字符。單引號是字符常量的定界符,單引號本身表示成。在C+中,字符常量具有整數(shù)值,其值是該字符的ASCII碼。一個字符常量可以與整數(shù)進(jìn)行加減運算。下面的程序給
16、出了字符與整數(shù)進(jìn)行加減運算的實例?!纠?.3】字符常量的運用。程序代碼如下:/*ex1_3.cpp*#include #include Using namespace std;void main() char a,b,c,d; a=A; b=B; c=a+3; d=; coutatbtcendl; couthexint(a)tint(b)tint(c)endl; coutdendl; 程序的運行結(jié)果如下: ABD 414244 4字符串常量字符串常量是用雙引號括起來的若干個字符組成的字符序列。雙引號是字符串常量的定界符,雙引號本身表示成“”?!啊笔且粋€空字符串,空字符串中沒有任何有效字符,只有
17、一個字符串結(jié)束符。在C+程序中,任何一個字符串常量都有一個結(jié)束符,該結(jié)束符是ASCII碼值為0的空字符,表示為0。字符常量與字符串常量是不同的,表現(xiàn)在:(1)表示形式不同。前者用單引號括起來,后者用雙引號括起來。(2)存放它們的對象不同。前者存放在字符變量中,后者存放在字符數(shù)組或字符指針指定的位置。如,char c=A, s5=ABCD;(3)存放字符串常量時要加一個結(jié)束符,而存放字符常量則不需要。所以A與“A”不同。且其占用的內(nèi)存空間也不同,A占1個字節(jié);“A”占2個字節(jié),前一字節(jié)存放字符A,后一字節(jié)存放結(jié)束符。(4)對它們進(jìn)行的運算也不同。字符與字符、字符與整數(shù)間可作加減運算;而字符串只能
18、作連接運算。 【例1.4】字符串常量的運用。程序代碼如下:/*ex1_4.cpp*#include using namespace std;void main() char s180,s280; couts1s2; couts1ts2endl;程序的運行結(jié)果如下:5符號常量符號常量是一個用來替代常量(前面討論的4種常量)的標(biāo)識符。這個標(biāo)識符當(dāng)然叫符號常量。(1)增強程序的可讀性。標(biāo)識符可以定義得有意義,如用PI表示圓周率。(2)書寫簡單,不易出錯。有的常量直接書寫很長,容易出錯,如圓周率3.141 592 6用PI代之,既簡單又不容易出錯。(3)修改程序方便。 例如:#define PI 3.
19、1415926#define SIZE 100 1.6.2 變量 變量是在程序中可以改變的量,變量有名字、類型和值三個要素。變量的類型包括存儲類和數(shù)據(jù)類型兩個方面。某個變量的值被改變后,將一直保持到下一次被改變。 1變量的定義變量在使用前必須定義。格式如下: ;例如:int a,b,c; a、b、c為整型變量;缺省存儲類,要看是定義在函數(shù)體內(nèi)還是函數(shù)體外來確定是自動類還是外部類;static double x,y10; x、y是靜態(tài)雙精度變量,y是數(shù)組2變量的數(shù)據(jù)類型變量的基本數(shù)據(jù)類型有:整型、浮點型和字符型。變量的構(gòu)造數(shù)據(jù)類型稱自定義類型。它由若干個數(shù)據(jù)類型相同或不相同的變量所構(gòu)成的類型。如
20、數(shù)組、結(jié)構(gòu)體、共用體、類都是構(gòu)造數(shù)據(jù)類型。3變量的存儲類變量的存儲類定義變量的有效性范圍,即作用域。C+中有4類:自動存儲類(auto)、寄存器存儲類(register)、靜態(tài)存儲類(static)和外部存儲類(extern)。 (1)自動存儲類某一變量定義成自動存儲類后,其作用域在定義它的函數(shù)體或分程序內(nèi),自動存儲類變量只能定義在函數(shù)體或分程序內(nèi)。變量的生存期在作用域內(nèi),即執(zhí)行完定義它的函數(shù)后,該變量即被釋放。這類變量的安全性最好,在不同的函數(shù)中可以定義相同名字的變量,互不影響。在函數(shù)體內(nèi)定義自動存儲類變量時可以省去說明符auto。前面程序中定義的變量都省去了存儲類說明符auto,它們都是自
21、動存儲類變量。 (2)寄存器存儲類寄存器存儲類的變量與自動存儲類的變量有相同的作用域和生存期。定義這類變量必須加存儲類說明符register,并且只能定義在函數(shù)體或分程序內(nèi)。這類變量有可能被存放在CPU的空閑通用寄存器中,當(dāng)CPU中沒有空閑通用寄存器時,當(dāng)作自動存儲類變量。一旦變量存入CPU的寄存器中,則變量的訪問效率將大大提高,這是因為訪問內(nèi)存比訪問CPU寄存器花的時間長得多。 (3)靜態(tài)存儲類靜態(tài)存儲類分為內(nèi)部靜態(tài)存儲類和外部靜態(tài)存儲類。內(nèi)部靜態(tài)存儲類變量定義在函數(shù)體或分程序內(nèi),其作用域在定義它(們)的函數(shù)體或分程序內(nèi)。而外部靜態(tài)存儲類變量定義在函數(shù)體或分程序外,其作用域在定義它(們)的文
22、件內(nèi),可見兩者的作用域是不同的。內(nèi)部靜態(tài)存儲類和外部靜態(tài)存儲類變量有相同的生存期,都被存放在內(nèi)存的靜態(tài)區(qū)域,靜態(tài)變量在程序結(jié)束時才釋放內(nèi)存。要定義靜態(tài)存儲類變量,必須加存儲類說明符static。 (4)外部存儲類外部存儲類變量的作用域是整個程序,包含該程序的各個文件。生存期是整個程序,在程序結(jié)束時才釋放內(nèi)存。 表1-2 各種存儲類特性的比較存 儲 類 別自動類寄存器類內(nèi)部靜態(tài)類外部靜態(tài)類靜態(tài)類外部類或分程序內(nèi)在定義它的文件內(nèi)程序的各個文件程序結(jié)束前有效離開定義體即消失存取速度快安全性好在定義它的函數(shù)體安全性差同自動類作 用 域生 存 期其 他外部存儲類變量可以定義在函數(shù)體內(nèi)、外,定義在函數(shù)體外
23、時可以不加存儲類說明符,但在說明一個外部存儲類變量時,必須加存儲類說明符extern。有如下兩種情況要在引用外部存儲類變量前,對其進(jìn)行說明。 在一個文件中,在定義前引用外部存儲類變量必須說明。 在多個文件的程序中,在一個文件中定義,在另一個文件中引用,引用前要說明。 【例1.5】定義在前、引用在后的外部存儲類變量(輸出結(jié)果與例1.4類似)。程序代碼如下:/*ex1_5.cpp*#include using namespace std;char s180, s280;void main() couts1s2; couts1ts2endl;【例1.6】定義在后、引用在前的外部存儲類變量(輸出結(jié)果與
24、例1.4類似)。程序代碼如下:/*ex1_6.cpp*#include using namespace std;void main() extern char s180, s280;/說明外部存儲類變量 couts1s2; couts1ts2endl; char s180, s280;4變量的值變量的值是變量三要素之一??梢栽诙x變量時對變量賦初值(變量初始化),也可以在引用變量時通過其他方法(賦值表達(dá)式、cin、scanf函數(shù)等)對變量賦值。變量初始化格式:=,=,;如果外部類和靜態(tài)類變量不進(jìn)行初始化,那么它們由編譯程序賦以“零值”(數(shù)值型變量賦數(shù)值0,字符型變量賦空字符)。如果自動類和寄存
25、器類變量不進(jìn)行初始化,那么它們不具有有意義的值,必須通過賦值后才能引用。外部類和靜態(tài)類變量初始化是在編譯時給定的。即在第一次執(zhí)行定義或說明時給定,以后進(jìn)入所定義的函數(shù)體或分程序不再賦初值。而自動類和寄存器類變量的初始化是在每次進(jìn)入函數(shù)體或分程序時重新定義初值。 可見,變量有定義和引用兩個方面。變量的定義涉及變量名稱、存儲類和數(shù)據(jù)類型。引用即使用,通常先定義,后使用。例1.6是特例,但在使用前必須說明。引用一個變量,其值是否有意義是一個重要的問題。如在一個函數(shù)內(nèi)定義內(nèi)部靜態(tài)存儲類的變量,離開這個函數(shù)后,雖然變量仍然存在,但它的值可能無效了,所以不能引用。下面是一些合法的定義:int a=1,b=
26、2,c=3;static char xyz=A,buffer10=Hello;double a5=1.12345,2.23456,3.34567,4.45678,5.56789float s=1+2+3;關(guān)于在引用變量時通過賦值表達(dá)式、cin、scanf函數(shù)等方式對變量賦值,在前面的實例中已大量使用。值得一提的是賦值表達(dá)式,在下面的程序段中: int a; a=12;“a=12”是一個賦值表達(dá)式。C+允許表達(dá)式當(dāng)作語句使用,其后要加分號,所以“a=12;”是賦值表達(dá)式語句?!癮=12”這個表達(dá)式有雙重意義:表達(dá)式“a=12”具有12的值,另外表達(dá)式“a=12”的副作用使變量a具有12的值。給變
27、量賦值正是利用了這種副作用。這是C+與其他高級程序設(shè)計語言不同的地方,其他語言稱“a=12”是賦值語句。 1.7 運算符與表達(dá)式 C+的表達(dá)式包括算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式、條件表達(dá)式和逗號表達(dá)式。C+的類型轉(zhuǎn)換包含隱含轉(zhuǎn)換和強制轉(zhuǎn)換兩種方法。任何表達(dá)式后加“;”構(gòu)成表達(dá)式語句。 1.7.1 算術(shù)運算符與算術(shù)表達(dá)式 1算術(shù)運算符算術(shù)運算符有:(1)單目運算符:-(取負(fù))、+(增1)、-(減1)。 (2)雙目運算符:+(加)、-(減)、*(乘)、/(除)、%(取余)。 單目運算符的優(yōu)先級高于雙目運算符的優(yōu)先級,雙目運算符中的 *、/、% 的優(yōu)先級高于 +、- 的優(yōu)先級。+(增
28、1)運算可寫在變量前或變量后,分別稱作前綴運算和后綴運算。如果定義一個變量i,前綴運算記為:+i,后綴運算記為:i+。這樣形成了前綴運算表達(dá)式+i和后綴運算表達(dá)式i+,在C+中,兩個表達(dá)式都對變量i進(jìn)行增1運算,這是此兩類表達(dá)式的副作用。但把兩個表達(dá)式分別賦給變量a和b時,則a和b取不同的結(jié)果(見例1.7和例1.8)。 【例1.7】前綴,后綴運算表達(dá)式的運用。程序代碼如下:/*ex1_7.cpp*#include using namespace std;void main() int i=10, a, b, j=i+10, x, y;/初值可以是包含有值的變量的表達(dá)式 a=+i; couta=
29、ati=iendl;/注意本行語句與下行語句的位置 b=i+; coutb=bti=iendl; x=-j; coutx=xtj=jendl; y=j-; couty=ytj=jendl; 程序的運行結(jié)果如下:取余運算只能用于兩個整型數(shù)的運算。功能是求兩個整型數(shù)相除的余數(shù)。用下面的公式:余數(shù)=被除數(shù)-商除數(shù)注意:5%-3=2,而-5%3=-2。【例1.8】取余運算。程序代碼如下:/*ex1_8.cpp*#include using namespace std;void main() int a,b; a=5%-3; b=-5%3; couta=atb=b(大于)=(大于等于)=(等于)!=(不
30、等于)前4個關(guān)系運算符的優(yōu)先級高于后2個。 關(guān)系運算符是雙目運算符。一個關(guān)系運算符的兩邊都需要操作數(shù),操作數(shù)是算術(shù)表達(dá)式。關(guān)系運算的結(jié)果在C+中是整型值,關(guān)系成立時,結(jié)果為1,否則為0。在這一點上與其他程序語言不同,其他程序語言的關(guān)系表達(dá)式值是邏輯值。C+關(guān)系表達(dá)式的值可以參與整型運算。關(guān)系運算的結(jié)合性是從左至右。 2關(guān)系表達(dá)式關(guān)系表達(dá)式是由關(guān)系運算符把算術(shù)表達(dá)式連接起來的式子。它在C+程序中通常用作條件。使用關(guān)系表達(dá)式應(yīng)注意兩個問題:(1)關(guān)系表達(dá)式的值為整型數(shù)據(jù)。 (2)在數(shù)學(xué)中,y0時,表達(dá)式“x+yx”是永真的。但在用計算機語言判斷關(guān)系表達(dá)式“x+yx”時,可能會得出不真的結(jié)論。這種情
31、況往往出現(xiàn)在x和y兩個數(shù)差別很大,一個很大,另一個則小到了語言表達(dá)精度以下,以致這個很小的數(shù)對相加結(jié)果不產(chǎn)生影響。 【例1.9】關(guān)系表達(dá)式的運用。程序代碼如下:/*ex1_9.cpp*#define EPS 1.0E-16#include using namespace std;void main() double x, y; bool z; x=5.0; y=EPS; z=x+yx; coutx=xty=ytz=zendl;程序的運行結(jié)果如下:1.7.3 邏輯運算符與邏輯表達(dá)式1邏輯運算符在C+中,邏輯運算符有以下幾種:!:邏輯求反(又稱邏輯非,單目運算符)&:邏輯與(雙目運算符)|:邏輯或
32、(雙目運算符)邏輯運算符的優(yōu)先級從高到低依次是: !、&、|。邏輯運算符的結(jié)合性是從左至右(單目除外)。 2邏輯表達(dá)式邏輯表達(dá)式是由邏輯運算符與操作數(shù)組成的式子。C+規(guī)定:邏輯表達(dá)式中非0的操作數(shù)為真,0操作數(shù)為假。這說明C+的邏輯運算符的操作數(shù)可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式。這與其他程序語言不同。邏輯運算的結(jié)果為真時用1表示,為假時用0表示。邏輯運算結(jié)果的類型也是整型?!纠?.10】邏輯表達(dá)式的運用。程序代碼如下:/*ex1_10.cpp*#include using namespace std;void main() int a, b, c, d; bool e; a=5; b=
33、0; c=!b; d=a&b; e=a|b; coutatbtctdte:右移位運算符:左移位運算符都是雙目運算符,優(yōu)先級相同,高于邏輯位運算符優(yōu)先級。移位運算符左邊是要移位的操作數(shù),右邊是要移位的位數(shù)。移位運算表達(dá)式寫為:或:右移位操作是將操作數(shù)化成二進(jìn)制數(shù),將操作數(shù)右移指定位數(shù),移出的二進(jìn)制位丟棄,左邊補0或符號位(根據(jù)編譯決定)。左移位操作是將操作數(shù)化成二進(jìn)制數(shù),將操作數(shù)左移指定位數(shù),移出的二進(jìn)制位丟棄,右邊補0。【例1.11】邏輯位運算和移位運算。程序代碼如下:/*ex1_11.cpp*#include using namespace std;void main() int a, b;
34、 a=13; b=8; couta=ata=aendl; couta&b=(a&b)endl; coutab=(ab)endl; couta|b=(a|b)endl; cout2=2)endl; couta2=(a2)endl; cout2=2)endl;程序的運行結(jié)果如下: 1.7.5 賦值運算符與賦值表達(dá)式1賦值運算符賦值運算符有11種,均為雙目運算符,優(yōu)先級僅高于逗號運算符,結(jié)合性是從右至左。11種賦值運算符中有1個基本賦值運算符,10個復(fù)合賦值運算符,分別為:(1)=:基本賦值運算符(2)+=:加賦值運算符(3)-=:減賦值運算符(4)*=:乘賦值運算符(5)/=:除賦值運算符(6)%
35、=:取余賦值運算符(7)&=:位與賦值運算符(8)=:位異或賦值運算符(9)|=:位或賦值運算符(10)=:位右移賦值運算符2賦值表達(dá)式賦值表達(dá)式是由賦值運算符與操作數(shù)組成的式子。對應(yīng)11種賦值運算符有相應(yīng)的11種賦值表達(dá)式。先介紹基本賦值表達(dá)式,書寫為:=上句在C+中稱賦值表達(dá)式。在C+中允許表達(dá)式構(gòu)成語句,只要在賦值表達(dá)式后面加上“;”,即:=;賦值表達(dá)式執(zhí)行的結(jié)果使賦值表達(dá)式本身具有一個值,就是賦值運算符(=)右邊表達(dá)式的值。還有一個副作用:使賦值運算符(=)左邊的變量具有右邊表達(dá)式的值。前面的所有實例中出現(xiàn)的賦值表達(dá)式正是利用這種副作用對變量賦值??梢酝ㄟ^下面的實例理解賦值表達(dá)式具有值
36、這一概念?!纠?.12】賦值表達(dá)式的值及其副作用。程序代碼如下:/*ex1_12.cpp*#include using namespace std;void main() int c=1, a, b; coutc=cendl; a=b=c=10; couta=atb=btc=c ta=b=c=10=(a=b=c=10)endl; couta+=2=(a+=2)endl; a+=a; couta=aendl;程序的運行結(jié)果如下:其他復(fù)合賦值運算符組成復(fù)合賦值表達(dá)式的形式類似基本賦值表達(dá)式,表達(dá)形式如下: += 等價于 =+-= 等價于 =-*= 等價于 =*/= 等價于 =/%= 等價于 =%&
37、= 等價于 =&= 等價于 =|= 等價于 =|=等價于 =等價于 =復(fù)合賦值表達(dá)式比基本賦值表達(dá)式書寫簡單、編譯時生成的目標(biāo)代碼少,因而運行效率高。 使用賦值表達(dá)式應(yīng)注意以下問題:(1)可以使用賦值表達(dá)式連續(xù)賦值。例如:int a,b,c;a=b=c=1;表達(dá)式a=b=c=1使3個變量均擁有值1。由于賦值運算符的結(jié)合性是從右至左,所以變量c和表達(dá)式c=1先擁有值1,然后變量b和表達(dá)式b=c=1擁有值1,最后才是變量a和表達(dá)式a=b=c=1擁有值1。(2)使用賦值表達(dá)式多用來改變變量的值,賦值表達(dá)式本身的值用得少。在賦值表達(dá)式中,賦值運算符左邊的變量稱左值,右邊的表達(dá)式稱右值。計算時,先計算右
38、值,再轉(zhuǎn)換其類型為與左值相同的類型,將右值賦給左值,同時賦值表達(dá)式具有右值的值。右值類型轉(zhuǎn)換過程是自動完成的,但轉(zhuǎn)換時有數(shù)據(jù)精度損失。 1.7.6 三目運算符與三目條件表達(dá)式在C+中只有一個三目運算符?:,三目條件表達(dá)式格式如下:?:先計算,當(dāng)非0時,三目條件表達(dá)式取的值,否則取的值。三目條件表達(dá)式的功能可以解釋成一個簡單的條件語句(參見第2章)。三目運算符 ?: 的結(jié)合性是從右至左。【例1.13】三目條件表達(dá)式的運用。程序代碼如下:/*ex1_13.cpp*#include using namespace std;void main() int a=1,b=2,c=3; coutab?a:b
39、 = (ab?a:b)endl; coutb?b-:+a = b?b-:+a)endl; coutb?+a:+b = b?+a:+b)endl; coutb?a:bc?b:c = b?a:bc?b:c)endl;程序的運行結(jié)果如下: ab?b-:+a = 2 c+=ab?+a:+b = 6 ab?a:bc?b:c = 6 程序中有4個cout語句,第1個cout語句輸出三目條件表達(dá)式的值,顯然是1。在第2個cout語句中,三目條件表達(dá)式的值取+a的值,結(jié)果是2。因為ab為0,b-并沒有執(zhí)行,故b的值仍然是2。第2個cout語句已修改了變量a的值,使a=2。在第3個cout語句中,由于三目運算符
40、的優(yōu)先級高于賦值運算符,所以先計算三目條件表達(dá)式ab?+a:+b,由于ab為0,所以三目條件表達(dá)式取+b的值,結(jié)果是3;再計算賦值表達(dá)式c+=3,結(jié)果是6。此行cout語句修改了b、c兩變量的值,使b=3、c=6。在第4個cout語句中,由于三目運算符是從右結(jié)合的,所以先計算bc?b:c,結(jié)果為6;再計算ab?a:6,結(jié)果為6。 1.7.7 逗號運算符與逗號表達(dá)式逗號在C+中可以作為分隔符或運算符。逗號運算符為雙目運算符,它的優(yōu)先級最低,結(jié)合性是從左至右。逗號運算符用來連接兩個或兩個以上的表達(dá)式,形成逗號表達(dá)式。計算逗號表達(dá)式時,從左至右依次計算各個表達(dá)式,逗號表達(dá)式的值取最后一個表達(dá)式的值。
41、多用在for循環(huán)語句的for關(guān)鍵字后的圓括號內(nèi),圓括號內(nèi)由分號分隔的表達(dá)式可以是逗號表達(dá)式。注意例1.15中倒數(shù)第二行的輸出結(jié)果。 【例1.14】逗號表達(dá)式的運用。程序代碼如下:/*ex1_14.cpp*#include using namespace std;void main() int a=1, b=2, c=3; couta=atb=btc=cendl; c=(a=10, b=a*2, b*2); couta=atb=btc=cendl; couta,b,c,c*3= (a,b,c,c*3):用于結(jié)構(gòu)體、共用體變量。(4)sizeof:計算一數(shù)據(jù)類型或一表達(dá)式占用內(nèi)存的字節(jié)數(shù)。例如,s
42、izeof(int) 或 sizeof()(5)強制類型:作用于一表達(dá)式,使表達(dá)式的類型強制性轉(zhuǎn)換為指定類型。例如,(int)(a+b+1.234567)C+的優(yōu)先級和結(jié)合性比較復(fù)雜,通過下面的總結(jié),可以記住:除最高級和最低級外,其他運算符的優(yōu)先級是“一二三賦值”。最高級是圓括號、下標(biāo)、點、箭頭;最低級是逗號。“一二三賦值”分別指單目、雙目、三目、賦值運算符,它們的優(yōu)先級也是按此順序。這樣分出了6大類優(yōu)先級。在雙目運算符中,有10級,順序是:算術(shù)(除求負(fù)值運算外分2級)、移位、關(guān)系(分2級)、邏輯位(除按位取反運算外分3級)、邏輯(除邏輯非運算外分2級)。單目、三目、賦值運算符的結(jié)合性是從右至
43、左,其他運算符的結(jié)合性是從左至右。 【例1.15】運算符的優(yōu)先級和結(jié)合性。程序代碼如下:/*ex1_15.cpp*#include using namespace std;void main() int x,y,z; x=!-5+312; y=x-(-1); coutx=xty=yendl; z=xy?x-y?x:y:x*y; coutsizeof(int)=sizeof(int) tsizeof(z)=sizeof(z)endl; coutx=xty=ytz=z2;的計算順序是:第一步先計算單目運算,單目運算有兩個: !和-,按從右至左的結(jié)合性,先計算-5,再計算 !(-5),結(jié)果為0;第二
44、步計算算術(shù)運算0+31;第三步計算右移運算,結(jié)果為7,即x=7。語句y=x-(-1);中間有三個-,前兩個是減1單目運算,后一個是算術(shù)減運算。計算順序是:第一步計算x-,使x=6,這是減1表達(dá)式的副作用,并不計算在y=x-(-1);語句中,所以語句y=x-(-1);變?yōu)閥=7-(-1),結(jié)果使y=8。這時要注意x的值因為副作用發(fā)生了變化,即x=6。所以在第一條cout語句輸出時x=6、y=8。 語句z=xy?x-y?x:y:x*y;中有單目運算,先計算之,-y的結(jié)果表明為7,故語句變成z=xy?x7?x:y:x*y;,語句中有兩個三目表達(dá)式,三目表達(dá)式中的“?”和“:”分別相當(dāng)于前圓括號“(”
45、和后圓括號“)”,成對出現(xiàn)。按從右至左的結(jié)合性,先找最右邊的“?”,再找與之最近匹配的“:”,得其表達(dá)式為:x7?x:y,結(jié)果取x的值6。從而整個語句變成z=xy?6:x*y;,所以z=6。在這條語句中,x的值沒改變,y的值變?yōu)?,故在第三條cout語句輸出時x=6、y=7、z=6。1.7.10 類型轉(zhuǎn)換C+的數(shù)據(jù)類型轉(zhuǎn)換靈活,表現(xiàn)在它的許多數(shù)據(jù)類型之間具有自動(隱含)轉(zhuǎn)換功能,當(dāng)然也可以使用強制類型轉(zhuǎn)換功能。(1)隱含自動轉(zhuǎn)換,從低類型向高類型轉(zhuǎn)換char型和short型自動轉(zhuǎn)換為int型;unsigned char型和unsigned short型自動轉(zhuǎn)換為unsigned型;float型
46、自動轉(zhuǎn)換為double型。 (2)在各類數(shù)值型數(shù)據(jù)進(jìn)行混合運算時,系統(tǒng)自動將參與運算的各類數(shù)據(jù)類型轉(zhuǎn)換為它們之間數(shù)據(jù)類型最高的類型。在C+中,數(shù)據(jù)類型從低到高的類型順序為:int (short,char)unsigned(unsigned short,unsigned char)longdouble(float)(3)在賦值表達(dá)式中,系統(tǒng)自動將賦值運算符右邊的表達(dá)式的數(shù)據(jù)類型轉(zhuǎn)換為左邊變量的類型。在這種轉(zhuǎn)換中,從低類型向高類型的轉(zhuǎn)換是保值的,從高類型向低類型的轉(zhuǎn)換是不保值的(即轉(zhuǎn)換有數(shù)據(jù)精度損失)。 (4)強制轉(zhuǎn)換格式是:()使表達(dá)式的類型強制轉(zhuǎn)換成說明的數(shù)據(jù)類型。強制轉(zhuǎn)換可能是不保值的。強制
47、轉(zhuǎn)換是一次性的,例如:int x=1,y=2,z=3;coutsizeof(double)(x*y*z); 第二行語句中,表達(dá)式強制為double型,下次再出現(xiàn)表達(dá)式x*y*z時,又是整型。 【例1.16】類型轉(zhuǎn)換。程序代碼如下:/*ex1_16.cpp*#include using namespace std;void main() int x=1,y=2,z=3; double x1=1.234567; double y1; cout混合表達(dá)式占用字節(jié)數(shù):sizeof(x+y+z+x1)endl; cout賦值表達(dá)式占用字節(jié)數(shù):sizeof(y1=x+y+z+A)endl; cout強制成
48、int型占用字節(jié)數(shù):sizeof(int)(x1*2)endl; coutx1*2= x1*2endl; coutsizeof(x1*2)=sizeof(x1*2)endl; cout強制成int型后,x1*2=(int)(x1*2)endl;程序的運行結(jié)果如下:混合表達(dá)式占用字節(jié)數(shù):8賦值表達(dá)式占用字節(jié)數(shù):8強制成int型占用字節(jié)數(shù):4x1*2=2.46913sizeof(x1*2)=8強制成int型后,x1*2=2C+程序設(shè)計(第二版) 106第2章 程序控制結(jié)構(gòu)2.1 順序結(jié)構(gòu) 2.2 選擇結(jié)構(gòu) 2.3 循環(huán)結(jié)構(gòu) 2.4 控制轉(zhuǎn)向語句 2.5 程序?qū)嵗?107按照語句出現(xiàn)的先后順序依次執(zhí)
49、行。2.1 順序結(jié)構(gòu) 語句1語句2圖2.1 順序結(jié)構(gòu)流程圖1082.1.1 定義語句說明語句在C+程序中,一個標(biāo)識符(變量名、常量名、函數(shù)名、對象名等)在使用之前必須先定義,通知編譯器為其分配存儲空間,或告訴編譯器它的存在及其特征。例如:int x=1,y=2;const double PI=3.14159;float score303;1092.1.2 表達(dá)式語句形式: ;可以進(jìn)行的操作通常包括賦值操作,復(fù)合賦值操作,增量、減量操作,函數(shù)調(diào)用操作和輸入輸出操作。例如:n+;-m;abs(x);cinxy;coutx+y;s=x+y;m=n=t;a=10,b=20;z*=w;1102.1.3
50、復(fù)合語句形式: 作用:當(dāng)程序中某個位置在語法上只允許一條語句,而在語義上要執(zhí)行多條語句才能完成某個操作時,需要使用復(fù)合語句。例如:if(x=0) couta; coutb; 1112.1.4 空語句形式: ; 作用: 當(dāng)程序中某個位置在語法上需要一條語句,而在語義上又不 要求執(zhí)行任何動作時,可放上一條空語句。一般適用于在循環(huán)語句中做空循環(huán)體例如: for (m = 0; m1000; m+) ;1122.1.5 基本輸入輸出在C+中,所有輸入輸出是通過輸入輸出流來實現(xiàn)的。在C+中,將數(shù)據(jù)從一個對象到另一個對象的流動抽象為“流”。在iostream庫中包含一個標(biāo)準(zhǔn)輸入流對象cin和一個標(biāo)準(zhǔn)輸出流
51、對象cout,分別用來實現(xiàn)從鍵盤讀取數(shù)據(jù),以及將數(shù)據(jù)在屏幕上輸出。要使用cin和cout,需要在C+程序開頭加上如下包含命令:#include / 新標(biāo)準(zhǔn)中的頭文件名using namespace std; / 引入std名字空間中的標(biāo)識符1131. 標(biāo)準(zhǔn)輸入流cincin負(fù)責(zé)從鍵盤讀取數(shù)據(jù),使用提取運算符“”就可以將鍵盤鍵入的數(shù)據(jù)讀入到變量中。語法格式: cin變量1變量2變量n; 變量可以是任意數(shù)據(jù)類型,輸入時各個數(shù)據(jù)之間用空格鍵、Tab鍵或Enter鍵分隔。 例如:int x,y;cinxy;鍵盤上輸入:58x5鍵盤y8鍵盤1142. 標(biāo)準(zhǔn)輸出流cout負(fù)責(zé)將數(shù)據(jù)輸出到屏幕上,使用插入運
52、算符“”就可以將數(shù)據(jù)顯示在屏幕上當(dāng)前光標(biāo)所在位置。語法格式: cout表達(dá)式1表達(dá)式2表達(dá)式n; 表達(dá)式可以是任意類型的,數(shù)據(jù)輸出的格式由系統(tǒng)自動決定。115格式控制符說明示例語句結(jié)果endl輸出換行符cout123endl456;123456dec整數(shù)按十進(jìn)制輸出coutdec18;18hex整數(shù)按十六進(jìn)制輸出couthex18;12oct整數(shù)按八進(jìn)制輸出coutoct18;22setw(int n)設(shè)置數(shù)據(jù)輸出的寬度coutasetw(3)b;a b(中間有2個空格)116格式控制符說明示例語句結(jié)果setfill(char c)設(shè)置填充字符coutsetfill(#)setw(6)123;
53、#123setprecision(int n)設(shè)置浮點數(shù)的精度(有效數(shù)字位數(shù)或小數(shù)位數(shù))coutsetprecision(5)63.3156;63.316setiosflags(ios:fixed)定點格式輸出coutsetiosflags(ios:fixed) 32.1456789;32.145679setiosflags(ios:scientific)指數(shù)格式輸出coutsetiosflags(ios:scientific) 72.3456789;7.234568e+001117【例2.1】 cout應(yīng)用示例#include using namespace std;int main() i
54、nt x=12,y=83; double pai_1=3.14159265; float pai_2=3.141f; char ch1=a,ch2=b; bool ok=true; coutx=xendl; couty=yendl; coutpai_1=pai_1,pai_2=pai_2endl; coutch1=ch1,ch2=ch2endl; coutok=okendl; cout!ok=!okendl; return 0;x=12y=83pai_1=3.14159,pai_2=3.141ch1=a,ch2=bok=1!ok=0118【例2.2】 使用格式控制符輸出數(shù)據(jù)#include #
55、include using namespace std;int main()int a=35; double b=21.3456789; cout1234567890123endl; coutdeca hexa octaendl; coutbendl; coutsetprecision(4)bendl; coutsetw(10)bendl; coutsetw(10)setfill(*)bendl; coutsetiosflags(ios:scientific)bendl; coutsetprecision(3)bendl; coutsetprecision(2)bb,則將a、b交換,否則不交換
56、。兩數(shù)交換可采用借助于第三個變量間接交換的方法 if(ab)t=a;a=b;b=t;122#include using namespace std;int main()int a,b,t;cout請輸入兩個整數(shù)a,b:ab; if(ab)t=a;a=b;b=t; coutabendl; return 0;a=a+b;b=a-b;a=a-b; 請輸入兩個整數(shù)a,b:85 404085a=ab;b=ab;a=ab; 1232if- else語句(雙分支) if(表達(dá)式) 語句1 else 語句2true表達(dá)式語句1false語句2雙分支if語句流程圖124【例2.4】輸入一個年份,判斷是否為閏年。
57、分析 閏年的年份可以被4整除而不能被100整除,或者能被400整除。 #include using namespace std;int main()int year;coutyear;if(year%4=0 & year%100 !=0)|(year%400=0) coutyear年是閏年endl;else coutyear年不是閏年endl; return 0;1253if- else if 語句(多分支)if(表達(dá)式1) 語句1 else if(表達(dá)式2) 語句2 else if (表達(dá)式n) 語句n else 語句n+1falsefalsefalsetruetrue表達(dá)式1表達(dá)式2表達(dá)式
58、n語句n語句n+1語句2語句1true126【例2.5】根據(jù)x的值,計算分段函數(shù)y的值。y的計算公式為:(x0)(0 x15)(15x30)(x30)127#include #include using namespace std;int main() double x,y; coutx; if(x0) y=fabs(x); else if(x15) y=exp(x)*cos(x); else if(x30) y=pow(x,5); else y=(7+9*x)*log(x); couty=y0) if(y0) coutx與y均大于0; else coutx大于0,y小于等于0;注意:如何使之
59、與第一個if配對?130【例2.6】從鍵盤上輸入兩個字符,比較其大小,輸出大于、等于和小于的判斷結(jié)果。#include using namespace std;int main()char ch1,ch2;coutch1ch2;if(ch1!=ch2) if(ch1ch2) coutch1大于ch2endl; else coutch1小于ch2endl;elsecoutch1等于ch2endl; return 0;請輸入兩個字符:h dh大于d請輸入兩個字符:X YX小于Y請輸入兩個字符:& &等于&1312.2.2 switch語句switch (表達(dá)式) case 常量表達(dá)式1: 語句1
60、case 常量表達(dá)式2: 語句2 case 常量表達(dá)式n: 語句n default: 語句序列n+1 注意:表達(dá)式只能是整型、字符型或枚舉型注意:常量表達(dá)式1n的值必須各不相同。132有無無false有無falsetrue計算表達(dá)式的值常量表達(dá)式1語句1break常量表達(dá)式2語句2break無有false常量表達(dá)式ntrue語句nbreakdefault語句n+1true有switch語句執(zhí)行流程133【例2.7】將輸入的百分制成績按以下規(guī)定轉(zhuǎn)換成相應(yīng)的等級: 成 績 等級10090 優(yōu)秀 8980 良好 7970 中等 6960 及格 590 不及格 134#include using na
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年冀少新版九年級物理上冊月考試卷
- 2024年華東師大版高三地理下冊階段測試試卷含答案
- 2024版銷售代理合同
- 2024年粵教滬科版高三英語下冊月考試卷
- 全國青島版信息技術(shù)八年級上冊專題一第1課《閱讀材料 算法!》說課稿
- 提振消費的主要策略:創(chuàng)新消費場景與體驗
- 2025版礦產(chǎn)資源居間代理合同規(guī)范文本3篇
- 2025年度珠寶首飾現(xiàn)貨拍賣及銷售合同3篇
- 美育工作的重要性與現(xiàn)狀分析
- 2024版柜子訂購合同范本
- 五年級上冊道德與法治全冊知識點匯總
- 小學(xué)英語“大單元教學(xué)”整體設(shè)計與案例分析講稿
- 2023取卵術(shù)相關(guān)風(fēng)險及處理對策
- 雙引號專項練習(xí)歸納
- 發(fā)展?jié)h語初級口語I-第18課課件
- 海關(guān)HS編碼對照表
- 原木樁駁岸施工方案
- 手術(shù)十大安全質(zhì)量目標(biāo)培訓(xùn)記錄
- GB/T 10000-2023中國成年人人體尺寸
- 模具管理程序文件
- 女子水晶樂坊
評論
0/150
提交評論