教學(xué)課件:《C++程序設(shè)計教程》章韻_第1頁
教學(xué)課件:《C++程序設(shè)計教程》章韻_第2頁
教學(xué)課件:《C++程序設(shè)計教程》章韻_第3頁
教學(xué)課件:《C++程序設(shè)計教程》章韻_第4頁
教學(xué)課件:《C++程序設(shè)計教程》章韻_第5頁
已閱讀5頁,還剩315頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+程序設(shè)計語言121.1 計算機程序設(shè)計語言1.2 C+程序設(shè)計語言 第1章 C+概述1.1 程序設(shè)計的基本概念1. 計算機與程序計算機已滲入到我們?nèi)粘I畹姆椒矫婷?,它幾乎無所不能;計算機所做的一切都是人所賦予的;計算機程序是人向計算機發(fā)出的指令的有序集計合;人機交互需要特定的計算機語言程序設(shè)計語言。31.1 程序設(shè)計的概念2. 計算機程序設(shè)計語言 計算機的工作是受程序控制的,任何一個計算機程序必須由某種程序設(shè)計語言來描述。 程序設(shè)計語言經(jīng)歷了從機器語言、匯編語言到高級語言這樣一個發(fā)展過程。C+程序設(shè)計語言屬于高級語言。4機器語言:5直接用計算機能識別的二進制指令來書寫;直接對計算機硬件產(chǎn)

2、生作用;不同型號計算機的“機器語言”不一樣,難理解,不利于被掌握和推廣,只有少數(shù)計算機專家或者從事相關(guān)工作的專業(yè)技術(shù)人員才能使用。匯編語言:6是符號化的機器語言,用簡單助記符來代替機器語言中的操作指令; 例如,機器語言中,二進制代碼10110110代表加法運算,匯編語言中則用助記符ADD表示。較易理解,方便推廣和應(yīng)用;需要編譯成機器語言才能被計算機執(zhí)行,但編譯工作可以用專門的工具軟件完成。高級語言:7以近似于自然語言的方式描述程序指令; 例如, if ( x0 ) y = x ; else y = -x ; 更易理解,更方便推廣和應(yīng)用;同樣需要編譯成機器語言才能被計算機執(zhí)行;例如,C+、C、B

3、asic、Java等程序設(shè)計語言均屬于高級程序設(shè)計語言。1.2 C+程序設(shè)計語言1. 簡單C+程序框架結(jié)構(gòu)#include using namespace std;int main( ) cout 變量1 變量2 對象n ;1.3 C+程序設(shè)計簡介9只能用變量接受輸入的數(shù)據(jù);用戶可以用以下兩種方式從鍵盤輸入數(shù)據(jù):所有數(shù)據(jù)全部輸入后再回車確認,但各數(shù)據(jù)之間以空格分隔;每個數(shù)據(jù)輸入后立即回車確認。例:如果希望將鍵盤輸入的整數(shù)10,11, 12, 13,14 分別依次存入變量 a, b, c, d, 怎樣鍵盤輸入數(shù)據(jù)?int a, b, c, d;cin a;cin b c d ;C+標(biāo)準(zhǔn)輸出格式為

4、:cout 數(shù)據(jù)1 數(shù)據(jù)2 數(shù)據(jù)n;1.3 C+程序設(shè)計簡介10輸出對象可以是變量、表達式或立即數(shù);當(dāng)輸出對象是變量或表達式時,表示輸出變量或表達式所代表的數(shù)據(jù);輸出的各個數(shù)據(jù)之間應(yīng)適當(dāng)分隔以增強輸出結(jié)果的可讀性。例:試分析下列程序段執(zhí)行之后的輸出結(jié)果。int a=2, b=3, c=4, d=5;cout “a+b=“a+bt“c+d=“c+dendl; cout2 的值為 true; 表達式 (12) + (41) 的值為 0+1+1=22整型2. 2 基本數(shù)據(jù)類型 關(guān)鍵字:int表示分為十進制、八進制、十六進制等表現(xiàn)形式;缺省進制為十進制;八進制數(shù)是以數(shù)字0開頭的整數(shù): 數(shù)碼07,逢八進

5、一;十六進制數(shù)是以0 x或0X開頭的整數(shù):數(shù)碼09, af, 逢十六進一,數(shù)碼 af 大小寫均可。例: 28,-3,0,+55,0236, -063,0 x56EF,0X43ab,-0 x857 3實型2. 2 基本數(shù)據(jù)類型 實型數(shù)據(jù)也稱浮點型,關(guān)鍵字:float(單精度)、double(雙精度)。實型數(shù)據(jù)可以定點表示和浮點表示定點表示,例:0.1237;浮點表示(指數(shù)形式),例:2.765E3,1e-2,-0.3e1;關(guān)于浮點:E可以大寫或小寫;E前面必須有數(shù)字(1不能省略);E后面必須是整數(shù)。 4字符型2. 2 基本數(shù)據(jù)類型 關(guān)鍵字:char計算機內(nèi)部以字符的ASCII碼值(整數(shù))存儲字符

6、型數(shù)據(jù)(1個字節(jié))普通字符常量書寫時用單引號標(biāo)記例:%,a,9。任何字符都可以用轉(zhuǎn)義字符形式表示常用轉(zhuǎn)義字符表示字符形式含義n換行a響鈴t水平制表符(Tab鍵)0空字符反斜杠單引號雙引號”2. 2 基本數(shù)據(jù)類型 任何字符均可以用其八進制或十六進制ASCII碼值表示成轉(zhuǎn)義形式:例如,160、x70都表示字符p。字符p的ASCII碼值為112,其八進制為0160,十進制為0 x70轉(zhuǎn)義表示時不可用十進制,缺省為八進制,十六進制表示時略進制標(biāo)志的前綴0。所以,字符p的轉(zhuǎn)義形式不可表示為以下形式: 0160 0 x70 5. 字符串一對單引號內(nèi)只能表示一個字符,多個字符可以組成字符串,字符串是用一對雙

