![易語言世恒系列教程預備知識_第1頁](http://file4.renrendoc.com/view/9dad9aa641cdbfbdf9877e7515ed6fcc/9dad9aa641cdbfbdf9877e7515ed6fcc1.gif)
![易語言世恒系列教程預備知識_第2頁](http://file4.renrendoc.com/view/9dad9aa641cdbfbdf9877e7515ed6fcc/9dad9aa641cdbfbdf9877e7515ed6fcc2.gif)
![易語言世恒系列教程預備知識_第3頁](http://file4.renrendoc.com/view/9dad9aa641cdbfbdf9877e7515ed6fcc/9dad9aa641cdbfbdf9877e7515ed6fcc3.gif)
![易語言世恒系列教程預備知識_第4頁](http://file4.renrendoc.com/view/9dad9aa641cdbfbdf9877e7515ed6fcc/9dad9aa641cdbfbdf9877e7515ed6fcc4.gif)
![易語言世恒系列教程預備知識_第5頁](http://file4.renrendoc.com/view/9dad9aa641cdbfbdf9877e7515ed6fcc/9dad9aa641cdbfbdf9877e7515ed6fcc5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
數(shù)如果有過用其它語言編程的經(jīng)歷,那么想必會熟悉數(shù)組的概念。由于有了數(shù)組,可以用相同名字一系值設計一個循環(huán),高效處理多種情況。數(shù)組有上界和下界,數(shù)組的元素在上下界內(nèi)是連續(xù)的。因VisualBasic對每一個索引值都分配空間,所以不要不切實際一個太大的數(shù)組。Index屬性規(guī)定的。變量數(shù)組總是連續(xù)的;與控件數(shù)組不同的是,不能從一個數(shù)組的中部加載或卸一個數(shù)組中的所有元素具有相同的數(shù)據(jù)類型。當然,當數(shù)據(jù)類型為Variant時,各個元素能夠包含不同種類的數(shù)據(jù)(對象、字符串、數(shù)值等等)??梢匀魏位緮?shù)據(jù)類型的數(shù)組,包括用戶自定義類型(請參閱“再論編程”中的“創(chuàng)建自己的數(shù)據(jù)類型”)和對象變量(請參閱“用對象編程”)。VisualBasic中有兩種類型的數(shù)組:固定大小的數(shù)組—它總是保持同樣的大小,以及在運行時大小可有三種方法固定大小的數(shù)組,用哪法取決于數(shù)組應有的有效范圍:建立公用數(shù)組,在模塊的Public語句數(shù)組。建立模塊級數(shù)組,在模塊的Private語句數(shù)組建立局部數(shù)組,在過程中用Private語句數(shù)組。數(shù)組時,在數(shù)組名之后跟一個用括號括起來的上界。上界不得超過Long數(shù)據(jù)類型的范圍(-2,147,483,648到2,147,483,647)。例如,下列數(shù)組可出現(xiàn)在模塊的段:DimCounters14As '15個元素DimSums(20)AsDouble '21個元素。為建立公用數(shù)組,直接用Public取代Dim。PublicCounters(14)AsIntegerPublicSums(20)AsDouble在過程之中同樣的使用DimCounters(14)AsIntegerDimSums(20)AsDouble第一個建立了一個有15個元素的數(shù)組,其索引號從0到14。第二個建立了一個有21個素的數(shù)組,其索引號從020。缺省的下界為0To顯式提供下界(為Long數(shù)據(jù)類型DimCounters(1To15)AsIntegerDimSums(100To120)AsString述中,Counters的索引值范圍從1到15,而Sums的索引值范圍從100到200Variant數(shù)據(jù)類型數(shù)組,并與不同數(shù)據(jù)類型的數(shù)組共居一處。以下代碼建立兩個數(shù)組,一個包含整數(shù),而另一個包含字符串。然后第三個Variant數(shù)組,并將整數(shù)和字符串數(shù)組放置其中:PrivateSubCommand1_ClickDimintXAsInteger'計數(shù)器變量。DimcountersA(5)AsIntegerForintX=0To4countersA(intX)=5NextintX'并放置字符串數(shù)組DimcountersB(5)AsStringForintX=0To4countersB(intX)="o"NextintXDimarrX(2)As '擁有兩個成員的新數(shù)組arrX(1)=countersA() arrX(2)=countersB()MsgBoxarrX1 MsgBoxarrX(2)End數(shù)有時需要追蹤記錄數(shù)組中的相關信息例如為了追蹤記錄計算機屏幕上的每一個像素需要它的X、Y坐標。這時應該用數(shù)組值。可用VisualBasic數(shù)組。例如,下面的語句了一個過程內(nèi)的10×10的二維數(shù)組StaticMatrixA(9,9)As StaticMatrixA(1To10,1To10)AsDimMultiD(3,1To10,1To這個建立了三維數(shù)組,大小為4×10×15。元素總數(shù)為三個維數(shù)的乘積,為600注意在增加數(shù)組的維數(shù)時,數(shù)組所占的空間會大幅度增加,所以要慎用數(shù)組。使用Variant數(shù)組時更要格外,因為他們需要更大的空間??梢杂肍or循環(huán)嵌套有效的處理數(shù)組例如在MatrixA中基于每個元素在數(shù)組中的位置為其賦值DimIAsInteger,JAsStaticMatrixA(1To10,1To10)AsForI=1ToForJ=1ToMatrixA(I,J)=I*10+JNextJNext先進行類型說明。數(shù)組說明的一般形式為明符[常量表達式],……類inta[10];說明整型數(shù)組a,有10floatb[10],c[20];說明實型數(shù)組b,有10個元素,實型數(shù)組c,有20charch[20];說明字符數(shù)組ch,有20voidmain(){intfloat}a[5]a50開始計算。因此5個元素分別為a[0],a[1],a[2],a[3],a[4]。#defineFD5voidmain(){int}void{intn=5;int}例如:inta,b,c,d,k1[10],k2[20];數(shù)組元素是組成數(shù)組的基本單元。數(shù)組元素也是一種變量,其標識方法為數(shù)組名后跟一個下標表示了元素在數(shù)組中的順序號[下標其中的下標只能為整型常量或整型表達式。如為小數(shù)時,C編譯將自動取整。例如,a[5],a[i+j],a[i++]都是合法的數(shù)組元素常也稱為下標變量。必須先定義數(shù)組,才能使用下標變量。在C語言中只能逐個地使用下標變量,而不能一次整個數(shù)組。例如,輸出有10個元素的數(shù)組必須使用循環(huán)語句逐個輸出各下標變量:for(i=0;i<10; printf("%d",a);而不能用一個語句輸出整個數(shù)組,下面的寫法是錯誤的:voidmain(){inti,a[10];printf("\n%d%d\n",a[5.2],a[5.8]);}for(i=0;i<10;)a[i++]=2*i+1;for(i=9;i>=0;i--)printf("%d",a);printf("\n%dfor語句也可以這樣作,C語言允許用表達式表示下標。程序中最后一個printfa[5]的值,元素賦予初值。數(shù)組初始化是在編譯階段進行的。這樣將減少運行時間,提高效率。初始化賦值的一般形式為static類型說明符數(shù)組名[常量表達式]={值,值……值}其中static表示是靜態(tài)類型,C語言規(guī)定只有靜態(tài)數(shù)組和外部數(shù)組才可作初始化賦值(有關靜態(tài),外部存a[10]={0,1,2,3,4,5,6,7,8,9};a[0]=0;a[1]=1...a[9]=9;可以只給部分元素賦初值。當{}staticint只能給元素逐個賦值,不能給數(shù)組整體賦值。例如給十個元素全部賦1值,只能寫為:staticinta[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:staticinta[10]=1;如給全部元素賦值,則在數(shù)組說明中,可以不給出數(shù)組元素的個數(shù)。例如:staticinta[5]={1,2,3,4,5};可寫為staticinta[]={1,2,3,4,5};句配合scanf函數(shù)逐個對數(shù)組元素賦值。void{intprintf("input10numbers:\n");if(a>max)max=a;}if(a>max)max=a;本例程序中第一for語句逐個輸10個數(shù)到數(shù)a然后a[0]max中。在第二for語總是在已比較過的下標變量中為最大者。比較結束,輸出max的值。void{intprintf("\ninput10numbers:\n");if(q<a[j]){p=j;q=a[j];}a[p]=s;}}}if(q<a[j]){p=j;q=a[j];}{s=a;a[p]=s;}}之值。此時a為已排序完畢的元素。輸出該值之后轉入下一次循環(huán)。對i+1以后各個元素排序。二維數(shù)量是二維的或的,因此C語言允許構造數(shù)組。數(shù)組元素有多個下標,以標識它在數(shù)組中的位置,所以也稱為多下標變量。本小節(jié)只介紹二維數(shù)組數(shù)組可由二維數(shù)組類推而得到。二維數(shù)組類類型說明符數(shù)組名[常量表達式1][其中常量表達式1表示第一維下標的長度,常量表達式2inta[3][4];說明了一個三行四列的數(shù)組,數(shù)組名為a,其下標變量的類型為整型。該數(shù)組的下標變量共有3×4個,即:a[0][0],a[0][1],a[0][2],a[0][3]平面之中,而不是象一維數(shù)組只是一個向量。但是,實際的硬件器卻是連續(xù)編址的,也就是說器單元是按一維線性排列的。如何在一維器中存放二維數(shù)組,可有兩種方式:一種是按行排列,即int類型,該類型占兩個字節(jié)的內(nèi)存空間,所以每個元素均占(圖中每一格為一字節(jié))。二維數(shù)組的元素也稱為雙下標變量,其表示的形式為[下標][下標取下標的最大值而數(shù)組元素中的下標是該元素在數(shù)組中的位置標識。前者只能是常量后者可以是常課程成C張王李趙周可設一個二維數(shù)組a[5][3]存放五個人三門課的成績。再設一個一維數(shù)組v[3]存放所求得各分科平均成void{inti,j,s=0,l,v[3],a[5][3];printf("inputscore\n");{scanf("%d",&a[j]);printf("math:%d\nclanguag:%d\ndbase:%d\n",v[0],v[1],v[2]);}for(i=0;j<3;i++){scanf("%d",&a[j]);賦值。例如對數(shù)組a[5][3]:void{intstaticinta[5][3]={{for(j=0;j<5;j++)printf("math:%d\nclanguag:%d\ndbase:%d\n",v[0],v[1],v[2]);}例如staticinta[3][3]={,,};素取0值。賦值后各元素的值為10020030staticinta3][3]={{0,1},{0,0,2},};01000230};組a[0],a[1],a[2]4個元素,例如:一維數(shù)組a[0]的元素為a[0][0],a[0][1],a[0][2],a[0][3]。必須強調(diào)的是,a[0],a[1],a[2]不能當作下標變量使字符數(shù)用來存放字符量的數(shù)組稱為字符數(shù)組。數(shù)組類型說明的形式與前面介紹的數(shù)值數(shù)組相同。例如:charc[10];由于字符型和整型通用,也可以定義為intc[10]但這時每個數(shù)組元素占2個字節(jié)的內(nèi)存單元。字符數(shù)組也可以是二維或數(shù)組,例如:charc[5][10];即為二維字符數(shù)組。字符數(shù)組也允許在類型說明時作初始化賦值。例如staticcharc[10]={`c`,``,`p`,`r`,o`,g`,r`,`a`,`m`};賦值后各元素的值為C{intchar{}}常量時,已說明字符串總是以'\0'作為串的結束符。因此當把一個字符串存入一個數(shù)組時,也把結束符'\0'staticcharc[]={'cp','r','o','g','r','a','m'};可寫為:staticcharc[]={"Cprogram"};或去掉{}寫為:sraticcharc[]="Cprogram";內(nèi)存中的實際存放情況為Cprogram\0`\0'C編譯系統(tǒng)自動加上的。由于采用了`\0'標志,所以在用出將變得簡單方便。除了上述用字符串賦初值的辦法外,還可用printf函數(shù)和scanf函數(shù)輸出輸入一個字符數(shù)組中的字符串,而不必使用循環(huán)語句逐個地輸入輸出每個字符。void{staticcharc[]="BASIC\ndBASE";}注意在本例的printf函數(shù)中,使用的格式字符串為“%s”表示輸出的是一個字符串。而在輸出表列中給出數(shù)組名則可。不能寫為:printf("%s",c[]);void{charst[15];printf("inputstring:\n");}char串結束標志`\0`明的是,對一個字符數(shù)組,如果不作初始化賦值,則必須說明數(shù)組長度。還應該特別注意的是,當用scanf函數(shù)輸入字符串時,字符串中不能含有空格,否則將以空格作為串的結束符。例如運行例4.8,當輸入的字符串中含有空格時,運行情況為:inputstring:thisisabookthis從輸出結果可以看出空格以后的字符都未了避免這種情況可多設幾個字符數(shù)組分段存放含空格的串。voidmain(){charst1[6],st2[6],st3[6],st4[6];printf("inputstring:\n");printf("%s%s%s%s\n",st1,st2,st3,st4);}中的字符串。面介紹過,scanf的各輸入項必須以地址方式出現(xiàn),如&a,&b等。但在例4.8中卻是以數(shù)組名方式出現(xiàn)的,這是為什么呢?這是由于在C語言中規(guī)定,數(shù)組名就代表了該數(shù)組的首地址。整個數(shù)地址運算符&。如寫作scanf("%s",&c);則是錯誤的。在執(zhí)行函數(shù)printf("%s",c)時,按數(shù)組名c找到首地C語言提供了豐富的字符串處理函數(shù)可分為字符串的輸入、輸出、合并、修改、比較、轉換、、搜索幾類。使用這些函數(shù)可大大減輕編程的負擔。用于輸入輸出的字符串函數(shù),在使用前應包含頭文件"stdio.h";使用其它字符串函數(shù)則應包含頭文件"string.h"。下面介紹幾個最常用的字符串函數(shù)。字符串輸出函數(shù)puts格式puts(字符數(shù)組名)功能:把字符數(shù)組中的字符串輸出到顯示器。{staticcharc[]="BASIC\ndBASE";}staticcharc[]="BASIC\ndBASE";從程序中可以看出puts函數(shù)中可以使用轉義字符,因此輸出結果成為兩行。puts函數(shù)完全可以printf函數(shù)取代。當需要按一定格式輸出時,通常使用printf字符串輸入函數(shù)gets格式gets(字符數(shù)組名)本函{charst[15];printf("inputstring:\n");}字符串連接函數(shù)strcatstrcat字符數(shù)組名1,字符數(shù)組名2)功能:把字符數(shù)組2中的字符串連接到字符數(shù)組1字符串1后的串標志“\0”數(shù)組1的首地址。{staticcharst1[30]="Mynameis";intst2[10];printf("inputyourname:\n");}staticcharst1[30]="Mynameis";intst2[10];printf("inputyourname:\n");字符串拷貝函數(shù)strcpystrcpy字符數(shù)組名1,字符數(shù)組名2)功能:把
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度全地形挖掘機械購置合同
- 2025年度原木深加工產(chǎn)品研發(fā)合作協(xié)議
- 2023-2024學年安徽省六安市高二下學期6月月考歷史試卷
- 2025年能源互聯(lián)網(wǎng)策劃合作發(fā)展共識協(xié)議
- 2025年公共設施改善合作協(xié)議
- 2025年自營批發(fā)服務項目立項申請報告
- 2025年企業(yè)合同管理咨詢協(xié)議
- 2025年飛機燃油系統(tǒng)項目申請報告模范
- 2025年分店銷售委托合同實施效果評價
- 2025年鋼增強塑料復合管項目立項申請報告模板
- 排水溝施工合同電子版(精選5篇)
- 清新典雅文藝教師公開課說課PPT課件模板
- 大氣商務企業(yè)培訓之團隊合作的重要性PPT模板
- 2022年四川省成都市成華區(qū)七年級下學期期末語文試卷
- 石油化工、煤化工、天然氣化工優(yōu)劣勢分析
- 10kV配網(wǎng)工程變配電(臺架變、箱變、電纜分接箱)的安裝設計施工精細化標準
- Q∕GDW 12118.3-2021 人工智能平臺架構及技術要求 第3部分:樣本庫格式
- 廣東省義務教育階段學生轉學轉出申請表(樣本)
- 畢業(yè)論文牛仔布染色工藝和質(zhì)量控制
- 機耕路工程施工方案與技術措施
- 如何成為一個優(yōu)秀的生產(chǎn)經(jīng)理
評論
0/150
提交評論