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

正文內(nèi)容

c語言程序設(shè)計(jì)(二)ppt(編輯修改稿)

2025-03-21 01:04 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 如數(shù)組定義 a[5]中的 5表示數(shù)組 a有 5個(gè)元素,下標(biāo)從0開始。注意下標(biāo)不能越界,即不能使用數(shù)組元素 a[5]或更大下標(biāo)的元素 。若使用的下標(biāo)越界,系統(tǒng)雖然 不提示錯(cuò)誤 ,但可能會(huì)出現(xiàn) 意想不到的結(jié)果 ,甚至可使系統(tǒng)出現(xiàn)問題 。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 (4) C語言不允許對(duì)數(shù)組長(zhǎng)度作動(dòng)態(tài)定義,即定義中的數(shù)組元素個(gè)數(shù)可以包括常量和符號(hào)常量,但不能包括變量。例如:下面的定義是錯(cuò)誤的。 int n=10。 int a[n]。 /*因?yàn)?n為變量 */ 而下面的定義是正確的。 define N 10 main() { int a[N]。 /*N為符號(hào)常量 */ … } 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 (5) 數(shù)組元素具有定義語句中指定的數(shù)據(jù)類型。它可以是任一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型。同一數(shù)組中所有元素的數(shù)據(jù)類型都是相同的。 下面是常見的一維數(shù)組的定義: int a[10]。 /*定義整型數(shù)組 a,它有 10個(gè)元素 */ char str[20]。 /*定義字符型數(shù)組 str,它有 20個(gè)元素 */ float b[5],c[10]。 /*定義實(shí)型數(shù)組 b和 c, b有 5個(gè)元素, c有 10個(gè)元素 */ 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 數(shù)組在定義之后即可引用其中的數(shù)組元素,其引用形式為: 數(shù)組名 [下標(biāo) ] 下標(biāo)只能為整型常量或整型表達(dá)式。如果為小數(shù), C語言編譯時(shí)將自動(dòng)取整。 C語言中只能逐個(gè)引用數(shù)組元素,而不能一次引用整個(gè)數(shù)組。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 【 例 】 將數(shù)字 09裝入一個(gè)整型數(shù)組 a中,并輸出。 /* */ main() { int a[10]。 int i。 for(i=0。i10。i++) { a[i]=i。 printf(%d,a[i])。 } } 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 :系統(tǒng)為數(shù)組按照其類型和元素個(gè)數(shù)開辟一組連續(xù)的存儲(chǔ)單元,每個(gè)存儲(chǔ)單元存放一個(gè)數(shù)組元素,該連續(xù)存儲(chǔ)單元的首地址由數(shù)組名表示。 : ( 1)數(shù)組定義時(shí)給數(shù)組元素賦以初值,這兩種方式稱為 數(shù)組的初始化; ( 2)在程序執(zhí)行部分用賦值語句或輸入語句給數(shù)組元素賦值。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 : (1)對(duì)數(shù)組的全部元素賦初值,例如: int num[5]={1,2,3,4,5}。 經(jīng)過上述定義及初始化之后, num[0]=1, num[1]=2, num[2]=3, num[3]=4, num[4]=5。 (2)對(duì)數(shù)組的部分元素賦初值其余元素的值為 0(對(duì)實(shí)數(shù)是 ,對(duì)字符型是‘ \0’) ,例如: int num[5]={1,2,3}。 只給前 3個(gè)元素賦初值,其余 2個(gè)元素的值為 0。 注意: 定義普通數(shù)組時(shí) 沒有初始化賦值 , 所有元素的值都是隨機(jī)的 。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 (3) 對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組的長(zhǎng)度 (元素個(gè)數(shù) ),例如: int num[ ]={1,2,3,4,5}。 (4) 當(dāng)定義的數(shù)組元素個(gè)數(shù)小于初值的個(gè)數(shù)時(shí),作語法錯(cuò)誤處理,例如: int num[4]={1,2,3,4,5}。 是不合法的,因?yàn)?num數(shù)組只能有 4個(gè)元素。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 一維數(shù)組的應(yīng)用 【 例 】 用數(shù)組求 Fibonacci數(shù)列的前 20項(xiàng)。 【 分析 】 Fibonacci 數(shù)列可按下式計(jì)算: f i =f i1+f i2 初值 f 0=1 , f 1=1。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 main() { int i。 int f[20]={1,1}。 for(i=2。i20。i++) f[i]=f[i2]+f[i1]。 for(i=0。i20。i++) {if(i%5==0) printf(\n)。 printf(%6d,f[i])。 } } 【 例 】 /* */ 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 【 例 】 從鍵盤輸入 10個(gè)數(shù),求平均數(shù)并輸出所有大于平均數(shù)的數(shù)。 main() {int i,n=0。 float a[10],ave=0。 printf(請(qǐng)輸入 10個(gè)數(shù) :\n)。 for(i=0。i10。i++) {scanf(%f,amp。a[i])。 ave+=a[i]。} ave=ave/10。 printf(平均數(shù)為: %f\n, ave)。 for(i=0。i10。i++) {if(a[i]ave) {printf(%f ,a[i])。 n++。} if(n%4==0)printf(\n)。 } printf( \n“)。 } 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 /* 比較排序 */ main() {int a[10]={8,15,14,12,9,3,11,0,28,6}。 int i,j,temp。 for(i=0。i9。i++) for(j=i+1。j10。j++) if(a[i]a[j]) { temp=a[i]。 a[i]=a[j]。 a[j]=temp。 } for(i=0。i10。i++) printf(%3d,a[i])。 printf(\n)。 } 【 例 】 將 10個(gè)整數(shù)從大到小排序 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 /* 選擇排序 */ main() {int [10]={8,15,14,12,9,3,11,0,28,6}, i,j,t,p。 for(i=0。i9。i++) {p=i。 for(j=i+1。j10。j++) if(a[p]a[j]) p=j。 if(p!=i) { t=a[i]。 a[i]=a[p]。 a[p]=t。 } } for(i=0。i10。i++) printf(%3d,a[i])。 printf(\n)。 } 【 例 】 將 10個(gè)整數(shù)從大到小排序 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 【 分析 】 可先定義一個(gè)一維數(shù)組,將 n個(gè)數(shù)存入該數(shù)組中,然后輸入要查找的數(shù) x,再利用循環(huán)順序查找,當(dāng)找到該數(shù)就打印該數(shù)并停止循環(huán)。 停止循環(huán)可用 break語句,也可以用一個(gè)標(biāo)志變量,程序如下: 【 例 ,順序查找算法 】 在 n個(gè)數(shù)中查找一個(gè)數(shù) x 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 /* */ define N 15 main( ) {int a[N], x, i, find。 for(i=0。 iN。 i++) scanf(“%d”,amp。a[i])。 scanf(“%d”,amp。x)。 find=0。 for(i=0。 iN amp。amp。 !find。 i++) if(x==a[i]) {printf(找到 :%d, 它是 a[%d].\n, x, i )。find=1。} if(find==0) printf%d: 沒找到 .\n, x )。 } 【 順序查找算法 】 在 n個(gè)數(shù)中查找一個(gè)數(shù) x 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 運(yùn)行結(jié)果如圖所示: 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 順序查找需要查找的次數(shù)比較多,設(shè)有 n個(gè)數(shù),平均需要查找 n/2次,用折半查找就快得多。 (1)指導(dǎo)思想:先將中間的數(shù)與待查的數(shù)比較,如果找到就結(jié)束查找,否則,若待查數(shù)小于中間數(shù),應(yīng)在前半部分繼續(xù)查找;若待查數(shù)大于中間數(shù),應(yīng)在后半部分繼續(xù)查找。在一半范圍內(nèi)查找還是用中間數(shù)與待查數(shù)比較,直到待查范圍縮小到?jīng)]有數(shù)為止。理論上,折半查找平均查找次數(shù)為 log2n (2)具體方法:設(shè)三個(gè)變量 mid、 top和 bot,分別表示查找范圍的中間、最小和最大下標(biāo),查找中如果沒有找到,則不斷迭代這些變量,直到找到或查找范圍縮小到?jīng)]有數(shù)為止。程序如下: 【 折半查找算法 】 對(duì)排好序 (如從小到大 )的數(shù)進(jìn)行查找 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 /* */ define N 15 main() {int a[N], x, i, mid, top, bot, find。 for(i=0。 iN。 i++)scanf(“%d”,amp。a[i])。 scanf(“%d”,amp。x)。 top=0。 bot=N1。 find=0。 do{mid=(top+bot)/2。 if(x==a[mid]) {printf (找到 :%d, 它是 a[%d].\n, x, i )。 find=1。} else if(xa[mid]) bot=mid1。 else top=mid+1。 }while(top=bot amp。amp。 !find)。 if(find==0) printf%d: 沒找到 .\n, x )。 } 【 折半查找算法 】 對(duì) (從小到大 )排好序的數(shù)進(jìn)行查找 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 運(yùn)行結(jié)果如圖所示: 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 二維數(shù)組 二維數(shù)組的定義 二維數(shù)組定義的一般形式為: 數(shù)據(jù)類型 數(shù)組名 [行數(shù) ][列數(shù) ]; 例如: int a[2][3]。 /*定義 a為 2行 3列的整型數(shù)組 */ char c[3][5]。 /*定義 c為 3行 5列的字符型數(shù)組 */ float d[4][5]。 /*定義 d為 4行 5列的實(shí)型數(shù)組 */ 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 二維數(shù)組元素的引用 數(shù)組名 [行下標(biāo) ][列下標(biāo) ] 如: s[2][4],這里下標(biāo)用來標(biāo)識(shí)數(shù)組元素在數(shù)組中的位置。 下標(biāo)可以是整型常量或整型表達(dá)式,如 :a[2][3], a[i][j],s[k1][i+3] 等。但不能寫成 s[2,1+3], a[i,j]的形式。 請(qǐng)注意區(qū)分?jǐn)?shù)組的定義和數(shù)組元素的引用。兩者從形式上看有些相似,但含義卻完全不同。 二維數(shù)組 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 /* */ main() { int i, j, a[3][4]。 for(i=0。i3。i++) /*變量 i控制數(shù)組的行下標(biāo) */ {for(j=0。j4。j++) /*變量 j控制數(shù)組的列下標(biāo) */ {scanf(%d,a
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1