7、引號括起來的字符集合。如:“Hello!”,“123456”等。 字符串常量均含有一個字符串結(jié)束標(biāo)志0 。字符串常量中所含字符的個數(shù)稱為字符串的長度(不含字符串結(jié)束標(biāo)志)。6. 基本類型變量 變量是在程序中可以改變的量變量必須先定義后使用變量定義格式: 數(shù)據(jù)類型 變量名1,變量名2,變量名n;例如: int a,b,c; float x;定義變量的同時可以給變量賦值(兩種方式): int a=1,b,c(3); float x=3.71;可以給已定義的變量重新賦值: int a=5, b; a=10; b=20; a=a*b; 可以限定變量在程序中不允許改變: const int a=5, b

8、(6); int const c=10; const float x(0.26), y=1.2;const置于類型符號前或后;必須賦初值! C+語言中的運算符包括算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符等,將變量、常量和運算符有機地結(jié)合起來就組成了表達式。2. 3 運算符與表達式算術(shù)運算符: +、-、*、/、%(求模)算術(shù)運算符均為雙目運算符除法運算分整數(shù)除和實數(shù)除求模運算功能是求兩個整數(shù)相除后的余數(shù)。2. 3 運算符與表達式1. 算術(shù)運算符例,寫出下列各語句的輸出結(jié)果。 cout(1+a); /輸出結(jié)果:98 cout(5/3-8); /輸出結(jié)果:-7 cout(5%3*5/3.0);

9、 /輸出結(jié)果:3.33333例: int a=5, b; b=a=a-2; coutatb、=、5的值為 true (5!=4)=(8=2)的值為false 注意運算符形式上與數(shù)學(xué)表達式的差異; 數(shù)學(xué)表達式:abc C+表達式:ab&bc2. 3 運算符與表達式3. 關(guān)系運算符邏輯運算符: 邏輯非(!)、邏輯與(&)和邏輯或(|)功能:將多個關(guān)系連接起來表達更復(fù)雜的關(guān)系2. 3 運算符與表達式4. 邏輯運算符 邏輯非:取反操作若a的值為true,則!a的值為false;表達式a=0與表達式!a具有相同的邏輯值邏輯與: 邏輯乘操作僅當(dāng)a和b的值均為真時,a&b的值為真,否則值為假。如:5&A值為

10、真, (39)&(2=1) 值為假。邏輯或: 邏輯加操作僅當(dāng)a和b的值均為假時,a|b的值為假,否則值為真。如:(39)|(2=1)值為假。2. 3 運算符與表達式aba&ba|b!a00001010111001011110邏輯運算真值表C+語言中,當(dāng)能夠確定邏輯表達式的值時,運算將不再繼續(xù)進行。2. 3 運算符與表達式邏輯運算的優(yōu)化:例: int a=4, b=7, c, d;c=(a=a+1)|(b=b+2);d=(a=0)&(b=a+b); coutatbtctdendl;(1)自增和自減運算符 單目運算符自增(+)和自減(-),分別表示變量自身加1和減1操作。不能對表達式進行自增或自減

11、運算。 2. 3 運算符與表達式5. 其他運算符例: int a=3,b=5, c=10, d; d=+a+b+c; coutatbtctdb?a+:+b;2. 3 運算符與表達式條件運算符的嵌套: int a=1,b=2, c=3, d=4, e=5, f; f=ab ? cd ? a:d e ? d:e:c; / f=ab?(cd?a+:(de?d:e):c; 是雙目運算符格式:用逗號將一系列表達式列舉出來運算規(guī)則:依次從左到右計算各表達式,交將最后一個表達式的值作為最終結(jié)果2. 3 運算符與表達式(5)逗號運算符 例 int a=2, b=4, c=6, d; d =(a+=1, b+=

12、2, c+=3,a+b+c);比較: int a=2, b=4, c=6, d; / 與上例變量初值相同 d = a+=1, b+=2, c+=3,a+b+c; / 沒有括號!2. 3 運算符與表達式在C+表達式中,當(dāng)不同類型的運算符混合運算時,優(yōu)先級高的運算符將優(yōu)先運算。C+運算符的優(yōu)先級自高向低排序規(guī)律大致如下:括號類運算符單目運算符算術(shù)運算符關(guān)系運算符邏輯運算符賦值運算符三目運算符(條件運算符)逗號運算符運算符C+語言中部分運算符的優(yōu)先級和結(jié)合性優(yōu)先級運算符結(jié)合性1: ( ) - & + -左向右2! + - - + (類型) * & sizeof new delete右向左3* / %

13、 左向右4+ -左向右6、 、=左向右7= = !=左向右11&左向右12|左向右13? :右向左14=、+=、 -=、 *=、 /=、 %=右向左15,左向右2. 3 運算符與表達式當(dāng)C+表達式中出現(xiàn)多種類型的數(shù)據(jù)混合進行運算時,首先要進行類型轉(zhuǎn)換。C+的類型轉(zhuǎn)換有自動類型轉(zhuǎn)換、強制類型轉(zhuǎn)換2種。2. 4 類型轉(zhuǎn)換1自動類型轉(zhuǎn)換字符型數(shù)據(jù)在表達式中以其ASCII碼值(整數(shù))參加運算;為保證精度,實型數(shù)據(jù)自動轉(zhuǎn)換成雙精度參加運算。賦值運算過程中,將右側(cè)操作數(shù)轉(zhuǎn)換成左邊操作數(shù)的類型后賦值。不同類型的數(shù)據(jù)自動轉(zhuǎn)換成相同類型的數(shù)據(jù)后再運算。轉(zhuǎn)換原則是:將精度較低的向精度較高的轉(zhuǎn)換。例: int a=

14、1; float x=3.5; char c=49; /將ASCII碼值為49的字符賦給c a=x; /a的值為3 coutF-Bendl; /輸出整數(shù)4 coutx+2endl; /輸出雙精度型數(shù)5.5 cout(a*6+x/2-c)end; /輸出雙精度型數(shù)-29.252. 4 類型轉(zhuǎn)換 強制類型轉(zhuǎn)換也稱顯式類型轉(zhuǎn)換,是指將一個表達式強制轉(zhuǎn)換到某個指定類型。其一般格式為: (數(shù)據(jù)類型名)表達式或 數(shù)據(jù)類型名(表達式)2強制類型轉(zhuǎn)換2. 4 類型轉(zhuǎn)換例如: cout(int)3.5; /輸出整數(shù)3 coutchar(97); /輸出字符a本章結(jié)束謝謝!2. 4 類型轉(zhuǎn)換第3章 流程控制語句C

15、+程序設(shè)計語言例3.1 編程根據(jù)輸入的球的半徑求球的體積知識概要:程序用變量代表所要處理的數(shù)據(jù);程序從主函數(shù)的第一條語句開始執(zhí)行,執(zhí)行完所有的語句后程序終止;簡單順序流程不足以解決復(fù)雜問題。 1. 簡單順序流程#includeusing namespace std;int main( ) const float pi=3.14; float v, r; coutr; v=4/3.0*pir*r*r; cout“球的體積 v=”vendl; return 0; 1 ) 最基本的if語句if (表達式) 語句;if (表達式) 語句1; 語句2; 復(fù)合語句2. if 條件控制例3.2 根據(jù)用戶輸入

16、的實數(shù),求出其絕對值并輸出。#includeusing namespace std;int main( ) float x; coutx; if (x0) x=-x; cout“該實數(shù)的絕對值為:”xendl; return 0; 語句 x=-x; 不一定執(zhí)行2. if 條件控制2 ) if else 語句 最基本的if語句只能表達“如果那么”的含義。而 if else 語句卻能表達“如果那么否則”的含義。if (表達式) 語句1;else 語句2;2. if 條件控制#include using namespace std;int main( ) int a, b; coutab; if (

17、ab) cout“a大于b”endl; else cout“a可能比b小”endl; cout“a也可能等于b”endl; return 0; 復(fù)合語句縮進例3.3 對用戶輸入的兩個整數(shù)比較其大小。2. if 條件控制3 ) if 嵌套 實際應(yīng)用中我們可能面臨更多種選擇,可以將ifelse 語句擴展:if語句的每一個分支均可能是嵌套的if語句。if (表達式1) 語句1;else if (表達式2) 語句2; else if (表達式3) 語句3; else 語句4;2. if 條件控制例3.4 編程求下列函數(shù)的值: 2. if 條件控制 #include using namespace st

