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

正文內(nèi)容

c語言程序設(shè)計教程(二)ppt(參考版)

2024-10-19 16:02本頁面
  

【正文】 i++) /*將數(shù)組 a中的矩陣轉(zhuǎn)置后。 } 二維數(shù)組的應(yīng)用 (續(xù) ) for(i=0。j++) printf(%5d,a[i][j])。i++) /*輸出矩陣 */ { for(j=0。 for(i=0。a[i][j])。jN。iM。 printf(Enter %d integer:\n,M*N)。 ? 分析: 矩陣的轉(zhuǎn)置也就是將矩陣的行和列進(jìn)行互換,使其行成為列,列成為行。 ? n維數(shù)組的引用方式為: 數(shù)組名 [下標(biāo) 1][下標(biāo) 2]… [下標(biāo) n] ? 有關(guān)多維數(shù)組的注意事項(xiàng)和初始化,請參照二維數(shù)組。 多維數(shù)組 ? 讀者可以根據(jù)一維和二維數(shù)組的討論建立起相應(yīng)的概念。 ? 可以寫為: int num[][3]={1,2,3,4,5,6}。 ? 另外,對于二維數(shù)組的全部元素進(jìn)行初始化,則行數(shù)可以省略,編譯系統(tǒng)會自動算出行數(shù),但是列數(shù)卻不能省略。j20。i4。 二維數(shù)組的初始化 (續(xù) ) ? 例如: int num[4][20],i,j?!敝粚γ啃械牟糠衷剡M(jìn)行了初始化,即,num[0][0]=1, num[0][1]=2, num[1][0]=3, num[1][1]=4,其他元素自動取 0,即, num[0][2]=0, num[1][2]=0。 /*按行分段初始化 */ ? “int num[2][3]={1,2,3,4 }。 ? 例如: int num[2][3]={1,2,3,4 }。 /*按行連續(xù)初始化 */ int num[2][3]={{1,2,3},{4,5,6}}。 ? 若為每一個數(shù)組元素都給定了對應(yīng)的初值的話,兩種方法沒有區(qū)別。初始化操作既可以在聲明二維數(shù)組的同時完成,也可以在數(shù)組聲明之后進(jìn)行。 ? 則 score[0][1], score[1][1+1], score[i][j]等都是符合 C語言語法的表達(dá)式(其中 i和 n是整型變量,它們的取值范圍為: 0≤i≤1,0≤j≤2);而 score[1][1], score[][2], score[1],[2], score(0)(2)等就不是合法的引用方式。二維數(shù)組的引用形式為: ? 數(shù)組名 [下標(biāo) 1] [下標(biāo) 2] ? 其中,數(shù)組下標(biāo)可以是非負(fù)整數(shù),整型變量或整型表達(dá)式,但不能是浮點(diǎn)數(shù),浮點(diǎn)型變量或者浮點(diǎn)型表達(dá)式;同時還要求下標(biāo) 1的范圍為 [0,數(shù)組長度 11],下標(biāo) 2的范圍為 [0,數(shù)組長度 21]。 ? s[0][0] s[0][1] s[0][2] s[1][0] s[1][1] s[1][2] 二維數(shù)組的引用 ? 和一維數(shù)組一樣,在 C語言中不能一次引用整個數(shù)組,只能引用其中的單個數(shù)組元素。 C語言里,采用行優(yōu)先的方式來存儲二維數(shù)組,即在內(nèi)存中先順序放第 0行的元素,再存放第 1行的元素 …… ,同一行中再按列順序存放。 ? ( 2)二維數(shù)組只是邏輯上的概念,可以認(rèn)為,二維數(shù)組是特殊的一維數(shù)組,它的元素的數(shù)據(jù)類型是一維數(shù)組。 ? 聲明數(shù)組時要注意以下兩點(diǎn): ? ( 1)二維數(shù)組聲明中,數(shù)組名,數(shù)據(jù)類型的聲明方式以及數(shù)組長度類型的選擇和一維數(shù)組相同,不同的只是數(shù)組名后面緊跟兩個方括號,聲明了兩個數(shù)組長度。 ? 例如: float s[2][3]。 二維數(shù)組的聲明 ? 二維數(shù)組的聲明形式為: 數(shù)據(jù)類型 數(shù)組名 [數(shù)組長度 1] [數(shù)組長度 2]; ? 其中,數(shù)據(jù)類型是全體數(shù)組元素的數(shù)據(jù)類型;數(shù)組名用標(biāo)識符表示;數(shù)組長度 1和數(shù)組長度 2分別代表數(shù)組具有的行數(shù)和列數(shù)。 } ? 運(yùn)行結(jié)果: Enter 10 score: 65 89 98 87 90 85 80↙ Before sorted: After sorted: 二維數(shù)組 ? 當(dāng)數(shù)組元素具有兩個下標(biāo)時,該數(shù)組稱為二維數(shù)組。iN。 } printf(\nAfter sorted:\n)。 score[min_a]=score[i]。j++) if(score[j]score[min_a]) min_a=j。 for(j=i+1。iN。i++) printf(%,score[i])。 for(i=0。score[i])。iN。 printf(Enter %d score:\n,N)。 一維數(shù)組的應(yīng)用 (續(xù) ) ? 程序代碼如下: define N 10 include void main() { float score[N],temp。 } ? 運(yùn)行結(jié)果: Enter 10 numbers: 4 6 7 8 9 0 9 12 9 21↙ Before sorted: 4 6 7 8 9 0 9 12 9 21 After sorted: 9 9 4 0 6 7 8 9 12 21 一維數(shù)組的應(yīng)用 (續(xù) ) ? 例 65 假設(shè)某班某小組有學(xué)生人數(shù)為 10人,編程實(shí)現(xiàn)錄入每名學(xué)生的 C語言課程成績,并將成績按照從高分到低分的次序輸出。iN。 } printf(\nAfter sorted:\n)。 data[min_a]=data[i]。j++) if(data[j]data[min_a]) min_a=j。 for(j=i+1。iN。i++) printf(%5d,data[i])。 for(i=0。data[i])。iN。 printf(Enter %d number:\n,N)。 一維數(shù)組的應(yīng)用 (續(xù) ) ? 程序代碼如下: define N 10 include void main() { int data[N]。我們稱這種排序方法為選擇排序。 ? 分析:本例將利用例 63的基本思想,每次將最小的元素放在正確位置。 } 一維數(shù)組的應(yīng)用 (續(xù) ) ? 運(yùn)行結(jié)果: ? Enter 10 numbers: ? 4 6 7 8 9 0 9 12 9 21↙ ? Min is 9. It39。 /*輸出該數(shù)及其所在位置 */ printf(It39。i++) /*尋找第一個最小元素的下標(biāo) */ { if(data[i]data[min_a]) min_a=i。 for(i=1。i++) /*輸入整數(shù) */ scanf(%d,amp。 for(i=0。 int min_a=0。 ? 分析:先從鍵盤輸入 10個整數(shù),把這些數(shù)保存在數(shù)組中,用一個變量 min_a記住第一個最小數(shù)組元素所對應(yīng)的下標(biāo),先把數(shù)組中的第一個元素下標(biāo)賦值給 min_a,然后把第二個數(shù)組元素到第 100個數(shù)組元素依次和下標(biāo)為 min_a的數(shù)組元素進(jìn)行比較,如果前者的值小于后者的話,把它的下標(biāo)賦值給 min_a,然后輸出該數(shù)和它在所輸入數(shù)列中的位置( min_a+1,因?yàn)閿?shù)組下標(biāo)從 0開始)即可。i++) printf(%5d,num[i])。 } for(i=0。 num[j]=num[i]。ij。 printf(\n)。iN。num[i])。iN。 printf(Enter %d numbers:\n,N)。i++) ? printf(%5d,num[i])。 ? } ? for(i=0。 ? num[j]=num[i]。i++) /*逆序操作 */ ? { ? j=Ni1。 ? for(i=0。i++) /*處理前先輸出所輸入的整數(shù) */ ? printf(%5d,num[i])。 ? for(i=0。i++) /*輸入整數(shù) */ ? scanf(%d,amp。 ? for(i=0。 ? m=N/21。如何才能做到逆序存放呢?有兩種方案: ? 方案一:若輸入的整數(shù)個數(shù)為 N,以 m=N/21為中心,當(dāng) i小于等于 m時,交換 num[i]和num[Ni1]的值,然后輸出即可。 } ? 運(yùn)行結(jié)果: Enter 5 numbers: 45 67 8 0 65↙ 45 67 8 0 65 一維數(shù)組的應(yīng)用 (續(xù) ) ? 例 62 編程實(shí)現(xiàn):從鍵盤輸入 6個整數(shù),然后按照輸入順序的逆序輸出。iN。arr[i])。iN。 printf(Enter %d numbers:\n,N)。 ? 分析:要實(shí)現(xiàn)輸入若干個整數(shù),應(yīng)該用一個數(shù)組去保存這些數(shù)據(jù),同時可以采用宏聲明的辦法聲明一個常量,把該常量作為數(shù)組長度的值?!甭暶鞯臄?shù)組 a的物理存儲結(jié)構(gòu)如表 61所示。數(shù)組元素的相對次序由下標(biāo)來表示。”。例如,若有 “ int a[]={4,6,8,10,12}。 ? ( 3)若給數(shù)組的所有元素賦初值,可以省略數(shù)組的長度。例如,若有“ int a[5]={4,6,8}。 ? ( 2)花括號中初值的數(shù)量必須小于等于數(shù)組長度。 一維數(shù)組的初始化 (續(xù) ) ? 初始化數(shù)組時需要注意以下四點(diǎn): ? ( 1)花括號內(nèi)各個初值之間要用逗號隔開,例如,若有 “ int a[3]={4,6,8}。i20。 ? 例如: float num[20],i。初始化操作既可以在聲明一維數(shù)組的同時完成,也可以在數(shù)組聲明之后進(jìn)行。”之后,程序員若在程序中修改或使用 score[20],編譯系統(tǒng)并不報錯,對 score[20]的操作實(shí)際上是對內(nèi)存其他空間的操作,因此可能造成嚴(yán)重后果。 ? ( 3) C程序運(yùn)行時編譯系統(tǒng)并不檢查數(shù)組元素的下標(biāo)是否越界,需要程序員自己確保所編寫的程序中沒有出現(xiàn)數(shù)組元素下標(biāo)越界的情況。 ? ( 2)數(shù)組下標(biāo)可以是整型常量、變量或整型表達(dá)式。 ? 則 score[0], score[19], score[i], score[ni], score[n4]等都是符合 C語言語法的表達(dá)式(其中 i和 n是整型變量,它們的取值范圍為: 0≤i≤19, 4≤n≤23, 0≤ni≤19);而 score[1], score[]等就不是合法的引用方式。一維數(shù)組的引用形式為: ? 數(shù)組名 [下標(biāo) ] ? 其中,數(shù)組下標(biāo)可以是非負(fù)整數(shù),整型變量或整型表達(dá)式,但不能是浮點(diǎn)數(shù),浮點(diǎn)型變量或者浮點(diǎn)型表達(dá)式;同時還要求下標(biāo)值不能大于數(shù)組長度 1。 /*錯誤 */ ... ... } 一維數(shù)組的引用 ? 在 C語言中不能一次引用整個數(shù)組,只能引用單個數(shù)組元素。請看下面程序段: void main() { int n=20。 /*錯誤 */ float score[n+5]。 /*正確 */ ... ... } ? 程序段四: void main() { int n=20。 /*正確 */ ... ... } ? 程序段二: void main() { float score[]。 ? ( 3)方括號中的數(shù)組長度的是一個常量或者常量表達(dá)式,而不能是變量或者是包含變量的表達(dá)式,也不能是小數(shù)。 ? 聲明數(shù)組時要注意以下四點(diǎn): ? ( 1)數(shù)組的數(shù)據(jù)類型聲明的是每個數(shù)組元素的取值類型,也就是說,同一個數(shù)組中的元素具有相同的數(shù)據(jù)類型。 char name[20]。 說明單精度浮點(diǎn)型數(shù)組 score,有 30個元素 。 說明整型數(shù)組 age,有 10個元素。方括號中的數(shù)組長度的是一個常量或者常量表達(dá)式,其值只能是個正整數(shù)用以表示數(shù)組單元的個數(shù)。 一維數(shù)組的聲明 ? 一維數(shù)組的聲明形式為: ? 數(shù)據(jù)類型 數(shù)組名 [數(shù)組長度 ]; ? 其中,數(shù)據(jù)類型說明符是 C語言提供的任何一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型。一維數(shù)組是由同類型數(shù)據(jù)按照線性次序順次排列而成的構(gòu)造類型。每個數(shù)組在使用之前都必須先聲明。 ? 其中,每個變量稱為數(shù)組的一個數(shù)組單元,保存在數(shù)據(jù)單元中的數(shù)據(jù)值稱為數(shù)組元素,在不引起混淆的情況下,兩者都可以簡稱為元素。于是問題就轉(zhuǎn)化成如何把兩門課程的總成績計算出來并把結(jié)果保存下來了? 數(shù)組的基本概念 ? 數(shù)組是具有相同數(shù)據(jù)類型有序數(shù)據(jù)的集合。在編程的時候,我們先暫時不考慮排序的細(xì)節(jié),先看如何存儲這 30個學(xué)生的成績?很多初學(xué)者覺得這個問題很簡單,就像聲明實(shí)型變量一樣聲明 30個實(shí)型變量(如:float a1,a2,a3… ,a30;),如果這樣可以的話,那么若某年級的 500名學(xué)生的 C成績都要處理,那將需要聲明 500個變量?很顯然
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1