版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
多維數(shù)組及數(shù)組應用趙紅2024/1/61作業(yè)寫出程序運行結果。用行指針操作二維數(shù)組,找出最大值。voidmain(){inta[2][3]={1,2,9,4,5,6};cout<<print(a,2,3)<<endl;}P167自測題7.5P164例7.5本周上機測試結構體2024/1/62例如:比較兩個字符串的大小。寫出運算結果#include<iostream.h>#include<string.h>voidmain(){chars1[]="aBC",s2[]="abc";if(strcmp(s1,s2)==0)cout<<"s1=s2";elseif(strcmp(s1,s2)>0)cout<<"s1>s2";elsecout<<"s1<s2";}程序輸出結果:s1<s2思考:若有語句if(s1==s2)printf("s1=s2");比較的是什么?2024/1/63x[0]是數(shù)組名,是元素x[0][0]的地址x[1]是數(shù)組名,
是元素x[1][0]的地址二維數(shù)組可看作是一種特殊的一維數(shù)組x[0]----x[0][0],x[0][1],x[0][2]x[1]----x[1][0],x[1][1],x[1][2]例如,可以把x數(shù)組看作是包含二個元素的一維數(shù)組,每個元素又是一個含有三個元素一維數(shù)組。x為行指針,x[0]為元素指針2024/1/6401020111212122231323a⑴二維數(shù)組的地址例如:inta[3][4];
①
二維數(shù)組名a是數(shù)組的首地址。
②二維數(shù)組a包含三個行元素:a[0]、a[1]、a[2]
。a[0]a[1]a[2]a三個行元素的地址分別是:a、a+1、a+2。而a[0]、a[1]、a[2]也是地址量,是一維數(shù)組名,即*(a+0)、*(a+1)、*(a+2)是一維數(shù)組首個元素地址。10.3指針與數(shù)組10.3.1指向數(shù)組的指針2.二維數(shù)組的指針
a+1a+22024/1/65⑵二維數(shù)組元素的地址
a[0]、a[1]、a[2]是一維數(shù)組名,所以a[i]+j是數(shù)組元素的地址。數(shù)組元素a[i][j]的地址可以表示為下列形式:
&a[i][j]、a[i]+j
、*(a+i)+j01020111212122231323a[0]數(shù)組a[1]數(shù)組a[2]數(shù)組10.3指針與數(shù)組10.3.1指向數(shù)組的指針2.二維數(shù)組的指針
a[2]+1a[2]+2a[2]+3a[0]+1a[0]+2a[0]+32024/1/66【例10.6】用指向一維數(shù)組的指針變量輸出數(shù)組元素。#include<iostream.h>voidmain(){inta[3][4]={{0,1,2,3},{10,11,12,13},{20,21,22,23}};int(*lp)[4],j;for(lp=a;lp<a+3;lp++){for(j=0;j<4;j++)cout<<*(*lp+j)<<""; cout<<endl;
}10.3指針與數(shù)組10.3.1指向數(shù)組的指針2.二維數(shù)組的指針
01020111212122231323alplplplp
0123
10111213
20212223
2024/1/69指針數(shù)組定義的一般形式:數(shù)據(jù)類型標識符
*數(shù)組名[元素個數(shù)];在這個定義中由于“[
]”比“*”的優(yōu)先級高,所以數(shù)組名先與“[元素個數(shù)]”結合,形成數(shù)組的定義形式,“*”表示數(shù)組中每個元素是指針類型,“數(shù)據(jù)類型標識符”說明指針的目標變量的數(shù)據(jù)類型。例如:int*ip[10];char*cp[5];10.7指針與數(shù)組10.7指針數(shù)組1.指針數(shù)組的定義
指針數(shù)組就是數(shù)組中的每個元素均為指針類型
2024/1/610例如:P191charc[4][8]={"Fortran","COBOL","BASIC","Pascal"};char*cp[4]={c[0],c[1],c[2],c[3]};char*str[5]={"int","long","char","float","double"};
cpC數(shù)組cp[0]Fortran\0cp[1]COBOL\0cp[2]BASIC\0cp[3]Pascal\0str[0]int\0str[1]long\0str[2]char\0str[3]float\0str[4]double\02024/1/6118.3指針與函數(shù)2.數(shù)組的指針作函數(shù)參數(shù)
⑵
二維數(shù)組的指針作函數(shù)參數(shù)
二維數(shù)組的行指針作函數(shù)參數(shù)例如被調函數(shù)abc的定義形式有以下三種:voidabc(intb[2][4]){……}voidabc(intb[][4]){……}voidabc(int(*b)[4]){……}在主調函數(shù)有如下定義:inta[2][4],(*p)[4]=a;則調用abc函數(shù)時可用abc(a)或
abc(p)8.3.3指針變量作函數(shù)參數(shù)2024/1/6127.2.4二維數(shù)組應用舉例(續(xù))【作業(yè)2】有一個N×M矩陣,編程序求出其中最大的那個元素的值及其所在的行、列位置。
圖7.6
查找最大元素max=a[0][0],row=0,colum=0for(i=0;i<N;i++)for(j=0;j<M;j++)a[i][j]>maxTFmax=a[i][j]row=icolum=j輸出絕對值最大的元素及行列下標2024/1/613#defineN2#defineM3main(){inti,j,row,colum,max,a[N][M];
……/*輸入數(shù)據(jù)*/max=a[0][0];row=colum=0;for(i=0;i<N;i++)for(j=0;j<M;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}……/*輸出數(shù)據(jù)*/}程序運行情況如下:345612
126743max=67,row=1,colum=12024/1/614作業(yè):1、讀P160例7.42、求一個2行3列的二維數(shù)組的轉置數(shù)組。3、有一個N×M矩陣,編程序求出其中最大的那個元素的值及其所在的行、列位置。4、從鍵盤接收數(shù)據(jù)并存入數(shù)組a[10],并調用函數(shù)sort(a,n)對其進行排序,在主程序中輸出結果。(排序方法不限)5、編寫兩個子函數(shù):insert(a,n,i,x)完成在第i個位置上插入數(shù)據(jù)x,del(a,n,i)完成刪除數(shù)組中第i個位置的元素。2024/1/615一個學生的信息有學號、姓名、性別、年齡、住址、成績等。一本圖書的信息有分類編號、書名、作者、出版社、出版日期、價格、庫存量等。如何描述這些類型不同的相關數(shù)據(jù)?結構體與結構體類型的定義?信息管理結構體——一種構造類型數(shù)據(jù)
結構體由若干不同類型的數(shù)據(jù)項組成,構成結構體的各個數(shù)據(jù)項稱為結構體成員。第7章結構體P1622024/1/616
struct結構體名{數(shù)據(jù)類型1成員名1;數(shù)據(jù)類型2成員名2;……數(shù)據(jù)類型n成員名n;
};結構體結構體與結構體類型的定義結構體類型定義的一般形式:
struct為關鍵字;結構體名是用戶定義的類型標識。{}中是組成該結構體的成員。成員的數(shù)據(jù)類型可以是C語言所允許的任何數(shù)據(jù)類型。2024/1/617例如學生類型的定義:structstudent{charnum[8];/*學號是字符數(shù)組類型*/charname[30];/*姓名是字符數(shù)組類型*/charsex;/*性別是字符型
*/intage;/*年齡是整型
*/
charaddr[60];/*住址是字符數(shù)組類型*/intscore[6];/*成績是整型數(shù)組類型*/
};結構體結構體與結構體類型的定義2024/1/618結構體結構體類型與變量的說明類型與變量是不同的概念。應先定義一個結構體類型,而后再定義結構體變量。系統(tǒng)對類型不分配空間,僅對變量分配空間。只能對變量賦值、存取或運算,而不能對一個類型賦值、存取或運算。成員也可以是結構變量。P167成員名可與程序中的變量名相同時,也可與不同結構體類型的成員名相同,二者代表不同的對象。2024/1/619
structdate{intyear,month,day;};structstudent{charnum[8];charname[30];charsex;datebirthday;/*成員為結構體類型*/
charaddr[60];intscore[6];
};num8個字節(jié)name30個字節(jié)sex1個字節(jié)birthdayyear4個字節(jié)month4個字節(jié)day4個字節(jié)addr60個字節(jié)score24個字節(jié)用sizeof運算符計算結構體變量所占內存空間sizeof(date)
2024/1/620“.”是分量運算符,運算級別最高。結構體結構體變量成員的引用
結構體變量成員引用的一般形式:結構體變量名.成員名
結構體變量a的各成員可分別表示為a.num、a.name、a.sex、a.birthday、a.score
structdate{intyear,month,day;};structstudent{charnum[8],name[20],sex;structdatebirthday;floatscore;};studenta;a.birthday.year
a.birthday.month
a.birthday.day
2024/1/621結構體P163結構體變量的定義與初始化在定義結構體類型的同時定義變量例如:structstudent{charnum[8],name[20],sex;intage;floatscore;
};studentst1,st[30];struct結構體名{
成員定義表;
};結構體名變量名表;2024/1/622結構體結構體變量的賦值運算同類型結構體變量之間的賦值運算結構體變量之間進行賦值時,系統(tǒng)將按成員一一對應賦值。structdate{intyear,month,day;};structstudent{charnum[8],name[20],sex;structdatebirthday;floatscore;};datea={"9606011","Liming",'M',{1977,12,9},83},b,c;c=a;2024/1/623結構體指針2.結構體成員的三種引用形式
用結構體變量名的引用形式:
d.year
d.month
d.daystructdate{intyear,month,day;};dated,*p=&d;
用結構體指針變量的引用形式:(*p).year(*p).month(*p).dayp->yearp->monthp->day“->”是指向結構體成員運算符,優(yōu)先級為一級
p=&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年大學力學專業(yè)大學物理下冊開學考試試題B卷-含答案
- 石河子大學《語言與文化》2021-2022學年第一學期期末試卷
- 石河子大學《水工程法規(guī)》2021-2022學年第一學期期末試卷
- 石河子大學《口腔解剖生理學一》2021-2022學年第一學期期末試卷
- 石河子大學《工程制圖》2021-2022學年第一學期期末試卷
- 沈陽理工大學《數(shù)字圖象處理》2023-2024學年期末試卷
- 沈陽理工大學《流體與工程熱力學》2022-2023學年第一學期期末試卷
- 沈陽理工大學《俄漢筆譯》2023-2024學年第一學期期末試卷
- 沈陽理工大學《超精密制造工程》2022-2023學年第一學期期末試卷
- 合伙人開足療店合同協(xié)議書范本
- 五年級語文上冊部編版習作例文《鯨》《風向袋的制作》(課件+教案+學案+練習)
- 一年級拼音口試試卷一
- 心理咨詢與心理治療:第6章 來訪者中心療法的理論與技術
- NB/T 10739-2021井工煤礦輔助運輸安全管理規(guī)范
- GB/T 29822-2013鎢錸熱電偶絲及分度表
- GA/T 74-2017安全防范系統(tǒng)通用圖形符號
- GA/T 1968-2021法醫(yī)學死亡原因分類及其鑒定指南
- GA 1551.6-2021石油石化系統(tǒng)治安反恐防范要求第6部分:石油天然氣管道企業(yè)
- 第六章方針目標管理
- 企業(yè)設備設施清單(樣本)
- 光伏電站項目招標文件范文
評論
0/150
提交評論