18、d;int main(void) int x, y; coutx; if (x5) y=2; else if (x0) y=1; else if (x = = 0) y=0; else if (x=-5) y=-1; else y=-2; cout“f(x)=”yendl; return 0等于判斷書寫格式自由注意復(fù)雜條件的表達方式:if語句層層遞進表示 邏輯運算符的使用2. if 條件控制例3.5 輸入一個年份year,計算這一年2月份的天數(shù)days,然后輸出days。 閏年的條件是:year能被4整除但不能被100整除,或者year能被400整除。 #include using names

19、pace std;int main(void) int year, days; coutyear; if ( (year%4=0&year%100!=0) | year%400=0 ) days=29; else days=28; coutyear“年2月份的天數(shù)為:”daysendl; return 0復(fù)雜條件2. if 條件控制例3.6 將鍵盤輸入的四個數(shù)存入一組變量后對該組變量從大到小排序 #include using namespace std;int main( ) int a,b,c,d, t; cinabcd; if(ab) t=a; a=b; b=t; if(ac) t=a;

20、a=c; c=t; if(ad) t=a; a=d; d=t; if(bc) t=b; b=c; c=t; if(bd) t=b; b=d; d=t; if(cd) t=c; c=d; d=t; couta,b,c,db) if (bc) a=a+1; else b=b+1; else if (cd) c=c+1; else d=d+1;if (ab) if (bc) a=a+1 ; else if (cd) c=c+1; else d=d+1 ;if (ab) if (bc) a=a+1 ; else if (cd) c=c+1 ; else d=d+1 ;2. if 條件控制switch語

21、句又稱開關(guān)語句,它是C+的另一種分支方法 。switch (表達式) case 常量表達式 1: 語句序列1;break; case 常量表達式 2: 語句序列2;break; case 常量表達式 n: 語句序列n;break; default: 語句序列0;表達式的結(jié)果必須是整型、字符型或枚舉類型常量表達式的值必須是整型、字符型或枚舉類型的常量,不能是變量表達式3. switch 開關(guān)控制例3.7 設(shè)計一個程序?qū)逆I盤上輸入的百分制成績轉(zhuǎn)換成對應(yīng)的五分制成績并輸出,90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E。條件語句 vs 開關(guān)語句3. switch 開

22、關(guān)控制用條件語句實現(xiàn):#include using namespace std;int main( ) int s; char c; cout s; if (s=90)c=A; else if (s=80) c=B; else if (s=70) c=C; else if (s=60) c=D; else c=E; cout “五分制分數(shù)為: ”cendl; return 0;3. switch 開關(guān)控制用開關(guān)語句實現(xiàn):#include using namespace std;int main( ) int s; char c; cout s; switch (s/10) case 10 :

23、case 9 : c=A;break; case 8 : c=B ;break; case 7 : c=C ;break; case 6 : c=D ;break; default : c=E ; cout“五分制分數(shù)為:”cendl; return 0;case 語句的順序不重要;case后的常量互不相同;default語句的位置不重要;可以沒有default語句;注意break的效果;3. switch 開關(guān)控制1*2+2*3+3*4 = ?1*2+2*3+3*4+100*101= ? 引入循環(huán)結(jié)構(gòu)就可以簡化程序中大量的重復(fù)操作。在C+語言中,循環(huán)結(jié)構(gòu)是由 while 語句,dowhile

24、 語句和 for 語句來實現(xiàn)的,為了更方便地控制程序流程,C+語言還提供了兩個循環(huán)輔助語句 break 和 continue 。4. 循環(huán)控制1 ) while循環(huán)例3.8 求1*2+2*3+3*4+100*101= ?while (表達式) 語句;#include using namespace std;int main( ) int n=1, s=0; while(n=100) s=s+n*(n+1); n+; return 0;4. 循環(huán)控制2 ) dowhile循環(huán)while循環(huán)表達的是“當(dāng)滿足條件時一直做某事”。do 語句; while (表達式) ;dowhile循環(huán)表達的是“一直

25、做某事直到不滿足條件為止”。有分號!4. 循環(huán)控制例3.9 求鍵盤輸入的50個整數(shù)中正數(shù)之積和負數(shù)之和并分別輸出。#include using namespace std;int main( ) int n=1, a, s1=1, s2=0; while(na; if (a0) s1*=a; else s2+=a; n+; cout“s1=“s1endl; cout“s2=“s2endl; return 0;while 循環(huán):#include using namespace std;int main( ) int n=1, a, s1=1, s2=0; do cina; if (a0) s1*

