版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)組《計(jì)算機(jī)軟件基礎(chǔ)》數(shù)組:具有相同數(shù)據(jù)類型的若干個(gè)有序數(shù)據(jù)的集合。數(shù)組的分類:一維數(shù)組二維數(shù)組字符數(shù)組01.一維數(shù)組02.二維數(shù)組03.字符數(shù)組和字符串主要內(nèi)容本章重點(diǎn)難點(diǎn)本章重點(diǎn):一維數(shù)組和二維數(shù)組的定義、初始化、元素引用;字符數(shù)組的定義、初始化和元素引用;常用字符串處理函數(shù);編寫處理字符串的簡(jiǎn)單程序。本章難點(diǎn):字符數(shù)組與字符串的區(qū)別;編寫處理字符串的簡(jiǎn)單程序。01一維數(shù)組當(dāng)構(gòu)成數(shù)組的各個(gè)元素的下標(biāo)(在數(shù)學(xué)中稱為下腳或腳碼)只有1個(gè)時(shí),這樣的數(shù)組被稱為一維數(shù)組。1.一維數(shù)組的定義
類型說明符數(shù)組名[常量表達(dá)式];例:inta[5];a[0]a[1]a[2]a[3]a[4]2.一維數(shù)組的初始化1)在定義數(shù)組時(shí)對(duì)數(shù)組元素賦以初值。例如:inta[5]={2,5,3,7,9};2)在定義數(shù)組時(shí)省略對(duì)數(shù)組長(zhǎng)度的聲明。例如:inta[]={2,5,3,7,9};3)為數(shù)組全部元素賦初值為0,可以寫成:inta[5]={0,0,0,0,0};
或inta[5]={0};只給部分?jǐn)?shù)組元素賦初值時(shí),不能省略對(duì)數(shù)組的長(zhǎng)度聲明3.一維數(shù)組元素的引用例:inta[5];394351029a[0]a[1]a[2]a[3]a[4]一維數(shù)組元素引用的一般形式:
數(shù)組名[下標(biāo)]4.應(yīng)用舉例1)一維數(shù)組的輸入和輸出。定義一個(gè)整型數(shù)組arr[10],向其中輸入10個(gè)數(shù)據(jù)并依次輸出。main(){intarr[10],i;for(i=0;i<10;i++) scanf(“%d”,&arr[i]);printf(“該一維數(shù)組為:\n”);for(i=0;i<10;i++)printf(“%5d”,arr[i]);}循環(huán)實(shí)現(xiàn)一維數(shù)組的輸入循環(huán)實(shí)現(xiàn)一維數(shù)組的輸出2)編寫十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制的程序。把一個(gè)十進(jìn)制數(shù)x轉(zhuǎn)換成二進(jìn)制數(shù)的基本思路是:不斷把x%2的余數(shù)存入a數(shù)組中(x值為x不斷除以2后的商),直至x值為0,最后逆序輸出a數(shù)組各元素值。比如,十進(jìn)制數(shù)26轉(zhuǎn)化為二進(jìn)制數(shù)為11010如圖所示。十進(jìn)制轉(zhuǎn)二進(jìn)制示意圖a數(shù)組狀態(tài)示意圖02二維數(shù)組請(qǐng)?jiān)诖颂庉斎刖唧w內(nèi)容,文字盡量言簡(jiǎn)意賅,簡(jiǎn)單說明意思即可,注意整體美觀度。請(qǐng)?jiān)诖颂庉斎刖唧w美觀度。1.二維數(shù)組的定義類型說明符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2];例:inta[2][5];二維數(shù)組在內(nèi)存中的排列順序是“按行”存入,即先存第0行所有元素,再存第1行。a[0][0]第0行第1行第0列第1列第2列第3列第4列a[1][2]a[0][4]2.二維數(shù)組的初始化1)分行給二維數(shù)組各元素賦值,這種賦值方法較直觀,不易出錯(cuò)。例如:intx[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};2)把所有數(shù)據(jù)寫在一個(gè)花括號(hào)內(nèi),在程序編譯時(shí)會(huì)按數(shù)組在內(nèi)存中排列順序?qū)⒏鞒跏贾捣謩e賦給數(shù)組各元素,第一行所有列都賦值后,再賦值第二行,依此類推。例如:intx[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};3)可以對(duì)部分元素賦值。例如:inty[2][3]={1,2,3,4};。數(shù)組y有6個(gè)元素,僅給前4個(gè)賦值,后兩個(gè)元素為0。3.二維數(shù)組元素的引用二維數(shù)組元素引用的一般形式:
數(shù)組名[下標(biāo)1][下標(biāo)2]4.應(yīng)用舉例4)也可使用花括號(hào),在分行賦值時(shí),只對(duì)該行中部分元素賦值。例如:inty[2][3]={{1,2},{3}};5)在定義數(shù)組時(shí),若給出了全部元素值,則第一維的長(zhǎng)度可以不寫,但第二維的長(zhǎng)度永遠(yuǎn)都不能省略。例如:inta[][3]={1,2,3,4,5,6};等價(jià)于:inta[2][3]={1,2,3,4,5,6};1)二維數(shù)組的輸入和輸出。定義一個(gè)二整型數(shù)組arr[3][4],向其中輸入數(shù)據(jù)并依次輸出。main(){intarr[10],i,j;for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&arr[i][j]);printf(“該二維數(shù)組為:\n”);for(i=0;i<3;i++)/*逐行輸出共3行*/{ for(j=0;j<4;j++) /*每行輸出4個(gè)元素*/ printf("%4d",x[i][j]);printf("\n");}/*一行元素輸出后換行*/}雙重循環(huán)實(shí)現(xiàn)維數(shù)組的輸入雙循環(huán)實(shí)現(xiàn)二維數(shù)組的輸出
inta[2][3]={{4,5,6},{7,8,9}},b[3][2],i,j;printf("arraya:\n");for(i=0;i<2;i++){ for(j=0;j<3;j++) { printf("%4d",a[i][j]);/*輸出a數(shù)組各元素*/ b[j][i]=a[i][j];/*行、列互換,形成轉(zhuǎn)置陣b*/}printf("\n");}printf("arrayb:\n"); for(i=0;i<3;i++){ for(j=0;j<2;j++)printf("%4d",b[i][j]);printf("\n");}3)輸出楊輝三角形。楊輝三角,是二項(xiàng)式系數(shù)在三角形中的一種幾何排列。例如,圖3-6所示6×6的a矩陣,數(shù)字部分就構(gòu)成一個(gè)楊輝三角形。它有如下特點(diǎn):①第1列及主對(duì)線元素為1,即:for(i=1;i<=6;i++)a[i][1]=a[i][i]=1;②從第3(i=3)行開始,各行第2列(j=2)到第i-1列各項(xiàng)值等于該項(xiàng)左肩值加上頭頂值,即:for(i=3;i<=6;i++)for(j=2;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];根據(jù)以上兩步就形成了楊輝三角形。③輸出楊輝三角形。第1行輸出1個(gè)數(shù),第2行輸出2個(gè)數(shù),第i行輸出i個(gè)數(shù)。a矩陣示意圖03字符數(shù)組和字符串?dāng)?shù)組中的一個(gè)元素存放一個(gè)字符1.字符數(shù)組的定義一般形式:char數(shù)組名[常量表達(dá)式];例如:chard[5];
在定義一個(gè)字符數(shù)組時(shí)逐個(gè)為數(shù)組中各元素指定初始字符。例如:chard[5]={'a','b','c','d','e'};數(shù)組d狀態(tài)圖2.字符數(shù)組的初始化chard[]={'a','b','c','d','e'};3.字符數(shù)組元素的引用第i個(gè)元素的引用形式:數(shù)組名[i-1],下標(biāo)從0開始。1)字符元素值的輸入for(i=0;i<5;i++)scanf("%c",&d[i]);2)字符數(shù)組元素的輸出for(i=0;i<5;i++)printf("%c",d[i]);4.字符數(shù)組元素的輸入輸出注意,空格也是一個(gè)字符。5.字符串字符串實(shí)際就是由若干有效字符構(gòu)成且以字符'\0'作為結(jié)束的一個(gè)字符序列。字符串常量:用一對(duì)雙引號(hào)括起來的一個(gè)字符序列。C語言沒有提供字符串?dāng)?shù)據(jù)類型,因此字符串的存取要用字符數(shù)組來實(shí)現(xiàn)。表3-1字符串和字符數(shù)組在使用上的不同2)例3-13編寫十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的程序。思路:十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的方法和例3-5中十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)一樣,所不同的是:轉(zhuǎn)換成十六進(jìn)制數(shù)中除數(shù)為16。十六進(jìn)制數(shù)有16個(gè)數(shù)字:0~9、A~F,需要用字符數(shù)組來保存。scanf("%d",&x);y=x;/*把十進(jìn)制數(shù)x保存到y(tǒng)中,便于輸出原始值x*/while(y!=0){m=y%16;if(m<10)/*余數(shù)全以字符存入a數(shù)組*/a[i]=m+'0';/*把小于10的余數(shù)變成數(shù)字字符*/elsea[i]=m-10+'A';/*把大于等于10的余數(shù)變成A~F大寫字母*/y=y/16;/*形成新的被除數(shù)y*/i++;}1)字符串輸入函數(shù)gets(字符數(shù)組):從鍵盤輸入一個(gè)字符串到字符數(shù)組。例如:charch[8]; /*該串占8字節(jié)內(nèi)存*/2)字符串輸出函數(shù)puts(字符數(shù)組):將一個(gè)字符串輸出。
例如:charch[]={"abcd"};/*該串占5個(gè)字節(jié)內(nèi)存,即ch數(shù)組長(zhǎng)度為5*/puts(ch);3)求字符串長(zhǎng)度的函數(shù)strlen(字符數(shù)組):求字符數(shù)組所表示串的長(zhǎng)度。
例如:strlen("abcd")的結(jié)果為4。6.常見的字符串處理函數(shù)4)字符串連接函數(shù)strcat(字符數(shù)組1,字符數(shù)組2):把字符數(shù)組2所表示的串連到字符數(shù)組1所表示的串的后面,并刪去串1后的結(jié)束標(biāo)記“\0”。
說明:
①字符數(shù)組1必須足夠大,以便容納連接后的串2。
②連接前,兩串均以“\0”結(jié)束;連接后,串1的“\0”取消,新串最后加“\0”。
③本函數(shù)返回值是字符數(shù)組1的首地址。5)字符串比較函數(shù)strcmp(字符數(shù)組1,字符數(shù)組2)數(shù)字字符<大寫字母<小寫字母例如:charsurname[15]=“Zhang”;charfirstna
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)水族器材市場(chǎng)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)機(jī)器人抓手行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)無刷電機(jī)產(chǎn)業(yè)運(yùn)行狀況規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)房地產(chǎn)信息化行業(yè)運(yùn)行狀況與前景趨勢(shì)分析報(bào)告新版
- 2025-2030年中國(guó)動(dòng)力電池PACK行業(yè)競(jìng)爭(zhēng)格局及未來發(fā)展趨勢(shì)分析報(bào)告新版
- 2025-2030年中國(guó)凹印油墨行業(yè)發(fā)展趨勢(shì)及前景調(diào)研分析報(bào)告
- 2024年中高端女包項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 二零二五版港口工程保險(xiǎn)合同3篇
- 二零二五版涵洞工程環(huán)保監(jiān)測(cè)合同3篇
- 二零二五版反擔(dān)保合同模板:供應(yīng)鏈金融3篇
- 2024版塑料購(gòu)銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長(zhǎng)會(huì)
- JJF 2184-2025電子計(jì)價(jià)秤型式評(píng)價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 二年級(jí)下冊(cè)加減混合豎式練習(xí)360題附答案
- 自帶藥物治療告知書
- 房產(chǎn)中介門店6S管理規(guī)范
- 吞咽解剖和生理研究
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
- 汽輪機(jī)盤車課件
- 異地就醫(yī)備案?jìng)€(gè)人承諾書
評(píng)論
0/150
提交評(píng)論