




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
程序設(shè)計基礎(chǔ)——C語言程序設(shè)計
2023翻轉(zhuǎn)課堂實用教程第7章
數(shù)組一維數(shù)組7.1二維數(shù)組7.2
字符數(shù)組7.37.4數(shù)組的越界C語言解決問題的本質(zhì)定義變量處理變量基本數(shù)據(jù)類型整形int字符型char實數(shù)單精度實數(shù)float雙精度實數(shù)double用于定義單個變量在實際生活中,存不存在對多個變量的集合進行處理的情況呢?數(shù)組7.1一維數(shù)組1234導(dǎo)入數(shù)組導(dǎo)入案例數(shù)組的定義引用初始化存儲方式知識點數(shù)組的使用案例案例分析練習(xí)數(shù)組的使用練習(xí)題導(dǎo)入案例(1)案例7.1.1:輸入5個整數(shù),分別表示5名應(yīng)屆畢業(yè)生的月薪,計算并輸出這5名應(yīng)屆畢業(yè)生的平均月薪(小數(shù)點后保留2位小數(shù))。解決步驟:(1)采用循環(huán)求和方式計算出總和,(2)然后除以個數(shù)就可以得到平均值。注意:在計算平均數(shù)時建議用實數(shù)類型保存和,這樣在用和除以個數(shù)時得到的均值也是實數(shù)。導(dǎo)入案例(1)#include<stdio.h>intmain(){ inti,salary; doubleaverage,sum=0; for(i=0;i<5;i++){ scanf("%d",&salary); sum=sum+salary; } average=sum/5; printf("%.2f",average); return0;}輸入數(shù)據(jù):70008100750069007300輸出數(shù)據(jù):7360.00運行結(jié)果案例7.1.1程序代碼導(dǎo)入案例(2)案例7.1.2:輸入5個整數(shù),分別表示5名應(yīng)屆畢業(yè)生的月薪,計算并輸出這5名應(yīng)屆畢業(yè)生的平均月薪(小數(shù)點后保留兩位小數(shù)),以及高于平均月薪的工資數(shù)。本例題要求輸出所有大于平均月薪的工資數(shù),此時就需要保存輸入的所有月薪,等平均值月薪計算出來后,再將高于平均月薪的工資數(shù)輸出。導(dǎo)入案例(2)intmain(){inti,salary1,salary2,salary3,salary4,salary5;doubleaverage,sum=0;scanf("%d",&salary1);scanf("%d",&salary2);scanf("%d",&salary3);scanf("%d",&salary4);scanf("%d",&salary5);sum=sum+salary1+salary2+salary3+salary4+salary5;average=sum/5;printf("平均月薪為:%.2f\n",average);printf("高于平均月薪的工資數(shù)為:");if(salary1>average)printf("%d\n",salary1);if(salary2>average)printf("%d\n",salary2);if(salary3>average)printf("%d\n",salary3);if(salary4>average)printf("%d\n",salary4);if(salary5>average)printf("%d\n",salary5);return0;}輸入:70006500710068007000輸出:平均月薪為:6880.00高于平均月薪的工資數(shù)為:700071007000運行結(jié)果案例7.1.2程序代碼如果此時應(yīng)屆畢業(yè)生人數(shù)由5名變?yōu)?0名、100名,如何解決?7.1.1一維數(shù)組知識點數(shù)組:若干相同類型的數(shù)據(jù)的集合數(shù)組中每一個數(shù)據(jù)叫做數(shù)組元素。元素均具有相同的數(shù)據(jù)類型,具有統(tǒng)一的變量名即數(shù)組名,并用不同編號來區(qū)分每個元素。數(shù)組的概念可以等同于班級中的小組,假如小組1有10名學(xué)生,為這10名學(xué)生依次編號為0、1、2...9,用小組1的0號學(xué)生、小組1的1號學(xué)生…小組1的9號學(xué)生就可以找到這10名學(xué)生。1、一維數(shù)組的定義一維數(shù)組的定義方式為:
數(shù)據(jù)類型名數(shù)組名[數(shù)組長度];舉例://定義一個含有10個整型數(shù)據(jù)的數(shù)組arrayintarray[10];//定義一個含有20個雙精度浮點型數(shù)據(jù)的數(shù)組numdoublenum[20];//定義一個含有30個字符型數(shù)據(jù)的數(shù)組strcharstr[30];7.1.1一維數(shù)組知識點每個元素的類型整型常量,指出元素個數(shù),稱為數(shù)組長度合法標識符在定義數(shù)組時,[]方括號中的數(shù)值是數(shù)組中元素的個數(shù)2、一維數(shù)組的引用一維數(shù)組中各個元素的引用方式:
數(shù)組名[元素的下標];7.1.1一維數(shù)組知識點(1) 先定義,再引用。(2) 數(shù)組中按照元素的順序,從0開始為每個元素進行編號,這個編號稱為下標,合理的下標取值依次為:0、1...(數(shù)組長度-1),分別對應(yīng)著數(shù)組中第一個元素、第二個元素...最后一個元素。(3) 下標也可以為整型表達式,其取值范圍為[0,數(shù)組長度-1],不在這個范圍內(nèi)的下標值為越界,越界會導(dǎo)致溢出。上溢或者下溢會導(dǎo)致程序出現(xiàn)不可預(yù)料的錯誤。(4) 只能逐個引用數(shù)組元素,不能一次性引用整個數(shù)組。對數(shù)組元素的引用是自由的,通過數(shù)組名和元素下標即可唯一確定一個數(shù)組元素。在引用時,[]方括號中數(shù)值給出了將要引用的元素的下標值。7.1.1一維數(shù)組知識點以下關(guān)于數(shù)組的說法,不正確的選項為:引用數(shù)組元素時,數(shù)組下標可以是整形常量或者整形表達式2、一維數(shù)組的引用一維數(shù)組中各個元素的引用方式:
數(shù)組名[元素的下標];7.1.1一維數(shù)組知識點舉例: intarray[10];array[0]、array[1]、array[2]、array[3]、array[4]、array[5]、array[6]、array[7]、array[8]、array[9]
0
1
2
3
4
5
6
7
8
97.1.1一維數(shù)組知識點現(xiàn)定義了一維數(shù)組inta[4];關(guān)于數(shù)組元素的引用,正確的選項為:3、一維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[數(shù)組長度]={元素初值表};7.1.1一維數(shù)組知識點在定義數(shù)組時,根據(jù)元素初值表中給出的元素的個數(shù),分三種情況為數(shù)組進行初始化:①元素初值表給出所有元素值②元素初值表只給出部分元素值③沒有元素初值表3、一維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[數(shù)組長度]={元素初值表};7.1.1一維數(shù)組知識點①元素初值表給出所有元素值賦值的原則為:將初始表中給出的初值依次賦值給全部數(shù)組元素。舉例:intarray[10]={1,2,3,4,5,6,7,8,9,10};等價于a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5,a[5]=6,a[6]=7,a[7]=8,a[8]=9,a[9]=10。若對所有元素賦值,可以省略數(shù)組長度,但不建議省略元素初值表中的初值個數(shù)不能超過數(shù)組長度。3、一維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[數(shù)組長度]={元素初值表};7.1.1一維數(shù)組知識點②元素初值表只給出部分元素值賦值的原則為:將初始表中給出的初值依次賦值給數(shù)組元素,其余元素自動賦值為0。舉例:intnum[10]={1,2,3};等價于num[0]=1,num[1]=2,num[2]=3,num[3]~num[9]均為0。如何給全部元素賦初值為0intnum[10]={0};3、一維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[數(shù)組長度]={元素初值表};7.1.1一維數(shù)組知識點③沒有元素初值表分兩種情況:普通數(shù)組intgrade[10];//動態(tài)數(shù)組,所有元素的值是一個隨機值。定義時加上static關(guān)鍵字的靜態(tài)數(shù)組staticintgrade[10];//若沒有對靜態(tài)數(shù)組元素賦初值,所有元素自動被賦初值0。3、一維數(shù)組的初始化(2)在定義數(shù)組后,單獨對數(shù)組元素賦值7.1.1一維數(shù)組知識點賦值的原則為:此時需要挨個為數(shù)組元素賦值。舉例:①
intgrade[10];
grade[0]=80,grade[1]=90,grade[2]=85,grade[3]=75;
其他沒有賦值的元素,其值為隨機值。②for(i=0;i<10;i++) scanf("%d",&grade[i]);//是否正確?intscore[20];score[20]={80,90};4、一維數(shù)組的存儲方式系統(tǒng)根據(jù)每個元素的數(shù)據(jù)類型、元素的個數(shù)在內(nèi)存中分配一塊連續(xù)的內(nèi)存空間用于存放該數(shù)組。數(shù)組名便是這塊連續(xù)內(nèi)存空間的首地址/起始地址。7.1.1一維數(shù)組知識點舉例
inta[10]={1,2,3,4,5,6,7,8,9,10};4、一維數(shù)組的存儲方式系統(tǒng)根據(jù)每個元素的數(shù)據(jù)類型、元素的個數(shù)在內(nèi)存中分配一塊連續(xù)的內(nèi)存空間用于存放該數(shù)組。數(shù)組名便是這塊連續(xù)內(nèi)存空間的首地址/起始地址。7.1.1一維數(shù)組知識點內(nèi)存單元下標0123456789舉例
inta[10]={1,2,3,4,5,6,7,8,9,10};4、一維數(shù)組的存儲方式系統(tǒng)根據(jù)每個元素的數(shù)據(jù)類型、元素的個數(shù)在內(nèi)存中分配一塊連續(xù)的內(nèi)存空間用于存放該數(shù)組。數(shù)組名便是這塊連續(xù)內(nèi)存空間的首地址/起始地址。7.1.1一維數(shù)組知識點舉例
inta[10]={1,2,3,4,5,6,7,8,9,10};數(shù)組元素引用a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]內(nèi)存單元下標01234567894、一維數(shù)組的存儲方式系統(tǒng)根據(jù)每個元素的數(shù)據(jù)類型、元素的個數(shù)在內(nèi)存中分配一塊連續(xù)的內(nèi)存空間用于存放該數(shù)組。數(shù)組名便是這塊連續(xù)內(nèi)存空間的首地址/起始地址。7.1.1一維數(shù)組知識點舉例
inta[10]={1,2,3,4,5,6,7,8,9,10};數(shù)組元素引用a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]內(nèi)存單元12345678910下標01234567894、一維數(shù)組的存儲方式系統(tǒng)根據(jù)每個元素的數(shù)據(jù)類型、元素的個數(shù)在內(nèi)存中分配一塊連續(xù)的內(nèi)存空間用于存放該數(shù)組。數(shù)組名便是這塊連續(xù)內(nèi)存空間的首地址/起始地址。7.1.1一維數(shù)組知識點舉例
inta[10]={1,2,3,4,5,6,7,8,9,10};數(shù)組元素引用a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]內(nèi)存單元12345678910下標0123456789地址信息8080808480888092809681008104810881128116整形數(shù)據(jù)在內(nèi)存中占4個字節(jié),若首地址為8080案例分析一維數(shù)組的編程方法7.1.4分析一維世界中新冠病毒感染情況7.1.5在一系列數(shù)據(jù)中刪除第k個數(shù)據(jù)演示數(shù)組中每個元素的賦值和輸出方法演示查找某個數(shù)據(jù),并刪除數(shù)組中元素的方法。下標作為循環(huán)變量,采用循環(huán)結(jié)構(gòu)對數(shù)組進行操作巧用數(shù)組下標,簡化問題解決。演示下標的其他用處,如坐標點。7.1.2一維數(shù)組案例分析7.1.3放射加密方法對一系列數(shù)據(jù)進行加密案例7.1.3:用放射加密方法對一系列數(shù)據(jù)進行加密,并輸出加密后的數(shù)據(jù)。要求:輸入10個數(shù)據(jù),保存到數(shù)組中,并采用放射加密法對每個數(shù)據(jù)進行加密,最后輸出加密后的10個數(shù)據(jù)。加密的公式:加密后數(shù)據(jù)=(7*數(shù)據(jù)+21)%26。問題分析:定義整型數(shù)組num保存這10個數(shù)據(jù),數(shù)組長度定為10,定義i作為數(shù)組的下標,并將數(shù)組的下標i作為循環(huán)變量,通過循環(huán)變量i從0變到n-1,來逐個訪問數(shù)組中的a[0]到a[n-1],并對其進行相應(yīng)的操作。7.1.2一維數(shù)組案例分析#include<stdio.h>#defineN10/*定義符號常量N為10,后續(xù)代碼N的地方*/intmain(void){inti;/*i既作為數(shù)組下標,又作為循環(huán)變量*/intnum[N]={50,34,40,68,60,45,39,47,51,30};for(i=0;i<N;i++){num[i]=(7*num[i]+21)%26;
}
printf("放射加密后的數(shù)據(jù)為:\n");for(i=0;i<N;i++){printf("%d",num[i]);}return0;}放射加密后的數(shù)據(jù)為:72515325248121423運行結(jié)果案例7.1.3程序代碼7.1.2一維數(shù)組案例分析案例7.1.4:分析一維世界中新冠病毒感染情況要求:從2019年12月開始,新冠病毒在全球傳播開來,該病毒傳染性極強,只要某人與攜帶了該病毒的感染者在活動范圍內(nèi)有交集,則有被感染的可能。為了簡化運算,假設(shè)人生活在一維世界中,Ta到過的地方為一個區(qū)間[begin,end],其中0≤begin≤end≤200。假設(shè)有二個人,A、B,其中A為新冠病毒感染者,B為健康者,依次給出4個整數(shù)beginAendAbeginBendB,分別為這A、B二人的活動區(qū)間,請分析B是否有被感染的可能。7.1.2一維數(shù)組案例分析案例7.1.4:分析一維世界中新冠病毒感染情況問題分析:在一維世界中,人的活動范圍為[0,200],共201個點,定義intmark[201]={0}來記錄這201點是否為感染者的活動點。假設(shè)0≤i≤200,若mark[i]=0,表示i這個點不是感染者的活動點,若mark[i]=1,表示i這個點是感染者的活動點。7.1.2一維數(shù)組案例分析O感染者A的活動范圍beginAendAmark[beginA]~mark[endA]賦值為1beginBendBB循環(huán)判斷mark[beginB]~mark[endB]中的值是否有1的情況#include<stdio.h>intmain(){intn,m,i,j,flag=0;//flag為0表示未被感染intbeginA,endA,beginB,endB;intmark[201]={0};//用于在0到200這些坐標點標記scanf("%d%d%d%d",&beginA,&endA,&beginB,&endB);//標記A活動過的坐標點for(i=beginA;i<=endA;i++){mark[i]=1;
//表示i這個坐標點為A感染者的活動點。}for(j=beginB;j<=endB;j++){/*若j這個坐標點已經(jīng)被標記為1,說明B的活動點j是A感染者活動的點*/if(mark[j]==1){flag=1;//可能被感染時flag置為1break;}}if(flag==1)//通過flag的值來判斷B是否可能被感染printf("B有可能被感染!");elseprintf("B暫無可能被感染!");return0;}運行結(jié)果1:5068345B暫無可能被感染!運行結(jié)果2:23453490B有可能被感染!運行結(jié)果案例7.1.4程序代碼數(shù)組的下標還可以有其他的含義,比如坐標點。解決某些實際問題時,好好利用下標,會簡化問題的求解。7.1.2一維數(shù)組案例分析案例7.1.5:在一系列數(shù)據(jù)中刪除第k個數(shù)據(jù)要求:輸入10個整數(shù),將其保存到數(shù)組中。再輸入一個要刪除數(shù)據(jù)的下標index(從0開始),若該index值合法(0~9),則將該位置的數(shù)據(jù)從數(shù)組中刪除,不合法則不執(zhí)行任何操作。問題分析:定義長度為10的arr數(shù)組來保存10個數(shù)據(jù),i作為數(shù)組的下標,index來保存要刪除數(shù)據(jù)的下標值,刪除了該下標處的數(shù)據(jù)后,該位置后面的數(shù)據(jù)要往前移動。7.1.2一維數(shù)組案例分析#include<stdio.h>intmain(){intarr[10]={0};intindex,i;for(i=0;i<=9;i++)scanf("%d",&arr[i]);scanf("%d",&index);if(index>=0&&index<=9){//先輸出最開始的數(shù)組printf("原始數(shù)組為:\n");for(i=0;i<=9;i++)printf("%d",arr[i]);printf("\n");
for(i=index;i<9;i++)
//從index開始,i位置數(shù)據(jù)等于i+1,實現(xiàn)數(shù)據(jù)前移arr[i]=arr[i+1];printf("刪除一個數(shù)據(jù),新的數(shù)組為:\n");for(i=0;i<=8;i++)printf("%d",arr[i]);}else{printf("theindexiswrong!");}return0;}運行結(jié)果1:0123456789↙0↙原始數(shù)組為:0123456789刪除下標0的元素,新的數(shù)組為:123456789運行結(jié)果2:0123456789↙9↙原始數(shù)組為:0123456789刪除下標9的元素,新的數(shù)組為:012345678運行結(jié)果案例7.1.5程序代碼7.1.2一維數(shù)組案例分析課堂練習(xí)題7.1.3:一維數(shù)組的循環(huán)左移先輸入一個整數(shù)n和m,n表示元素的個數(shù),m表示左移的位置,隨后輸入n個整數(shù)。請依次輸出左移m位后的數(shù)組中所有的元素。舉例: 輸入: 82 12345678 輸出: 345678127.1.3一維數(shù)組練習(xí)題課堂練習(xí)題7.1.1:兩個一維數(shù)組相加先輸入一個整數(shù)n,隨后輸入兩行數(shù)據(jù),每行n個整數(shù),試計算這兩行數(shù)據(jù)對應(yīng)位置的和,并輸出所有的和。舉例:輸入:51234567890輸出7911135
課堂練習(xí)題7.1.2:輸出某個大學(xué)生程序設(shè)計大賽中,最高的得分和最低的得分先輸入一個整數(shù)n表示參加程序設(shè)計大賽的選手人數(shù),隨后給出n個整數(shù)表示每位參賽者的得分,用空格隔開。請輸出這n位參賽者中最高的得分和最低的得分。7.2二維數(shù)組1234導(dǎo)入二維數(shù)組導(dǎo)入案例二維數(shù)組的定義引用初始化存儲方式知識點二維數(shù)組的使用案例案例分析練習(xí)二維數(shù)組的使用練習(xí)題導(dǎo)入案例案例7.2.1:將C字母保存到矩陣中,并將該矩陣輸出到屏幕上?,F(xiàn)有一個C字母的黑白像素圖片,下圖,在該圖片中,C字母的像素點使用黑色表示,其他地方用白色顯示。試用矩陣的形式將該圖片輸出出來。導(dǎo)入案例案例7.2.1:將C字母保存到矩陣中,并將該矩陣輸出到屏幕上。為了方便輸出,黑色的像素點的矩陣值用1來表示,白色像素點的矩陣值用0來表示。C字母對應(yīng)的矩陣如何保存矩陣中各個元素的值?9行8列二維數(shù)組導(dǎo)入案例#include<stdio.h>#defineM9//宏定義,M表示行數(shù),9行#defineN8//N為列數(shù),8列intmain(){/*9行8列的矩陣,需要9行8列的二維數(shù)組來存放,初值為0*/intpic[M][N]={0};inti,j;//1行3、4、5、6列為C字母的一部分,值為1for(i=3;i<=6;i++)pic[1][i]=1;
/*同樣,2行2列、3行1列、4行1列、5行1列、6行2列為C字母一部分,值為1*/pic[2][2]=1,pic[3][1]=1,pic[4][1]=1,pic[5][1]=1;pic[6][2]=1;for(i=3;i<=6;i++) pic[7][i]=1;/*以上代碼將C字母的矩陣保存到了二維數(shù)組中,下面將該二維數(shù)組輸出即可。*/for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%2d",pic[i][j]); printf("\n");}return0;}運行結(jié)果案例7.2.1程序代碼對矩陣的操作可以用對二維數(shù)組的操作來實現(xiàn)。1、二維數(shù)組的定義二維數(shù)組的定義方式為:
數(shù)據(jù)類型名數(shù)組名[行長度][列長度];舉例:
//定義一個10行10列的二維整型數(shù)組rect,共10*10=100個元素。intrect[10][10];//定義一個10行20列的二維字符數(shù)組names,共有10*20=200個字符元素。charnames[10][20];7.2.1二維數(shù)組知識點二維數(shù)組可被看作一個矩陣,有行也有列。定義時,第一個[]內(nèi)指出的是二維數(shù)組的總行數(shù),第二個[]內(nèi)指出的是該二維數(shù)組的總列數(shù),均為整型常量。每個元素的類型合法標識符2、二維數(shù)組的引用二維數(shù)組中各個元素的引用方式:
數(shù)組名[元素的行下標][元素的列下標];7.2.1二維數(shù)組知識點(1) 先定義,再引用。(2) 二維數(shù)組中的元素,需要通過其所在的行和列來唯一確定。(3) 行、列下標均為整型表達式,行下標取值范圍:0~行長度-1;列下標取值范圍:0~列長度-1,不在這個范圍內(nèi)的下標值為越界,越界會導(dǎo)致溢出。上溢或者下溢會導(dǎo)致程序出現(xiàn)不可預(yù)料的錯誤。(4) 只能逐個引用數(shù)組元素,不能一次性引用整個數(shù)組。對數(shù)組元素的引用是自由的,通過數(shù)組名和元素的行下標、列下標可唯一確定一個數(shù)組元素。在引用,需要給定該元素的行下標和列下標。第一個[]中的數(shù)值為元素的行下標。第二個[]中數(shù)值為元素的列下標。2、二維數(shù)組的引用二維數(shù)組中各個元素的引用方式:
數(shù)組名[元素的行下標][元素的列下標];7.2.1二維數(shù)組知識點舉例:intrect[4][3];//定義了一個4行3列的二維數(shù)組rect,共4*3=12個元素。一維數(shù)組rect[0]一維數(shù)組rect[1]一維數(shù)組rect[2]一維數(shù)組rect[3]二維數(shù)組邏輯存儲方式0行1232、二維數(shù)組的引用二維數(shù)組中各個元素的引用方式:
數(shù)組名[元素的行下標][元素的列下標];7.2.1二維數(shù)組知識點舉例:intrect[4][3];//定義了一個4行3列的二維數(shù)組rect,共4*3=12個元素。二維數(shù)組按行存儲示意圖rect[0][0]rect[0][1]rect[0][2]rect[1][0]rect[1][1]rect[1][2]rect[2][0]rect[2][1]rect[2][2]rect[3][0]rect[3][1]rect[3][2]rect[0]
rect[1]
rect[2]
rect[3]在實際內(nèi)存中的存放方式是按行存儲3、二維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[行長度][列長度]={元素初值表};7.2.1二維數(shù)組知識點根據(jù)元素初值表中給出的元素的個數(shù),分三種情況為數(shù)組進行初始化:①元素初值表給所有元素賦值②元素初值表給部分元素賦值③沒有元素初值表3、二維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[行長度][列長度]={元素初值表};7.2.1二維數(shù)組知識點①元素初值表給所有元素賦值舉例1:
intrect[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};該行代碼采用按行分段賦值的方法對rect數(shù)組進行初始化。12345678910111201230123、二維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[行長度][列長度]={元素初值表};7.2.1二維數(shù)組知識點①元素初值表給所有元素賦值舉例2:
intrect[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
第0行所有元素
第1行所有元素
第2行所有元素該行代碼采用先按行再按列連續(xù)賦值的方法對rect數(shù)組進行初始化。123456789101112
0123
012在定義數(shù)組時如果對所有元素賦值,可以省略行長度。3、二維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[行長度][列長度]={元素初值表};7.2.1二維數(shù)組知識點②元素初值表給部分元素賦值若按行連續(xù)賦值,則將初始表中給出的初值先按行再按列依次賦值給數(shù)組元素,其余元素自動賦值為0。舉例:intrect[3][4]={1,2,3,4,5,6};12345600000001230123、二維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[行長度][列長度]={元素初值表};7.2.1二維數(shù)組知識點②元素初值表給部分元素賦值按行分段賦值,舉例:
intrect[3][4]={{1,2,3,4},{5,6}};
第0行元素
第1行的元素
intrect[10][10]={8};
intrect[3][4]={0};//所有元素賦值為0123456000000
0123
0123、二維數(shù)組的初始化(1)在定義數(shù)組時初始化
數(shù)據(jù)類型名數(shù)組名[行長度][列長度]={元素初值表};7.2.1二維數(shù)組知識點③沒有元素初值表分兩種情況:普通數(shù)組intarr[2][3];
//動態(tài)數(shù)組,所有元素的值是一個隨機值。定義時加上static關(guān)鍵字的靜態(tài)數(shù)組staticintarr[2][3];//若沒有對靜態(tài)數(shù)組元素賦初值,所有元素自動被賦初值0。3、二維數(shù)組的初始化(2)在定義數(shù)組后,單獨對數(shù)組元素賦值7.2.1二維數(shù)組知識點此時需要挨個為數(shù)組元素賦值,可以一個一個元素賦值,也可以用雙重循環(huán)賦值。舉例:intarr[2][3];arr[0][0]=80,arr[0][1]=90,arr[0][2]=85,arr[1][0]=78,arr[1][1]=94,arr[1][2]=75;4、多維數(shù)組7.2.1二維數(shù)組知識點在前面講解二維數(shù)組的引用時,我們講到二維數(shù)組可以理解為多個一維數(shù)組,C語言允許這樣解釋。同樣的,多維數(shù)組可以由二維數(shù)組類推而得到,此書不再講解多維數(shù)組的問題。一維數(shù)組rect[0]一維數(shù)組rect[1]一維數(shù)組rect[2]一維數(shù)組rect[3]二維數(shù)組邏輯存儲方式0行123案例分析二維數(shù)組的編程方法7.2.3判斷下三角矩陣7.2.4求矩陣每行的最大值,以及每列的最小值演示遍歷二維數(shù)組中每個元素的方法分別用行下標、列下標作為外層循環(huán)對矩陣的不同訪問。行列下表作為循環(huán)變量,雙層循環(huán),遍歷數(shù)組演示矩陣的下三角位置行列下標的關(guān)系。7.2.2二維數(shù)組案例分析7.2.2數(shù)據(jù)a與矩陣相乘二維數(shù)組的編程:二維數(shù)組涉及到兩個下標,將數(shù)組行下標和列下標分別作為循環(huán)變量,雙重循環(huán),遍歷數(shù)組。行下標作為外循環(huán)變量、列下標作為內(nèi)循環(huán)變量,就會按照行來遍歷數(shù)組;相反的,就會按照列來遍歷數(shù)組。C語言中二維數(shù)組是按行存儲的,按行遍歷數(shù)組,程序執(zhí)行效率最高。7.2.2二維數(shù)組案例分析案例7.2.2:將一個數(shù)a與矩陣相乘,并將結(jié)果保存到二維數(shù)組中,然后輸出。要求:輸入第一行為三個整數(shù)a、m和n,中間用空格隔開,m和n分別為矩陣的行和列(1≤m,n≤10)。隨后的m行,每行輸入n個整數(shù),每個整數(shù)間用空格隔開。輸出a與該矩陣相乘后的矩陣,并保存到二維數(shù)組中,然后輸出。問題分析:在輸入時,矩陣中的元素值是按行給出的,所以在讀取矩陣中的元素值,也是要按行存放在二維數(shù)組中,按行存放時,行下標作為外循環(huán)變量,列下標作為內(nèi)循環(huán)變量。7.2.2二維數(shù)組案例分析#include<stdio.h>intmain(){ intrect[10][10]={0}; inta,m,n,i,j,value; scanf("%d",&a); scanf("%d%d",&m,&n); for(i=0;i<m;i++){
for(j=0;j<n;j++){//按行來讀取矩陣中的數(shù)據(jù)
scanf("%d",&value);/*將矩陣中的所有元素*a后存在相應(yīng)位置的二維數(shù)組中*/ rect[i][j]=a*value;
} } for(i=0;i<m;i++){
for(j=0;j<n;j++)//將第i行所有元素輸出,中間用空格隔開 printf("%d",rect[i][j]);
//當(dāng)?shù)趇行的所有元素輸出后,需要換行,準備下一次循環(huán)輸出第i+1行的元素
printf("\n"); } return0;}運行結(jié)果:輸入:232↙12↙34↙5
6↙輸出:24681012運行結(jié)果案例7.2.2程序代碼7.2.2二維數(shù)組案例分析案例7.2.3:判斷下三角矩陣要求:輸入第一行為一個整數(shù)m(1≤m≤10),表示方陣的行數(shù)和列數(shù)。隨后m行數(shù)據(jù),每一行都有m個整數(shù),用空格隔開,試判斷該方陣是否為下三角矩陣:如果一個方陣的主對角線上方的元素全部為0,這個矩陣就成為下三角矩陣。7.2.2二維數(shù)組案例分析用二維數(shù)組a表示m*m方陣時,行下標i、列下標j對應(yīng)關(guān)系:a[0][0]a[0][1]a[0][2]
a[1][0]a[1][1]a[1][2]a[2][0]a[2][1]a[2][2]主對角線:i==j副對角線:i+j==m-1上三角:i<=j下三角:i>=j#include<stdio.h>#defineMAX10intmain(){ intrect[MAX][MAX]={0}; intm,i,j; intflag=1;
//flag為1:為下三角矩陣,flag為0:不為下三角矩陣。 scanf("%d",&m); for(i=0;i<m;i++){ for(j=0;j<m;j++)
//按行來讀取矩陣中元素,并存在數(shù)組中 scanf("%d",&rect[i][j]); } for(i=0;i<m;i++){ for(j=i+1;j<m;j++){ if(rect[i][j]!=0){ flag=0; break; } } } if(flag==1) printf("lowertriangularmatrix!"); else printf("notlowertriangularmatrix!"); return0;}運行結(jié)果1:5↙10000↙10000↙12000↙12300↙12340↙lowertriangularmatrix!運行結(jié)果2:5↙10010↙10010↙12000↙12300↙12340↙notlowertriangularmatrix!運行結(jié)果案例7.2.3程序代碼7.2.2二維數(shù)組案例分析若刪除break,結(jié)果如何?案例7.2.4:求矩陣每行的最大值,以及每列的最小值要求:輸入第一行為兩個整數(shù)m和n(1≤m,n≤10),表示矩陣的行數(shù)和列數(shù)。隨后m行數(shù)據(jù),每一行都有n個整數(shù),用空格隔開,試輸出該矩陣每行的最大值,以及每列的最小值。
問題分析:用二維數(shù)組來保存此矩陣,該矩陣有m行n列,那么共有m個最大值,n個最小值,所以可以定義兩個數(shù)組max和min來保存所有的最大值和最小值。其中求每行最大值時,需要先按行遍歷二維數(shù)組,求每列最小值時,需要按列遍歷二維數(shù)組。7.2.2二維數(shù)組案例分析#include<stdio.h>#defineMAX10intmain(){
intrect[MAX][MAX];
//max保存每行最大值,min保存每列最小值inti,j,m,n,max[MAX]={0},min[MAX]={0};scanf("%d%d",&m,&n);for(i=0;i<m;i++){//讀取矩陣,保存到二維數(shù)組中for(j=0;j<n;j++)scanf("%d",&rect[i][j]);}
/*求每一行的最大值存到max數(shù)組中,共m行,所以max數(shù)組中有m個值*/for(i=0;i<m;i++){//先假設(shè)第i行的第0列元素最大,再和后面列的數(shù)據(jù)進行比較max[i]=rect[i][0];for(j=1;j<n;j++){if(max[i]<rect[i][j])max[i]=rect[i][j];}}
案例7.2.4程序代碼7.2.2二維數(shù)組案例分析
/*求每一列的最小值存到min數(shù)組中,共n列,mim數(shù)組中有n個值*/for(j=0;j<n;j++){min[j]=rect[0][j];for(i=1;i<m;i++)if(min[j]>rect[i][j])min[j]=rect[i][j];}printf("每行最大值如下:");for(i=0;i<m;i++) printf("%d",max[i]);printf("\n每列最小值如下:");for(i=0;i<n;i++) printf("%d",min[i]);return0;}運行結(jié)果1:45↙34539↙1020487↙2454913↙634547↙每行最大值如下:9202434每列最小值如下:34437運行結(jié)果//有錯誤的源程序#include<stdio.h>intmain(){ intarray[10][10]={0}; intflag;//標記是否存在k intm,n,k,i,j; scanf("%d%d%d",&m,&n,&k); for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",&array[i][j]); if(array[i][j]==k){ flag=1; printf("%d%d\n",i,j); } } } if(flag==0) printf("不存在%d這個數(shù)",k); return0;}7.2.3二維數(shù)組練習(xí)題課堂練習(xí)題7.2.1:程序調(diào)試題,請查找下面程序中的邏輯錯誤。輸入三個整數(shù)m,n,k,其中m表示二維數(shù)組的行數(shù),n表示二維數(shù)組的列數(shù),k表示要查找的數(shù)據(jù);隨后輸入m行n列數(shù)據(jù),請輸出m行n列的數(shù)據(jù)中是否存在k這個數(shù)據(jù),如果存在輸出第一次出現(xiàn)k時的行列號(從0開始計數(shù))。輸入:2510345107891031輸出:03課堂練習(xí)題7.2.3:矩陣循環(huán)左移輸入兩個正整數(shù)n和m,其中n表示方陣的行列數(shù),m表示矩陣中每個元素左移的位數(shù),隨后輸入n行n列的數(shù)據(jù)。請輸出左移m位后的方陣。舉例: 輸入: 42 1234 5678 8372 5127 輸出: 3412 7856 7283 27517.2.3二維數(shù)組練習(xí)題課堂練習(xí)題7.2.2:找矩陣中的是否存在某個元素,該元素是所在行最大值、所在列最大值。輸入兩個正整數(shù),m和n分別表示矩陣的行數(shù)和列數(shù),隨后輸入m行n列的數(shù)據(jù),請找出該矩陣中是否存某個元素:既是其所在行的最大值,又是其所在列的最大值),如果有鞍點,則輸出其所在的行列號。(本練習(xí)題基于案例7.2.3來解決)7.3字符數(shù)組123一維字符數(shù)組字符串和字符數(shù)組的關(guān)系字符串結(jié)束符字符數(shù)組的輸入和輸出方式字符串處理函數(shù)二維字符數(shù)組知識點案例7.3.1案例7.3.2案例7.3.3案例分析練習(xí)字符數(shù)組的使用練習(xí)題1、一維字符數(shù)組存放了字符的數(shù)組就是字符數(shù)組。只有一個下標的就是一維字符數(shù)組。定義、初始化、引用都與其他類型的一維數(shù)組是一樣的。舉例:
chart[8]={‘H’,’e’,’l’,’l’,’o’,’’,’C’,’!’};等價于:t[0]=‘H’,t[1]=‘e’,t[2]=‘l’,t[3]=‘l’,t[4]=‘o’,t[5]=‘’,t[6]=‘C’,t[7]=‘!’。charstr[9]={‘H’,’e’,’l’,’l’,’o’,’’,’C’,’!’,’\0’};等價于:str[0]=‘H’,str[1]=‘e’,str[2]=‘l’,str[3]=‘l’,str[4]=‘o’,str[5]=‘’,str[6]=‘C’,str[7]=‘!’,str[8]=‘\0’較t數(shù)組,多了一個‘\0’字符,該字符的ASCII值為0在C語言的字符串處理中,‘\0’字符作為字符串的結(jié)束。7.3.1字符數(shù)組知識點字符數(shù)組名還是字符數(shù)組的地址,即首字符的地址。2、字符串與字符數(shù)組的關(guān)系字符串就是一組連續(xù)的字符的集合,它有一個結(jié)束標志‘\0’。使用一維字符數(shù)組來存儲字符串。一維字符數(shù)組并不一定是字符串,主要在于一維字符數(shù)組中是否在所有字符后保存一個結(jié)束符‘\0’。舉例:
若要保存”HelloC!”這個字符串常量,除了HelloC!這8個字符外,還有一個結(jié)束符‘\0’charstr[9]={‘H’,’e’,’l’,’l’,’o’,’’,’C’,’!’,’\0’};7.3.1字符數(shù)組知識點2、字符串與字符數(shù)組的關(guān)系舉例:
chart[8]={‘H’,’e’,’l’,’l’,’o’,’’,’C’,’!’};charstr[9]={‘H’,’e’,’l’,’l’,’o’,’’,’C’,’!’,’\0’};字符數(shù)組str的有效長度:8
7.3.1字符數(shù)組知識點str和t數(shù)組的區(qū)別是什么?t數(shù)組沒有保存‘\0’,它僅是一個字符數(shù)組.str不僅是一個字符數(shù)組,它還可以作為一個字符串。str的實際大?。?3、字符串結(jié)束符訪問內(nèi)存中的一個字符串,需要知道
。'\0'意味著字符串的結(jié)束。charstr[9]={‘H’,’e’,’l’,’l’,’o’,’’,’C’,’!’,’\0’};C語言在處理字符串時,會從前往后逐個掃描字符,直到遇到第一個'\0'就認為到達了字符串的末尾,結(jié)束處理。7.3.1字符數(shù)組知識點字符串的地址+字符串的結(jié)束符#include<stdio.h>intmain(){inti;chars[17]="HelloCprogram!";//先給所有元素賦初值 printf("%s\n",s);s[0]='H';s[1]='a';s[2]='p';s[3]='p';s[4]='y';
s[5]='\0';
for(i=0;i<16;i++){//輸出s字符數(shù)組中所有元素putchar(s[i]);;}
printf("\n");printf("%s\n",s);//將s作為一個字符串來處理return0;}運行結(jié)果舉例,理解結(jié)束符7.3.1字符數(shù)組知識點HelloCprogram!HappyCprogram!Happy'\0'在輸出時不顯示內(nèi)容。4、字符數(shù)組的輸入和輸出分為兩種:7.3.1字符數(shù)組知識點①逐個元素的處理②整個數(shù)組一次性處理4、字符數(shù)組的輸入和輸出7.3.1字符數(shù)組知識點①逐個元素的處理涉及到的函數(shù)為:scanf()、printf()、getchar()、putchar(),使用這四個函數(shù)時需要添加stdio.h。在scanf()和printf()中使用格式控制說明符%c來進行單個字符的輸入和輸出。getchar()讀取單個字符,并且只能讀取單個字符。putchar()輸出單個字符,并且只能輸出單個字符。舉例:charch;scanf("%c",&ch);//從鍵盤中讀取一個字符,并存到變量ch中printf("%c",'A');//輸出一個字符'A',也可輸出一個字符變量ch=getchar();//從鍵盤中讀取一個字符,并存到變量ch中putchar(ch);//輸出一個字符變量,也可以輸出字符常量4、字符數(shù)組的輸入和輸出7.3.1字符數(shù)組知識點②整個數(shù)組一次性處理涉及到的函數(shù)為:scanf()、printf()、gets()、puts()。在scanf()和printf()中使用格式控制說明符%s來進行字符串的輸入和輸出。scanf遇到空格、tab鍵或者回車便停止讀取字符。gets()讀取一行字符串。gets()在讀取時,只要不遇到換行符就會一直讀取,即使遇到多個空格,也不會停止讀取。puts()輸出字符串并換行。舉例:charstr[10]={'\0'};scanf("%s",str);gets(str);puts(str);4、字符數(shù)組的輸入和輸出7.3.1字符數(shù)組知識點②整個數(shù)組一次性處理scanf()遇到空格、制表符tab或者換行符停止讀?。籫ets()只會在遇到換行符’\n’停止讀取。區(qū)別#include<stdio.h>intmain(){inti;chars[40];
scanf("%s",s); printf("%s\n",s);return0;}運行結(jié)果:WeareClanguagelearners.↙We使用scanf()讀取字符串#include<stdio.h>intmain(){inti;chars[40];
gets(s); printf("%s\n",s);return0;}
運行結(jié)果:WeareClanguagelearners.↙WeareClanguagelearners.gets()讀取字符串5、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點常見的處理函數(shù),包含在string.h頭文件中。strlen()計算字符串有效長度strcmp()字符串比較strcat()字符串拼接函數(shù)strcpy()字符串拷貝函數(shù)strstr()字串查找函數(shù)需要#include<string.h>5、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(1)strlen計算字符串有效長度字符串包含兩個部分:一組連續(xù)的字符序列和結(jié)束符’\0’,strlen()返回的是連續(xù)字符的個數(shù)。#include<stdio.h>intmain(){ charstr1[30]={"HelloClanguage!"}; charstr2[30]={"language"}; charstr3[10]="C++"; printf("%d\n",strlen(str1)); printf("%d\n",strlen(str2)); printf("%d\n",strlen(str3)); return0;}運行結(jié)果:17835、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(2)strcmp字符串比較函數(shù)strcmp(str1,str2)用于比較兩個字符串大小,自左往右逐個字符的ASCII碼值進行比較,直到出現(xiàn)不同的字符或者遇到‘\0’,其中str1和str2為字符串。0(當(dāng)str1和str2中的字符完全一樣時,str1等于str2)strcmp(str1,str2)
返回
正數(shù)
(當(dāng)str1>str2)
負數(shù)
(當(dāng)str1<str2)5、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(2)strcmp字符串比較函數(shù)舉例:#include<stdio.h>intmain(){ charstr1[]="Abc";//如果對全部元素賦值,數(shù)組長度可以省略 charstr2[]="Abc"; charstr3[]="Acd"; charstr4[]="Bbca"; charstr5[]="Bbc"; printf("str1VSstr2is%d\n",strcmp(str1,str2)); printf("str1VSstr3is%d\n",strcmp(str1,str3)); printf("str3VSstr4is%d\n",strcmp(str3,str4)); printf("str4VSstr5is%d",strcmp(str4,str5)); return0;}運行結(jié)果:str1VSstr2is0str1VSstr3is-1str3VSstr4is-1str4VSstr5is15、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(3)strcat字符串拼接函數(shù)strcat(str1,str2)用于將str2拼接到str1后面,并返回str1,其中str1和str2為字符串。注意:該函數(shù)要求str1的字符數(shù)組長度要夠長,能夠放下str1的有效字符+str2的有效字符+一個結(jié)束符。5、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(3)strcat字符串拼接函數(shù)舉例:#include<stdio.h>intmain(){ charstr1[30]={"Hello"}; charstr2[5]={"C"}; charstr3[10]={"language!"};
strcat(str1,str2); printf("str1:%s\n",str1);//str1中拼接了str2的內(nèi)容 printf("str2:%s\n",str2);//str2字符串內(nèi)容不變 strcat(str1,str3); printf("str1:%s",str1); return0;}運行結(jié)果:str1:HelloCstr2:Cstr1:HelloClanguage!5、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(4)strcpy字符串拷貝函數(shù)strcpy(str1,str2)用于將str2中的內(nèi)容拷貝到str1中,會清除str1中原有的字符。注意:str1字符數(shù)組的大小要足夠大能容納str2數(shù)組中的字符,否則出現(xiàn)越界的現(xiàn)象。5、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(4)strcpy字符串拷貝函數(shù)舉例:#include<stdio.h>intmain(){ charstr1[30]={"Hello"}; charstr2[30]={"Language"}; printf("before:str1:%s\n",str1); strcpy(str1,str2); printf("after:str1:%s\n",str1); return0;}運行結(jié)果:before:str1:Helloafter:str1:Language5、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(5)strstr字串查找函數(shù)strstr(str1,str2)用于判斷str1是否含有str2這個字符串。如果有,str2則被稱為str1的子串。該函數(shù)返回指向str1中str2第一個出現(xiàn)的位置的指針;如果str2不是sr1的子串,則返回NULL。5、字符數(shù)組串處理函數(shù)7.3.1字符數(shù)組知識點(5)strstr字串查找函數(shù)舉例:#include<stdio.h>intmain(){ charstr1[30]={"HelloClanguage!"}; charstr2[30]={"language"}; charstr3[10]="C++"; char*p=strstr(str1,str2); printf("%s\n",p);//p指向str1中從'l'開始的"language"子串 printf("%d",strstr(str1,str3)==NULL);//str3不是str1的子串,所以strstr返回NULL return0;}運行結(jié)果:language!16、二維字符數(shù)組7.3.1字符數(shù)組知識點二維字符數(shù)組,可以理解為多個一維字符數(shù)組,如果一維字符數(shù)組中存放的是學(xué)生姓名,那二維數(shù)組就可以存放多個學(xué)生的姓名,其初始化、引用都和二維數(shù)組一樣。舉例:charname[3][20]={{“Peter”},{“Tom”},{“Emily”}};3行20列,表示3個一維字符數(shù)組(每個數(shù)組最多20個字符),可以保存3個字符串。name[0]name[1]name[2]案例7.3.1:查找特定的字符要求:本例包含兩行輸入,輸入第一行是一串以回車符結(jié)束的字符串str(不超過50個字符),第二行是要查找的字符ch。如果在給定的字符串str中找到了字符ch,則輸出在str中最先出現(xiàn)ch的下標(從0開始計數(shù));若未找到,則輸出“NotFound!”7.3.2字符數(shù)組案例分析str數(shù)組的長度應(yīng)該定義為多少?#include<stdio.h>intmain(){inti,flag=0;//flag為0表示沒有找到charstr[51]={'\0'},ch;gets(str);ch=getchar();for(i=0;str[i]!='\0';i++){if(ch==str[i]){flag=1;printf("Thefirstindexof%cis%d",ch,i);break;}}if(flag==0){printf("NotFound!");}}運行結(jié)果:Lifeislikeaboxofchocolates↙l↙Thefirstindexoflis8運行結(jié)果案例7.3.1程序代碼7.3.2字符數(shù)組案例分析案例7.3.2:刪除重復(fù)數(shù)字字符要求:輸入是一串以回車符結(jié)束的字符串str(不超過80個字符),編寫程序?qū)tr字符串重復(fù)的數(shù)字字符刪除,其他字符原樣輸出。問題分析:(1)定義長度為10的number數(shù)組來保存某個數(shù)字是否出現(xiàn)過。比如,若6出現(xiàn)過,則number[6]為1,若6沒有出現(xiàn),則number[6]為0;所以number[0]、number[1]、number[2]…number[9]依次表示數(shù)字0、1、2…9是否出現(xiàn)過,元素值為1表示出現(xiàn)過,元素值為0表示沒出現(xiàn)過。(2)在后續(xù)輸出str時,對于其中的數(shù)字字符,先轉(zhuǎn)化為相應(yīng)的數(shù)字,再判斷number[該數(shù)字]的值是否為0,為0表示沒出現(xiàn)過,便可以直接輸出。7.3.2字符數(shù)組案例分析#include<stdio.h>intmain(){inti,number[10]={0};//標記某個數(shù)字是否出現(xiàn)過charstr[81]={'\0'};gets(str);for(i=0;str[i]!='\0';i++){if(str[i]>='0'&&str[i]<='9'){intindex=str[i]-'0';//數(shù)字字符轉(zhuǎn)對應(yīng)數(shù)字if(
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全國電煤采購合同范例
- 單位食堂職工合同范例
- 協(xié)議建房合同范例
- 農(nóng)場流轉(zhuǎn)合同范例
- 專利技術(shù)購買合同范例
- 農(nóng)業(yè)合同范例書籍
- 關(guān)于包裝采購合同范例
- 醫(yī)院服裝合同范例
- 印刷訂貨合同范例
- 廠房木工合同范例
- 《博弈論》最完整版課件(加專題研究)
- 關(guān)渡小學(xué)2020校本研修領(lǐng)導(dǎo)小組及相關(guān)制度
- 納布啡在胃腸鏡麻醉中的臨床觀察-課件
- 常用手術(shù)器械手工清洗
- 三次函數(shù)的圖像和性質(zhì)用
- 紙板線設(shè)備基礎(chǔ)知識培訓(xùn)53
- 2022年四川省成都市郫都區(qū)嘉祥外國語學(xué)校八年級下學(xué)期期末語文試卷
- 卓越領(lǐng)導(dǎo)力訓(xùn)練
- 注塑成型試題-及答案
- 眾智smartgenHAT600系列雙電源自動切換控制器說明書
- 湖南省惡性腫瘤門診放化療定點醫(yī)療機構(gòu)申請表
評論
0/150
提交評論