26、=a; else s2+=a; n+; while(n=50); cout“s1=“s1endl; cout“s2=“s2endl; return 0;dowhile 循環(huán):s1,s2的初值為什么不同?4. 循環(huán)控制3 ) for 循環(huán)實現(xiàn)循環(huán)應(yīng)注意三個方面的問題:控制變量的初始化循環(huán)條件控制變量的值的更新for語句在書寫形式上正好體現(xiàn)了這種緊密的邏輯關(guān)系。for (表達式1;表達式2;表達式3) 循環(huán)體語句;4. 循環(huán)控制1*2+2*3+3*4+100*101= ?while 循環(huán);#include using namespace std;int main( ) int n=1, s=0;

27、while(n=100) s+=n*(n+1); n+; cout“s=“sendl; return 0;for 循環(huán);#include using namespace std;int main( ) for(int n=1, s=0; n=100; n+) s+=n*(n+1); cout“s=“sendl; return 0;4. 循環(huán)控制關(guān)于for循環(huán)的一些說明:for (表達式1;表達式2;表達式3) 語句;表達式1只執(zhí)行一次表達式2在每次準(zhǔn)備循環(huán)前執(zhí)行表達式3在每次循環(huán)后執(zhí)行各表達式均可省略,但分號不可省略表達式2省略表示循環(huán)條件成立4. 循環(huán)控制4 ) 循環(huán)嵌套一個循環(huán)的循環(huán)體可以

28、是另一個循環(huán),稱為循環(huán)嵌套。例3.10 打印8行7列的星號矩形#include using namespace std;int main( ) for( int i=0; i8; i+) for( int j=0; j7; j+) cout“*”; coutendl; return 0;如果改為j=i 呢 ?4. 循環(huán)控制各種循環(huán)的循環(huán)次數(shù)也可以是不確定的例3.11 不斷從鍵盤輸入若干個整數(shù),直到輸入整數(shù)0為止,求所有輸入整數(shù)的平均值。#include using namespace std;int main( ) int a, n=0; float s=0; couta; n+; for(

29、; a!=0 ; n+) s=s+a; couta; s=s/n; cout“s=“s/nendl; return 0;a的值決定了是否繼續(xù)輸入4. 循環(huán)控制5 ) continue 和 break 語句continue 和 break 語句用于提前開始下一輪循環(huán)或中斷所有循環(huán)例3.12 將100200之間不能被整除的整數(shù)輸出。#include using namespace std;int main( ) for( int n=100; n=200; n+) if (n%3 = = 0) continue; coutnendl; return 0;4. 循環(huán)控制例3.13:打印半徑為整數(shù)12

30、0的所有圓的面積,如果面積超過100則不打印。#include using namespace std;int main( ) int r; float s, pi=3.14159; for( r=1; r100) break; cout“r=”rt“s=”sendl; return 0;switch語句中的break語句功能是否類似?4. 循環(huán)控制5. 習(xí)題2、求100200間的所有素數(shù)4、求Fibonacci數(shù)列的前20項 (F1=1, F2=1,F(xiàn)3=F2+F1, Fn=Fn-1+Fn-2)1、求 a + aa + aaa + + aaaa = ? n個a5、求所有的水仙花數(shù),即各位數(shù)字

31、的立方和等于該數(shù)本身的3位整數(shù) 如153=13+ 53 + 33。3、用以下公式求的近似值,直到最后一項絕對值小于10-6為止6、用二分法求方程x2-3-5x=0在3,10區(qū)間的一個解。要求誤差不 大于10-6課后練習(xí)5. 習(xí)題C+實用教程第四章 數(shù)組和指針第 四 章 數(shù)組和指針4.1 數(shù)組4.4 結(jié)構(gòu)體4.3 字符串4.2 指針4.5 枚舉類型4.6 引用類型4.1 數(shù)組由具有各類特殊功能的信息(程序)組成1. 計算機系統(tǒng)計算機系統(tǒng)計算機的實體,如主機、外設(shè)等一、 計算機的軟硬件概念硬件軟件4.1 數(shù)組數(shù)組是由數(shù)目固定、類型相同的若干個變量組成的有序集合,該集合的名字稱為數(shù)組名,每個變量稱為

32、數(shù)組的元素。 通常用數(shù)組名和下標(biāo)來表示數(shù)組中的某個元素,因此數(shù)組中的元素也稱為下標(biāo)變量??梢韵窕緮?shù)據(jù)類型的變量一樣對數(shù)組中的元素賦值或?qū)⑵鋺?yīng)用于其它表達式中。 數(shù)組按維數(shù)的不同可分為一維數(shù)組和多維數(shù)組;按數(shù)組元素的類型不同可分為整型數(shù)組、浮點型數(shù)組、字符數(shù)組等。一、一維數(shù)組的定義和使用1. 一維數(shù)組的定義 定義一維數(shù)組的一般格式: 存儲類型 ; 數(shù)組名后的方括號稱為數(shù)組下標(biāo)運算符,其內(nèi)部的必須為正整數(shù),它表示該數(shù)組所能容納元素的最大數(shù)目。 數(shù)組定義中的必須由字面常量、const類型的常量或宏定義的標(biāo)識符構(gòu)成,不能含有變量,且它的值一定要為正整數(shù)4.1 在定義數(shù)組的同時,可以對數(shù)組中的元素賦初

33、值,稱為數(shù)組的初始化。通常用初始值表實現(xiàn)。數(shù)組的初始化有如下幾種形式: (1)在初始值表中給出數(shù)組中各元素的初始值。 (2)在初始值表中給出數(shù)組中部分元素的初始值,此時系統(tǒng)自動將其它元素置0,此時初始值表不能為空。 (3)在定義數(shù)組時,不直接指定數(shù)組的大小。此時編譯系統(tǒng)會根據(jù)初始值表中元素的個數(shù)來確定數(shù)組的大小 4.1 2一維數(shù)組的應(yīng)用 編譯系統(tǒng)為數(shù)組分配連續(xù)的內(nèi)存空間。 數(shù)組中的每個元素都有一個確定的序號來表示它在內(nèi)存中的位置,該序號是從零開始的。通過該序號可以引用數(shù)組中每一個元素,其一般格式如下: ; 其中是一個值為非負整數(shù)表達式,其值表示該元素的在數(shù)組中的序號,稱為元素的下標(biāo),在引用數(shù)組

