《C程序語(yǔ)言教程第七章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《C程序語(yǔ)言教程第七章.ppt(13頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第7章 數(shù)組,7.1 數(shù)組定義 7.2 訪問(wèn)數(shù)組元素 7.3 初始化數(shù)組 7.4 *向函數(shù)傳遞數(shù)組 7.5 二維數(shù)組 7.6 數(shù)組應(yīng)用: 排序 7.7 數(shù)組應(yīng)用: Josephus問(wèn)題 7.8 數(shù)組應(yīng)用: 矩陣乘法,目錄,理解數(shù)組定義的形式與空間對(duì)應(yīng) 掌握數(shù)組元素的訪問(wèn)方式 理解數(shù)組定義初始化形式 理解數(shù)組作為函數(shù)參數(shù)的空間對(duì)應(yīng) 理解二維數(shù)組操作及參數(shù)傳遞 掌握數(shù)組排序,環(huán)狀循環(huán)及多維循環(huán)訪問(wèn),學(xué)習(xí)目標(biāo),數(shù)組定義形式 類(lèi)型 數(shù)組名常量表達(dá)式; 數(shù)組定義的空間位置(對(duì)應(yīng)變量定義) 全局?jǐn)?shù)組: 小程序,全局?jǐn)?shù)組處理需求 局部數(shù)組: 元素個(gè)數(shù)不多,局部范圍使用 動(dòng)態(tài)數(shù)組: 隨機(jī)的數(shù)組處理需求,元素個(gè)
2、數(shù)多 下標(biāo)的意義 對(duì)應(yīng)空間偏移 常量性: 程序數(shù)據(jù)空間的編譯確定性,數(shù)組定義,n個(gè)元素對(duì)應(yīng)下標(biāo)0n 循環(huán)訪問(wèn)數(shù)據(jù)實(shí)體的可編程性 int a30=1,1; // 第1,2個(gè)元素初值為1,后面元素循環(huán)賦值 for(int i=2; i<30; i++) ai=ai-1+ai-2; 訪問(wèn)數(shù)組邊界以外的數(shù)據(jù)將引起運(yùn)行錯(cuò)誤,只能通過(guò)調(diào)試來(lái)查錯(cuò) 訪問(wèn)數(shù)組邊界以外的空間錯(cuò)誤,純屬人為 連續(xù)空間的相關(guān)訪問(wèn)可看作數(shù)組的訪問(wèn)形式,因而越界訪問(wèn)錯(cuò)誤多種多樣,構(gòu)成了編程調(diào)試的主要困難,數(shù)組元素,初始化語(yǔ)法規(guī)則 字符數(shù)組初始化 char a10=“hello”; char a10=“hello”; char a10
3、=h,e,l,l,o,0; char a5=“hello”; // error:占6個(gè)元素 省略下標(biāo)的數(shù)組定義初始化不能省,初始化數(shù)組,C語(yǔ)言中無(wú)特別區(qū)分?jǐn)?shù)組類(lèi)型 數(shù)組看做是一定元素個(gè)數(shù)的連續(xù)空間 傳遞數(shù)組需傳兩個(gè)參數(shù):連續(xù)空間首地址和元素個(gè)數(shù),例如: int a100,b100; memcpy(a,sizeof(a),b); //以a數(shù)組空間為大小拷貝b中相應(yīng)大小的內(nèi)容,數(shù)組參數(shù)傳遞,定義格式 初始化 下標(biāo)省略的定義只能省略第1維 元素訪問(wèn),二維數(shù)組,數(shù)組首地址與第1,2維元素個(gè)數(shù) 數(shù)組首地址與二維數(shù)組名 數(shù)組首地址用一維數(shù)組名表示(降維),二維數(shù)組參數(shù)傳遞,冒泡排序 元素運(yùn)動(dòng)與循環(huán) 連續(xù)空間邊界確定對(duì)應(yīng)循環(huán)語(yǔ)句,數(shù)組排序,冒泡排序的幾種循環(huán)表示 如何優(yōu)化: 比較次數(shù)決定于循環(huán)次數(shù) 減少循環(huán)次數(shù):無(wú)交換循環(huán)應(yīng)盡量避免 交換標(biāo)志變量,每當(dāng)交換時(shí),增量該標(biāo)量 新一輪循環(huán)時(shí),判斷標(biāo)志變量少于2時(shí),停 影響循環(huán)結(jié)構(gòu),冒泡排序,將插入一輪的代碼嵌入排序循環(huán) 倒著冒泡 因?yàn)槭窃匾?guī)模逐漸擴(kuò)大,屬于插入排序 采用的則是冒泡手段,插入排序,優(yōu)化:避免交換 循環(huán)次數(shù)(比較次數(shù))平均比冒泡少一半 而且不交換,只移位,性能又好許多,插入排序,