第八講 二維數(shù)組.doc_第1頁
第八講 二維數(shù)組.doc_第2頁
第八講 二維數(shù)組.doc_第3頁
第八講 二維數(shù)組.doc_第4頁
第八講 二維數(shù)組.doc_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

二維數(shù)組一、定義在邏輯上可以把二維數(shù)組看成一個具有行和列的矩陣。 1 2 3 4 5 6 7 8 9定義格式:類型名 數(shù)組名整型常量1整型常量2, . ;例: int a33;說明:1、定義了一個數(shù)組名為a的二維數(shù)組;2、二維數(shù)組a中每個元素都是int;3、二維數(shù)組a中有3*3個元素;4、二維數(shù)組a可以看成是一個具有3行3列的矩陣。 第0列 第1列 第2列第0行 a00 a01 a02第1行 a10 a11 a12第2行 a20 a21 a22二維數(shù)組中每個元素有兩個下標,第一個方括號中的下標代表行號,稱行下標;第二個方括號中的下標代表列號,稱列下標。行下標和列下標都是從0開始。二維數(shù)組在內(nèi)存中也是占用連續(xù)的存儲單元。如圖所示:a00 a01 a02 a10 a11 a12 a20 a21 a22說明:1、在C語言中,可以把二維數(shù)組看成一個一維數(shù)組,每個數(shù)組元素又是一個一維數(shù)組。2、二維數(shù)組名同樣存放的是地址常量,代表該數(shù)組的首地址,即第一個數(shù)組元素的地址。二、二維數(shù)組元素引用數(shù)組名下標表達式1 下標表達式2double w42;w01、wij、wi+kj+k 都是合法的數(shù)組元素引用形式三、二維數(shù)組的初始化int a33=1,2,3,4,5,6,7,8,9;int a33=1,2,3,4;例1:通過鍵盤給2*3的二維數(shù)組輸入數(shù)據(jù),第一行賦1、2、3,第二行賦10、20、30,然后按行輸出此二維數(shù)組。#include main() int a23,i,j; /*輸入數(shù)據(jù)*/ for(i=0;i2;i+) for(j=0;j3;i+) scanf(“%d”,&aij);/*輸出數(shù)據(jù)*/for(i=0;i2;i+) for(j=0;j3;i+) printf(“%d ”,&aij); printf(“n”);四、二維數(shù)組名作為實參時實參和形參之間的數(shù)據(jù)傳遞當二維數(shù)組名作為實參時,對應的形參是一個行指針變量。行指針:int (*prt)2; int a33;prt=a; a0 a1 a2a00 a01 a02 a10 a11 a12 a20 a21 a22prtprt+; /*行指針prt每次移動為一行*/int x10,*p; p=x; xx0 x1 x2 x3 x4 x5 x6 x7 x8 x9p p+; /*指針p每次移動為一個單元*/五、程序舉例1、二維數(shù)組的輸入輸出#define M 6#define N 5int aMN;輸入: for(i=0;iM;i+)for(j=0;iN;j+) aij=rand()%50;輸出: for(i=0;iM;i+)for(j=0;iN;j+) printf(“%d ”aij);2、計算方陣每行的和值、平均值、最大值、最小值。#include #define M 5int sMM =23,87,10,44,11, 91,66,24,5,51,31,2,19,91,28,65,10,9,6,39,22,35,49,82,76;int xM=0;void jisuan() int i,j; for(i=0;iM;i+) sum=0;for(j=0;jM;j+) sum=sum+sij;xi=sum;main() int i;jisuan();for(i=0;iM;i+) printf(“%d ”xi);字符串“Hello!”字符串常量在內(nèi)存中占用一串連續(xù)的存儲空間。不同的字符串具有不同的起始地址。在C語言中,字符串常量被隱含處理成一個以0結(jié)尾的無名字符型一維數(shù)組。一、字符數(shù)組、字符串(1)char str10=s,t,r,i,n,g,! ;str:string!000str0 str1 str2 str3 str4str5 str6str7 str8 str9(2)char ss10=“string!”;ss:string!000ss0 ss1 ss2 ss3 ss4 ss5 ss6 ss7 ss8 ss9(3)char ss=“string!”;ss:string!0ss0 ss1 ss2 ss3 ss4 ss5 ss6 ss7 (4)char ss=“string!”,*p; p=ss;ss:string!0ss0 ss1 ss2 ss3 ss4 ss5 ss6 ss7 p(5)char *p=“string!”;string!0p二、字符串的輸入和輸出1、scanf()和printf()實現(xiàn)字符串的整體輸入和輸出(1)scanf(“%s”,輸入項);說明:輸入項可以是字符數(shù)組名,字符數(shù)組元素地址,也可以是字符指針變量。例:char str15; scanf(“%s”,str);注意:用%s格式符輸入 時,空格和回車符都作為輸入數(shù)據(jù)的分隔符而不能被讀入。(2)printf(“%s”,輸出項);說明:輸入項可以是字符串常量、字符數(shù)組名,也可以是指向字符串的字符指針變量。2、gets()和puts()(1)gets()函數(shù):輸入一行字符串格式:gets(str_adr);說明:str_adr可以是字符數(shù)組名、字符數(shù)組元素地址或字符指針變量。作用:從終端設備(鍵盤)讀入字符串(包括空格),直到讀入一個換行符為止。換行符讀入后,不作為字符串的內(nèi)容,系統(tǒng)自動用0代替。例:char str20; gets(str);(2)puts()函數(shù):輸出一行字符串格式:puts(str_adr);說明:str_adr可以是字符數(shù)組名、字符數(shù)組元素地址或字符指針變量。作用:從終端設備(屏幕)輸出字符串(包括空格),直到第一個0即結(jié)束輸出。三、字符串數(shù)組定義:字符串數(shù)組就是數(shù)組中的每個元素又都是一個字符串。char name1080;說明:字符串數(shù)組的第一個下標決定字符串的個數(shù),第二個小標決定字符串的最大長度。char ca35=“a”,“bb”,“ccc”;ca00ca0a0ca1bb0ca2ccc0四、字符串處理函數(shù)char *s1,*s2,*s,ch;strcat(s1,s2):把字符串s2連接到s1后面,返回s1所指地址。strcmp(s1,s2):對s1和s2所指字符串進行比較(區(qū)分大小寫)。s1s2, 返回正數(shù)。char *s1,*s2;s1=”strstringstr”;s2=”int”strcmp(s1,s2);stricmp(s1,s2):對s1和s2所指字符串進行比較(不區(qū)分大小寫)。s1s2, 返回正數(shù)。strcpy(s1,s2):把s2指向的字符串復制到s1指向的空間,返回s1所指地址。strlen(s):求s所指字符串的長度。返回字符串中字符的個數(shù)。strchr(s,ch):在s所指字符串中找出第一次出現(xiàn)字符ch的位置。返回找到的字符的地址,找不到返回NULL。char *p=”string”,ch;ch=n;strchr(p,ch);strstr(s1,s2):在s1所指字符串中找出字符串s2第一次出現(xiàn)的位置。返回找到的字符串的地址,找不到返回NULL。char *s1,*s2;s1=”strstringstr”;s2=”str”strstr(s1,s2);其他函數(shù)(講解習題時再介紹):如:memset();memcpy();atoi();五、程序舉例字符串是否結(jié)束的判斷方式1、一維數(shù)組char ss=“string!”,*p;p=ss;ss:string!0ss0 ss1 ss2 ss3 ss4

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論