34、中的元素時,要避免下標(biāo)越界。4.1 數(shù)組中的元素與普通的變量在使用上沒有太大區(qū)別,可以對它們賦值,也可將它們參與其它運算。 一維數(shù)組所占用內(nèi)存空間的大小為: sizeof()= 數(shù)組大小*sizeof()4.1二、多維數(shù)組的定義和使用1. 二維數(shù)組的定義 二維數(shù)組的定義格式: 存儲類型 ; 其中,稱為數(shù)組的行數(shù),稱為數(shù)組的列數(shù)。二維數(shù)組中元素的個數(shù)為:*。 4.1 在引用二維數(shù)組中的元素時,要指明該元素在二維數(shù)組中所處的行號和列號。表示二維數(shù)組中元素的一般格式為:; 其中和分別表示該元素所在的行和列,稱為行下標(biāo)和列下標(biāo)。 二維數(shù)組可以看作一維數(shù)組的直接推廣。 二維數(shù)組中的元素在存儲器中的排列規(guī)

35、則是:先按行進行存放,每一行中的元素再按其列下標(biāo)從小到大進行排列。4.1 2.二維數(shù)組的初始化 對二維數(shù)組的初始化有如下幾種方法: (1) 以行為單位,對數(shù)組中的元素進行初始化。 (2) 用類似于一維數(shù)組初始化的方式對二維數(shù)組進行數(shù)組進行初始化。 (3) 在定義二維數(shù)組時不指定數(shù)組的行數(shù),此時必須對該數(shù)組進行初始化,系統(tǒng)將根據(jù)初始化的數(shù)據(jù),自動確定數(shù)組的行數(shù)。注意,此時不能省略數(shù)組的列數(shù)。4.1 3.二維數(shù)組的應(yīng)用 例 設(shè)計一個程序,定義一個4行5列的二維數(shù)組并初始化,求出數(shù)組中元素的平均值、最大元素、最小元素以及最大元素和最小元素的位置(行號和列號)。 例 已知三行二列的矩陣a與二行三列矩陣

36、b,求這兩矩陣的積c=ab。4.14.2 指針一、指針變量的說明 每一個存儲單元都有唯一的一個編號與其對應(yīng),該編號稱為相應(yīng)存儲單元的地址。 編譯系統(tǒng)在對一個變量進行操作時,都是通過尋找其相應(yīng)的地址而實現(xiàn)對相應(yīng)的存儲單元中的內(nèi)容進行操作。 可以用取地址運算符“&”來獲取編譯器為變量分配的地址值。一般格式為:& 該運算返回變量的地址。 變量的地址值通常是一個無符號整數(shù),它也稱為變量的指針,簡稱指針。 我們也可以定義一個變量,該變量用來存放指針,我們稱之為指針變量,指針變量的值是某個存儲單元的地址。 4.2 說明一個指針變量的一般格式為: 存儲類型 * ,*; 其中“*”號為指針運算符。為另一個存儲

37、單元(該存儲單元中存放的數(shù)據(jù)稱為該指針變量所指向的數(shù)據(jù))的地址,而存儲類型和分別為該指針變量所指向數(shù)據(jù)的存儲類型和類型,可簡稱為指針變量的類型。4.2 編譯系統(tǒng)在編譯指針變量時將會有兩個存儲空間與其相關(guān),一個為指針變量本身所占用的空間,由于它存放的是地址,因此該空間通常與int類型的數(shù)據(jù)所占用的空間相同,為4個字節(jié);另一個為該指針變量所指向的數(shù)據(jù)所占用的存儲空間。如圖下圖所示(以字符型指針ptrch1為例):4.220001ptrch1:ptrch1所指向的數(shù)據(jù):地址為20001 指針變量的初始化方法有兩種: (1) 利用另一個同類型變量的地址對該指針變量進行初始化。 (2) 第二種方法是通過

38、強制類型轉(zhuǎn)換用一個整型常數(shù)直接初始化指針類型的變量。這種方法必須在清楚目前存儲空間那些“空閑”的前提下才能使用,否則在程序運行過程中將會出現(xiàn)致命錯誤。 4.2 指針變量的值始終是一個地址,它是一個無符號整型數(shù)據(jù)。 指針變量所指向的數(shù)據(jù)的類型與指針的類型一致,它的值可以用如下的方法獲得:* 這里的運算符“*”稱為取內(nèi)容運算符。該運算符的運算結(jié)果為作為其操作數(shù)的指針變量所指向的數(shù)據(jù)的值。 4.2 二、指針變量的操作 1、指針變量的賦值運算 (1) 將一個變量的地址直接賦給同類型的指針變量。 (2)同類型的指針之間可以互相賦值,此時這兩個指針指向同一個內(nèi)存單元。 (3)不同類型的指針變量之間可以通過

39、類型強制轉(zhuǎn)換互相賦值。但這樣的賦值通常沒有價值。4.2 可以將一個整型常數(shù)賦給指針變量,此時必須要經(jīng)過強制類型轉(zhuǎn)換,這種賦值方法要慎重使用。但將0(NULL)賦給指針變量具有特殊的含義,它表示該指針變量為空,即該指針變量不指向任何存儲單元。 必須注意,在對指針變量所指向的存儲單元賦值之前,該指針變量必須有一個確定的值,否則將是十分危險的。 4.2 2. 指針變量的算術(shù)運算 指針變量常用的算術(shù)運算為將指針變量加上或減去一個整型常數(shù)。 對于下面的運算:=n; 計算機的實際處理如下:=sizeof()*n; 指針的+、-運算與上述運算類似。4.2 3. 指針變量的關(guān)系運算 通常只進行同類型的變量之間

40、的關(guān)系運算,對于不同類型指針之間的關(guān)系運算意義不大。常用的指針變量的關(guān)系運算包括:判斷一個指針是否為空:= = 0;判斷兩個指針是否指向同一個存儲單元:= = ;比較兩個指針變量的大小等。 4.2 三、指針與數(shù)組 指針和數(shù)組有許多相通的地方,比如數(shù)組名就是可以看成是一個指針,而對于指針變量,也可以使用數(shù)組的下標(biāo)運算符。 數(shù)組的起始地址稱為數(shù)組的指針,而將指向數(shù)組元素的指針變量稱為指向數(shù)組的指針變量。利用指向數(shù)組的指針變量來處理數(shù)組中的元素是一種常用的方法。 4.2 1. 一維數(shù)組與指針 在聲明一個一維數(shù)組之后,該數(shù)組名就可以作為一個指針使用。但數(shù)組名并不是一個真正的指針變量,因為在編譯數(shù)組的聲

