freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言程序設(shè)計教程與實驗第二版上)-資料下載頁

2024-12-29 12:05本頁面
  

【正文】 總字節(jié)數(shù) = 數(shù)據(jù)類型長度 數(shù)組長度 例如: int a[10]。 //占用 40個字節(jié) double b[10]。 //占用 80個字節(jié) 數(shù)組的存儲 2022H 2022H 2022H 200CH 2022H 2022H 2022H 201CH 2020H 2024H a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 數(shù)組中的所有數(shù)組元素是連續(xù)存儲的 。 例如: int a[10]; 如果該數(shù)組存放的首地址為 2022H 一維數(shù)組元素的引用 C++語言規(guī)定不能一次引用整個數(shù)組 , 只能 逐個引用 數(shù)組中的某個 數(shù)組元素 。 對數(shù)組的使用實際上是對數(shù)組元素的使用 。 數(shù)組元素的引用格式 (訪問一維數(shù)組元素的形式 )為: 數(shù)組名 [下標 ] 其中 下標 就是被訪問的數(shù)組元素在所定義的數(shù)組中的 相對位置 。 下標等于 0代表要訪問的數(shù)組元素在數(shù)組的 第一個位置 上 , 下標等于 1代表要訪問的數(shù)組元素在數(shù)組的第二個位置上 , 依此類推 。 下標可以是一個整型變量或表達式 ,如 a[i],a[i2] 例如: int x=8, count[10]。 則下面引用是合法的 count[0]=100; x+=count[0]; 下面引用是不合法的: count[10]=20。 //越界 count=20。 //數(shù)組不能整體賦值 下標不要越界 ?特別強調(diào): 在運行 C++語言程序過程中 , 系統(tǒng)并不自動檢驗數(shù)組元素的下標是否越界 。 因此在編寫程序時 , 保證數(shù)組下標不越界是十分重要的 。 include void main( ) { int i,a[10]。 for(i=0。 i10。 i++) a[i]=i*2+2。 //通過一賦值表達式給各數(shù)組元素賦值 for(i=0。i10。i++) couta[i]― ‖。 coutendl。 } 程序運行結(jié)果如下: 2 4 6 8 10 12 14 16 18 20 ? 例 數(shù)組元素的引用 在 定義 數(shù)組時對數(shù)組元素賦值 , 叫做 數(shù)組的 初始化 。 用 賦值表達式 或 輸入函數(shù) 也可以對數(shù)組元素進行賦值 , 但這種方法要占用運行時間 。 而對數(shù)組初始化使數(shù)組元素在程序運行之前即在編譯時就得到初值 ( 靜態(tài)數(shù)組 ) 。 一維數(shù)組的初始化 一維數(shù)組的初始化 其實現(xiàn)方法如下: ① 在定義數(shù)組時對數(shù)組的 全部元素 賦初值。如: int a[10]= { 0,1,2,3,4,5,6,7,8,9 } ; ② 可以只給前面 部分 數(shù)組元素賦初值,未賦值的數(shù)組元素系統(tǒng)自動賦初值 0。如: int a[10]={0,1,2,3,4,5}。 //a[6]a[9]的初值自動為 0 實際上,對 static數(shù)組不賦初值,系統(tǒng)會對所有數(shù)組元素自動賦以 0值。如: static int a[10]; //a[0]a[9]全部被賦初值 0。 ③對全部數(shù)組元素賦初值時,可以不指定數(shù)組長度,系統(tǒng)會 自動按初值的個數(shù)設(shè)定數(shù)組長度 , 為數(shù)組分配足夠的存儲空間。如: int a[ ]={1,2,3,4,5}; //a數(shù)組的長度為 5 include void main( ) { int i ,math[40],n。 float aver=。 int unpassedcount=0。 int highscorecount=0。 ? 例 成績統(tǒng)計 一個班級有若干名學(xué)生,試編寫程序,求出該班學(xué)生的數(shù)學(xué)考試平均成績,并統(tǒng)計考試成績在 90分以上的(包括 90分)的學(xué)生人數(shù)和不及格的學(xué)生人數(shù)。 分析:對于同一門課程的 n個學(xué)生成績,可以用同一個名稱但不同的下標來區(qū)別,因此用一維數(shù)組來表示和保存這些成績。 程序舉例 ? 例 成績統(tǒng)計 cout請輸入學(xué)生人數(shù): 。 cinn。 cout 請輸入成績 : 。 for ( i=0。 in。 i++ ) { cinmath[i]。 aver+=math[i]。 } aver/=n。 for ( i=0。 in。 i++ ) { if ( math[i] 60 ) unpassedcount ++。 if ( math[i] =90 ) highscorecount ++。 } cout平均分為: averendl。 cout90分以上人數(shù)為: highscorecountendl。 cout不及格人數(shù)為: unpassedcountendl。 } 程序的運行結(jié)果為: 請輸入學(xué)生人數(shù) :10 請輸入成績 : 75 80 65 88 90 67 78 63 59 60 平均分為: 90分以上人數(shù)為: 1 不及格人數(shù)為: 1 ? 例 求最大數(shù) 1. 自己看書,分析算法。 2. 修改程序,思考并增加如下功能: (1) 同時求出最小數(shù)和平均數(shù); (2) 不使用數(shù)組,能否解決問題,如何解決? 基本思路 : 將 n個數(shù)據(jù)兩兩進行比較 , 較大的數(shù)向后移動 , 經(jīng)過一輪比較后 , 將最大的數(shù)移動到末尾 ( 沉底 ) , 而小的數(shù)“ 上浮 ” 。 然后再對剩下的 n1個數(shù)進行兩兩比較 , 得到次大數(shù) 。 如此反復(fù)使大數(shù)向后移動 、 小數(shù)向前移動 , 最后得到一個有序的數(shù)組 。 就像水底的氣泡一樣逐漸向上冒 , 故得名 。 ? 例 冒泡法排序 下面以六個數(shù) 0 為例分析冒泡法排序算法。 第 1輪比較(下圖 1) 第 2輪比較(下圖 2) 第 1輪比較后,剩 5個數(shù)未排好序;兩兩比較 5次 第 2輪比較后,剩 4個數(shù)未排好序;兩兩比較 4次 第 3輪比較后,剩 3個數(shù)未排好序;兩兩比較 3次 第 4輪比較后,剩 2個數(shù)未排好序;兩兩比較 2次 第 5輪比較后,全部排好序;兩兩比較 1次 算法結(jié)論: 對于 n個數(shù)的排序,需進行 n1 輪比較, 第 j 輪比較需進行 nj 次兩兩比較。 ? 例 冒泡法排序 程序流程圖:(用兩層嵌套循環(huán)實現(xiàn)) 設(shè)需排序的數(shù)有 10個,可以定義數(shù)組大小為 11,使用 a[1]~ a[10]存放 10個數(shù),a[0]不用,以符合人們的習(xí)慣。 對于 n個數(shù)的排序,需進行 n1 輪比較 第 j 輪比較需進行 nj 次兩兩比較。 這時的數(shù)組元素已是排好序的了。 (j=1。j=101。j++) (i=1。i=10j。i++) include include void main( ) { int a[11], i, j, t。 coutplease input 10 numbers:\n。 for( i=1。i=10。i++) cina[i]。 //輸入數(shù)組元素 coutthe numbers are :。 for( i=1。i=10。i++) coutsetw(4)a[i]。 coutendl。 for(j=1。j=9。j++) //j是 輪 次變量 , 共比較 9輪 for(i=1。i=10j。i++) //i是每 輪 比較次數(shù)變量 , 共 10j次 if(a[i]a[i+1]) { t=a[i]。 a[i]=a[i+1]。 a[i+1]=t。} //排序 coutthe sorted numbers are : 。 for(i=1。i11。i++) coutsetw(4)a[i]。 //輸出數(shù)組元素 coutendl。 } 運行結(jié)果為: please input 10 numbers: 12 34 2 80 –3 78 42 1 10 0 the numbers are: 12 34 2 80 –3 78 42 1 10 0 the sorted numbers are: 3 0 1 2 10 12 34 42 78 80 課后作業(yè): 自己找資料(推薦譚浩強 《 C程序設(shè)計 》 ),學(xué)習(xí)選擇法排序,并對兩種排序方法進行比較。上機運行通過。 這兩種排序方法,是編程中極典型的算法,包含了編程的若干基本思想及技巧,要求學(xué)生必須熟練掌握。 實習(xí)內(nèi)容: 1. 分別用冒泡法和選擇法對 10個整數(shù)進行排序。要求先輸出原序列,再輸出排序后的序列。 2. 求出 10個數(shù)中的最大數(shù)、最小數(shù)及平均數(shù)。 一 維 數(shù) 組 二 維 數(shù) 組 定義的一般形式為: 數(shù)據(jù)類型 數(shù)組名 [常量表達式 1][常量表達式 2]。 其中 , 常量表達式 1表示數(shù)組的 行數(shù) (第一維 ) 常量表達式 2表示數(shù)組的 列數(shù) (第二維 ) 例如: float a[2][3],b[5][10]; // OK float a[2,3],b[5,10]; //ERROR 二維數(shù)組的定義 二維表格 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] ① C++語言對二維數(shù)組采用這樣的定義方式 :把二維數(shù)組看作是一種 特殊的一維數(shù)組 ,它的每個元素又是一個 一維數(shù)組 。 ② 二維數(shù)組中的數(shù)組元素 按行優(yōu)先 的順序存放在連續(xù)的存儲空間,即在內(nèi)存中先順序存放第一行的元素 ,再存放第二行的元素 ,這樣按照存儲順序存取元素時, 第一維 的下標變化 最慢 , 最右邊 的下標變化 最快 。 ③ 二維數(shù)組中的每個數(shù)組元素都有兩個下標 , 且必須分別放在單獨的 “ [ ]‖內(nèi) 。 如: a[3,4 ] 說 明: a[0] a[0][0] a[0][1] a[0][2] a[1] a[1][0] a[1][1] a[1][2] a[2][3] a float a[2][3]; 相當于定義了兩個一維數(shù)組 二維數(shù)組常用于存放矩陣 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] a[0] a[1] 二維數(shù)組元素的引用 對多維數(shù)組的引用也是對數(shù)組各個元素的使用 , 而不是對數(shù)組名 。 二維數(shù)組元素的引用格式為: 數(shù)組名 [下標 ] [下標 ] 例如: a[1][1]、 b[3][2]。 下標也可以是整型表達式 , 如 a[i1][2*i3]。 數(shù)組元素可以出現(xiàn)在表達式中 , 也可以被賦值 。 例如: a[2][3]=a[1][1]+a[2][1]。 注意: 在使用數(shù)組元素時 , 數(shù)組下標值應(yīng)在已定義的數(shù)組大小的范圍內(nèi) 。 與一維數(shù)組一樣 , 注意不要出現(xiàn)下標越界的錯誤 。 例如: int a[2][3]。 數(shù)組 a的最大下標的數(shù)組元素是 a[1][2], 不存在數(shù)組元素 a[2][3]。 ① 按 行 為二維數(shù)組賦初值。如: int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; ② 按數(shù)組元素的 存儲順序 賦初值 。 如: int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 二維數(shù)組的初始化 ③ 給 部分 元素賦初值。 Ⅰ). 只對各行 第一列元素 賦初值,如: int a[3][4]={
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1