41、明語句時,編譯系統(tǒng)并不會為數(shù)組名另外分配存儲空間,因此對數(shù)組名不能使用賦值語句以及+、-運算符。 可以將一個指針變量指向同類型數(shù)組的首地址,這樣就可以通過對該指針變量訪問數(shù)組元素。 4.2 對一維數(shù)組而言,數(shù)組名和指針有許多相通的地方,歸納如下: (1)數(shù)組名a表示數(shù)組的起始地址。可以利用a+i表示的第i+1個元素的地址,即&ai; (2)將指針變量pInt指向數(shù)組a的起始地址的方法有兩種,即pInt=a或pInt=&a0; (3)在將pInt指向數(shù)組a的起始地址之后,pInt+i與a+i都表示數(shù)組a的第i+1個元素的地址,即&ai; 在將pInt指向數(shù)組a的起始地址之后,下列表達式都表示同一

42、個元素:ai、*(a+i)、*(pInt+i)、pInti等等。 4.2 2. 多維數(shù)組與指針 當(dāng)將一個指針指向二維數(shù)組的第一個元素時,就可以用它訪問該數(shù)組的所有元素。 對于二維數(shù)組,首先要分清行地址(行指針)和元素地址(元素指針)。 設(shè)有如下的一個二維數(shù)組: int a43=1,2,3,4,5,6,7,8,9,10,11,12; 該數(shù)組可以看成是一個一維數(shù)組a,該一維數(shù)組中有四個元素:a0, a1, a2, a3,每個元素又都是一個一維數(shù)組。4.2 數(shù)組名a表示的是數(shù)組的起始地址,也表示該二維數(shù)組第0行的首地址,它是一個行地址,而a0表示第0行第0個元素的地址。 行地址與元素地址要注意的問題

43、是: (1) 行地址加上或減去一個常數(shù)還表示行地址;元素指針加上或減去一個常數(shù)還是元素的地址。 (2) 行地址前加上運算符“*”表示該行第0個元素的地址,這里的符號“*”不是用來獲取指針?biāo)赶虻膬?nèi)容,它只是用來區(qū)分行地址和元素地址;而在元素指針前加運算符“*”表示該元素的值。 (3) 行地址的值與該行第0個元素地址的值相同。 4.2 根據(jù)以上的說明,對于二維數(shù)組a,下面的指針都是行地址:a、a+0、a+1、a+1+2,而a0、a1、a0+1、&a01、*a、*(a+0)、*(a+1) 都是元素地址。 除了上述的行地址外,還有另一類行指針,即&ai,它表示第i行的行指針。這里的符號“&”并不是取

44、地址符號,因為編譯器并沒有為ai分配存儲空間,這里的符號“&”只是用來區(qū)分行地址和元素地址。 4.2 要記住兩個具有代表性的行地址:a+i和&ai,兩個具有代表性的元素地址:*(a+i)和ai。 行地址、元素地址以及元素總結(jié)如下: 4.2類 型表 示 形 式說 明行地址a數(shù)組的起始地址、第0行的行地址a+i, &ai第i行的行地址a+i+j, &ai+j第i+j行的行地址元素地址*a, *(a+0), a0第0行第0列元素的地址ai, *(a+i), *&ai第i行第0列元素的地址ai+j,*(a+i)+j,*&ai+j,&aij第i行第j列元素的地址元素*a, *(a+0), *a0第0行第

45、0列元素*ai, *(a+i)第i行第0列元素*(ai+j),*(*(a+i)+j),*(*&ai+j), aij第i行第j列元素 四、動態(tài)分配內(nèi)存 new運算符可以為所創(chuàng)建的指針變量動態(tài)地分配存儲空間,而運算符delete則用于釋放動態(tài)分配的存儲空間。 使用new運算符的一般格式為:=new (初始值); 或=new ; 4.2 第一種形式為所指向的數(shù)據(jù)分配大小為sizeof()個字節(jié)的連續(xù)存儲空間,初始值表示為所分配的存儲空間指定初始值。 第二種形式為所指向的數(shù)據(jù)分配指定大小的數(shù)組空間,為整型變量或常量。 對于上述兩種情形,如果動態(tài)分配不成功,則new運算符返回NULL(0);如果成功分配

46、,則new運算符返回所分配的存儲空間的首地址,并將該地址賦給。4.2 使用delete的一般格式為:delete; 或delete ; 第一種格式為將動態(tài)分配給的內(nèi)存空間歸還給系統(tǒng),第二種格式為將動態(tài)分配給的數(shù)組空間歸還給系統(tǒng)。 在用new運算符為某個指針變量所指向的數(shù)據(jù)動態(tài)分配存儲空間之后,必須用delete運算符撤消,否則該存儲空間將一直被占用,直到關(guān)閉電腦。4.2 使用new和delete運算符要注意如下幾點: (1) new運算符實際上是為指針變量指定一個確定的值,即用動態(tài)的方式指定一個地址給指針變量。 (2) 如果new運算符動態(tài)分配內(nèi)存失敗(內(nèi)存中沒有符合要求的空閑的連續(xù)內(nèi)存單元)

47、,則返回NULL(0),此時指針為空指針。此時,要進行空指針判斷處理。 (3) 與數(shù)組一樣,動態(tài)分配存放數(shù)組的內(nèi)存空間時,也不能在分配空間的同時進行初始化。4.2 (4) 可以用new運算符動態(tài)分配多維數(shù)組空間,但要注意的是,它返回的是行指針。當(dāng)撤消動態(tài)分配二維數(shù)組空間時,一定要指明數(shù)組的行數(shù),否則只能撤消第0行的內(nèi)存空間, (5) 用運算符new動態(tài)分配內(nèi)存空間的指針必須保護起來,直到將該存儲空間撤消,否則不僅會帶來資源浪費,而且會引起一些意想不到的錯誤。 4.2 五、其他類型指針 1、void指針 void指針是空類型的指針,也稱為無類型指針,它不指向任何類型,僅僅是一個地址。因此void

48、指針不能進行指針運算,也不能直接取其指針?biāo)赶虻臄?shù)據(jù)的值。 只有將void指針與其它類型的指針相關(guān)聯(lián),才能使用它。可以將其它類型的指針賦給void指針,但當(dāng)將void指針賦給其它類型的指針時,必須進行強制類型轉(zhuǎn)換。4.2 2、const類型指針 (1) 指向常量的指針 指向常量的指針是指指針?biāo)赶虻臄?shù)據(jù)為常量,定義這類指針的一般格式為: const *; 或const *; 指向常量的指針常用作函數(shù)的參數(shù),此時,在函數(shù)體中不能改變該指針?biāo)赶虻臄?shù)據(jù)的值4.2 (2) 常量指針 常量指針是指指針變量的值為常量,定義常量指針的一般格式為: * const ; 注意,在定義常量指針時一定要對其初始化

49、。 4.2 (2) 指向常量的常量指針 定義指向常量的常量指針的一般格式為: const * const; 或const * const ; 4.24.3 字符串一、字符數(shù)組 說明字符數(shù)組的一般格式為:存儲類型char ; 數(shù)組元素都以ASCII碼值的形式存放于內(nèi)存空間。 字符數(shù)組的初始化: (1) 通過初始值表對字符數(shù)組進行初始化。初始值表中的元素為字符,各個字符之間用逗號隔開。 (2) 用一個字符串來初始化字符數(shù)組。此時,一定要注意字符串最后的結(jié)束標(biāo)志。注意,不能將一個字符串直接賦給一個字符數(shù)組名,或數(shù)組中的某個元素。 字符數(shù)組的使用與其它類型的數(shù)組類似,即可以用元素的下標(biāo)訪問數(shù)組中的各個

50、元素。但由于字符數(shù)組作為一個整體可以當(dāng)成字符串來處理,因此在使用上就有自己的獨特之處,比如可以對字符數(shù)組進行整體輸入輸出等等。 但在進行整體輸入輸出時要注意: 1.字符數(shù)組的整體輸入并不受數(shù)組大小的限制。 2.當(dāng)字符數(shù)組的整體輸出時,輸出到0為止4.3 字符數(shù)組的元素是按其ASCII碼值存放在內(nèi)存單元中的。字符型數(shù)組的元素的取值范圍為-128127,而無符號字符型數(shù)組元素的取值范圍為0255。由于這一特性,可以對字符數(shù)組中的元素進行一些類似于整數(shù)的運算。4.3 二、字符指針 表示字符串的指針我們又稱為字符指針,在很多的情況下都是用字符指針來表示字符串。 可以象字符數(shù)組那樣直接用字符串來初始化字

51、符指針 。 由于字符串的特殊性,字符指針與一般指針在使用上還是存在一定的差異。我們要充分了解這些差異。 4.3 字符指針與一般指針的差異主要表現(xiàn)在: (1) 字符指針可以進行如下形式的賦值: pCh1=NanJing!; 而一般指針能夠進行下述形式的賦值: *pInt=2; (2) 如果插入操作符的左操作數(shù)為字符指針,則將輸出整個字符串;如果為*pCh1,則只能輸出一個字符。如果插入操作符的左操作數(shù)為一般指針,則輸出該指針的值,為一個地址。4.3 可以將一個數(shù)組名賦給一個字符指針變量,表示將該字符指針變量指向字符數(shù)組的首地址,但反過來是不可以的,即不能將一個字符指針變量賦給一個字符數(shù)組名。 可

52、以將一個指針變量的值賦給另一個指針變量,這種賦值的結(jié)果是pCh1和pCh指向同一個存儲單元,當(dāng)其中一個指針變量所指向的數(shù)據(jù)的值改變時,另一個變量所指向的數(shù)據(jù)也跟著改變。 在對字符指針進行操作時,要注意字符串的結(jié)束標(biāo)志”0” 。4.34.4 結(jié)構(gòu)體數(shù)組中的每一個元素屬于同一種數(shù)據(jù)類型,利用數(shù)組處理大量的同類型數(shù)據(jù)是很方便的。但是在實際應(yīng)用中,常常需要把不同類型而關(guān)系又非常密切的數(shù)據(jù)組織在一起,形成一個整體,以便于統(tǒng)一管理。 一種稱為結(jié)構(gòu)體的數(shù)據(jù)類型,可以用來描述這種類型的數(shù)據(jù)集。 定義結(jié)構(gòu)體類型的一般格式為: struct ; ; ; 其中,花括號內(nèi)是結(jié)構(gòu)體的內(nèi)容,由若干個變量構(gòu)成,這些變量的類

53、型可以不同,它們稱為結(jié)構(gòu)體的成員或分量,分量名與結(jié)構(gòu)體名不能相同。,在結(jié)構(gòu)體的最后一定要有一個分號。 4.4 由于定義結(jié)構(gòu)類型只是定義了一種數(shù)據(jù)類型,因此,當(dāng)編譯器編譯結(jié)構(gòu)體的定義時,并不為結(jié)構(gòu)體中的成員分配任何內(nèi)存空間,從而在定義結(jié)構(gòu)體的成員時,不能指定成員的存儲類型為auto、register、extern,但可以指定結(jié)構(gòu)體成員的存儲類型為static,其特點和作用將在以后介紹。4.4 在定義一個結(jié)構(gòu)體之后,就增加了一種新的數(shù)據(jù)類型??梢詣?chuàng)建該類型的變量。 可以用如下三種方法定義結(jié)構(gòu)體變量: (1)先定義結(jié)構(gòu)體類型,然后利用結(jié)構(gòu)名定義結(jié)構(gòu)體變量。一般格式為: 存儲類型 ,; 或 存儲類型s

54、truct , , 4.4 與基本數(shù)據(jù)類型類似,在定義結(jié)構(gòu)體類型的變量時,也可對該變量進行初始化,其方法與對數(shù)組的初始化方法類似,即采用用花括號括起來的初始值表。 注意,初始值表中的數(shù)據(jù)類型必須與結(jié)構(gòu)體中對應(yīng)元素的類型一致(兼容的除外),否則會產(chǎn)生編譯錯誤。另外,初始值表中的數(shù)據(jù)的個數(shù)不能大于結(jié)構(gòu)體中元素的個數(shù)。 在定義結(jié)構(gòu)體類型的變量時,也可以指定變量的存儲類型。 4.4 (2) 在定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量。 (3) 在定義結(jié)構(gòu)體時,省略結(jié)構(gòu)名,而直接定義變量。 對于結(jié)構(gòu)體類型的變量,在編譯過程中,編譯系統(tǒng)將為這些變量分配相應(yīng)的內(nèi)存空間,所分配的空間大小原則上為結(jié)構(gòu)體中所有成員所占

55、空間的總和。 結(jié)構(gòu)體變量也存在作用域的問題,其作用域與一般變量的作用域相同。 4.4 對結(jié)構(gòu)體變量的使用一般是通過對其成員的引用實現(xiàn)的。使用結(jié)構(gòu)體變量的成員的一般格式為: . 其中,“是結(jié)構(gòu)體成員運算符,它在所有運算符中優(yōu)先級最高。4.4 結(jié)構(gòu)體類型變量本身也可參與一些運算: 1) 同類型的結(jié)構(gòu)體變量可以相互賦值。 2) 結(jié)構(gòu)體類型變量不能直接進行輸入輸出。 3) 結(jié)構(gòu)體類型變量可以作為函數(shù)的參數(shù),函數(shù)的返回值也可以是結(jié)構(gòu)體類型。4.4 定義結(jié)構(gòu)體數(shù)組的方法與定義結(jié)構(gòu)體類型變量的方法類同,只是在定義時增加維數(shù)的說明,也有三種方法。 在說明結(jié)構(gòu)體數(shù)組時,可對它進行初始化,其方法與數(shù)組類似,有兩種

56、方法:第一種方法是將數(shù)組的每一個元素的成員的值用花括號括起來,再將數(shù)組的全部元素值用一對花括號括起來;第二種方法是在花括號內(nèi)依次列出各個元素的成員值。4.44.5 枚舉類型 定義枚舉類型通常采用如下形式: enum , , ; 一個枚舉類型中可有若干個枚舉常量,構(gòu)成枚舉量表,各枚舉常量可為任意合法的標(biāo)識符,它們之間用逗號隔開。枚舉常量也稱為枚舉元素。 編譯系統(tǒng)給每個枚舉元素指定一個整型常量值。如果在枚舉類型定義中沒有規(guī)定元素所取的整數(shù)值,系統(tǒng)把所列舉的枚舉元素的序號(從0開始)作為對應(yīng)元素的值。也可以指定枚舉元素的值 枚舉元素可以作為整型常量使用,可以直接輸出。 可以用枚舉類型說明枚舉類型變量

57、,而且也有與結(jié)構(gòu)體類型類似的三種說明方法。 在說明枚舉類型變量時,也可對它進行初始化,此時可將某一個枚舉元素作為它的初始值。 通常將某個枚舉元素賦給枚舉類型的變量,但也可將相應(yīng)的整數(shù)賦給枚舉類型的變量,不過此時一定要進行強制類型轉(zhuǎn)換。反過來,也可以將枚舉變量強制轉(zhuǎn)換為整型值。 4.5 對枚舉類型變量可以使用兩種運算符:賦值運算符和關(guān)系運算符。 可以將一個枚舉類型中的枚舉元素賦給相應(yīng)的枚舉變量,同類型的枚舉變量之間也可以相互賦值。 枚舉類型變量的關(guān)系運算是指同類型的枚舉類型變量之間的比較運算,或枚舉類型變量與一個枚舉元素進行的比較運算。 枚舉變量不能直接從鍵盤上輸入,但可以直接輸出。4.54.6

58、 引用類型 引用是另一個變量別名,或另一個變量的同義詞,引用變量依附于另一個變量而定義。定義引用類型變量的一般格式為: &=; 其中為引用類型的變量,而必須是已經(jīng)定義過的且與引變量同類型的變量。 在定義一個引用變量時,編譯系統(tǒng)并不會為其單獨分配存儲空間,因此必須對它進行初始化,將它與某個已定義的同類型的變量相關(guān)聯(lián)。 對枚舉類型變量可以使用兩種運算符:賦值運算符和關(guān)系運算符。 可以將一個枚舉類型中的枚舉元素賦給相應(yīng)的枚舉變量,同類型的枚舉變量之間也可以相互賦值。 枚舉類型變量的關(guān)系運算是指同類型的枚舉類型變量之間的比較運算,或枚舉類型變量與一個枚舉元素進行的比較運算。 枚舉變量不能直接從鍵盤上輸

59、入,但可以直接輸出。4.6 要注意如下幾個問題: (1) 在定義引用類型的變量時,不能用不同類型的變量或常量對它初始化。 (2) 引用可以與指針變量所指向的數(shù)據(jù)相關(guān)聯(lián),也可以與數(shù)組中的元素相關(guān)聯(lián)。 (3) 可以定義指針類型的引用。 (4) 可以定義對引用類型變量的引用,但不能定義引用的引用,也不能定義引用指針和引用數(shù)組。 (5) 但沒有空引用和void類型的引用。 (6) 可以為引用變量動態(tài)分配內(nèi)存空間。 4.6C+實用教程第五章 類和對象第 5 章 類和對象5.1 對象5.4 函數(shù)重載5.3 成員函數(shù)5.2 類的定義和使用5.5 函數(shù)的嵌套與遞歸5.6 構(gòu)造函數(shù)與析構(gòu)函數(shù)5.7 作用域與存儲

60、類型5.8 友元函數(shù)5.1 對象 從廣義上講,人們所關(guān)心的事物都是對象,它是信息系統(tǒng)所針對的問題域中的人、地點和事物等概念的抽象。 面向?qū)ο蠓椒▽W(xué)將對象定義為:對象是一個邏輯實體,它是對一組信息以及作用于這些信息的操作的描述。也就是說,對象是將其自身所固有的狀態(tài)特征或?qū)傩耘c可以對這些狀態(tài)施加的操作結(jié)合在一起所構(gòu)成的獨立實體。 對象的特性: (1)有一個名字作為該對象在系統(tǒng)中的標(biāo)識 (2)有一組描述它的特征的狀態(tài)。 (3)有一組操作。 根據(jù)開發(fā)過程的不同,可將對象分為三種不同類型的對象: 現(xiàn)實生活中存在的實體:是我們所模擬系統(tǒng)的原始構(gòu)成; 問題對象:對象在問題中的抽象,它是現(xiàn)實對象在計算機解空間

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論