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

正文內(nèi)容

大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)c語(yǔ)言2ppt-資料下載頁(yè)

2025-01-20 03:47本頁(yè)面
  

【正文】 函數(shù)值,這種返回是正常的; –對(duì)于 有類型 函數(shù),在函數(shù)調(diào)用處極可能需要函數(shù)值參加下一步運(yùn)算,這將 帶來不可預(yù)料的結(jié)果 167。 先調(diào)用后定義 — 函數(shù)原型 【 例 】 用函數(shù)重新寫第四章例 ,打印 100 以內(nèi)素?cái)?shù)。 /* PROGRAM writeprime */ include ―‖ bool prime( int n ) { int j 。 for ( j = n / 2 。 j = 2 。 j ) if ( n%j == 0 ) return false 。 return true 。 } void main( ) { int i 。 for ( i = 2 。i = 100 。 i++ ) if ( prime(i) ) printf(―%5d\n‖ , i ) 。 } 前邊講述的程序例子 ,從行文上看 , 任何函數(shù)的函數(shù)調(diào)用都在相應(yīng)函數(shù)定義之后 , 這是有意安排的 。 因?yàn)?C規(guī)定任何標(biāo)識(shí)符都必須先聲明后使用 . 但不是所有程序都能做到這點(diǎn) , 有可能有一些函數(shù)的調(diào)用在其定義之前出現(xiàn) 。 有些即使能做到這點(diǎn) ,程序也不清晰 , 例如上述例 。 為了解決這個(gè)問題 , C引進(jìn) “ 函數(shù)原型 ” 的概念 。函數(shù)原型放在函數(shù)調(diào)用之前 , 先聲明相應(yīng)函數(shù)的特性 , 滿足了 C標(biāo)識(shí)符先定義后使用的要求 。 這樣相應(yīng)函數(shù)的定義就可以放在任何位置了 。 例 用函數(shù)原型可以寫成如下例 。 【 例 】 引進(jìn)函數(shù)原型重寫例 ,打印 100 以內(nèi)素?cái)?shù)。 /* PROGRAM writeprime */ include ―‖ bool prime( int) 。 //函數(shù)原型,說明標(biāo)識(shí)符 prime void main( ) { int i 。 for ( i = 2 。i = 100 。 i++ ) if ( prime(i) ) printf(―%5d\n‖ , i ) 。 } bool prime( int n ) { int j 。 for ( j = n / 2 。 j = 2 。 j ) if ( n%j == 0 ) return false 。 return true 。 } ? 一般形式 TT F ( T , T , ... , T )。 TT F ( T id , T id , ... , T id )。 ? 如下兩個(gè)函數(shù)原型等價(jià) float f ( int, float, int, char ) 。 float f ( int z, float u, int v, char w ) 。 ? 函數(shù)原型的功能 –滿足了 C標(biāo)識(shí)符先定義后使用的要求 –并向編譯系統(tǒng)提供所調(diào)用函數(shù)的信息 ?函數(shù)返回類型 ?函數(shù)的參數(shù)個(gè)數(shù) ?函數(shù)參數(shù)特性等信息 –程序設(shè)計(jì)風(fēng)格 ?最好把所有函數(shù)原型集中,放在主函數(shù)之前 167。 程序設(shè)計(jì)實(shí)例 ? 重寫打印字符矩陣 ? 重寫打印 100以內(nèi)素?cái)?shù) ? 驗(yàn)證哥德巴赫猜想 ? 驗(yàn)證 Pascal 定理 ? 十六進(jìn)制數(shù)翻譯 【 例 】 用函數(shù)重新寫第二章例 ,求植樹棵數(shù)。 include // 括入標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)頭文件 include // 括入標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)庫(kù)頭文件 float xa,ya,xb,yb,xc,yc,xd,yd。 //分別保存四個(gè)點(diǎn)的 X、 Y方向坐標(biāo) float ab, bc 。 //分別表示矩形的兩個(gè)相鄰邊 float ss。 int m。 // 計(jì)算用變量; ss表示周長(zhǎng); m表示植樹棵樹 /* 計(jì)算 r、 s兩點(diǎn)距離:參數(shù): r點(diǎn) x、 y坐標(biāo), s點(diǎn) x、 y坐標(biāo) */ float lines( float xr,float yr,float xs,float ys ){ return sqrt( (xrxs)*(xrxs)+(yrys)*(yrys) )。 } void main(void) { // 主函數(shù) // 輸入四個(gè)點(diǎn)的 X、 Y方向坐標(biāo) printf(please input xa,ya,xb,yb,xc,yc,xd,yd:\n)。 scanf(%f%f%f %f%f%f %f%f― ,amp。xa,amp。ya,amp。xb,amp。yb,amp。xc,amp。yc,amp。xd,amp。yd)。 // 計(jì)算邊長(zhǎng) ab=lines( xa,ya,xb,yb )。 //邊 ab長(zhǎng) bc=lines( xb,yb,xc,yc )。 //邊 BC長(zhǎng) ss=(ab+bc)*2。 //s m=ss/2。 // 計(jì)算總植樹棵數(shù) printf(―總植樹棵數(shù): %10d\n‖,m)。 // 打印輸出 } 運(yùn)行結(jié)果 演示 【 例 】 用函數(shù)重新寫第二章例 ,求四邊形地塊玉米產(chǎn)量。 include // 括入標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)頭文件 include // 括入標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)庫(kù)頭文件 float xa,ya,xb,yb,xc,yc,xd,yd。 //分別保存四個(gè)點(diǎn)的 X、 Y方向坐標(biāo) float s1,s2,ss,m。 // 計(jì)算用變量; ss表示總面積; m表示總產(chǎn)量 float areauvw ( float xu,float yu,float xv,float yv ,float xw,float yw )。//函數(shù)原型 void main(void) { // 主函數(shù) // 輸入四個(gè)點(diǎn)的 X、 Y方向坐標(biāo) printf(please input xa,ya,xb,yb,xc,yc,xd,yd:\n)。 scanf(%f%f%f%f%f%f%f%f― ,amp。xa,amp。ya,amp。xb,amp。yb,amp。xc,amp。yc,amp。xd,amp。yd)。 s1 = areauvw (xa, ya, xb, yb, xd, yd )。 // ABD面積 s2 = areauvw (xb, yb, xc, yc, xd, yd )。 // BCD面積 ss=s1+s2。 // 總面積 S=SI+S ss=ss*15/1000。 // 折合成畝 m=ss*650。 // 計(jì)算總產(chǎn)量 printf(―m=%\n‖,m)。 // 打印輸出 } /* 計(jì)算 r、 s兩點(diǎn)距離:參數(shù): r點(diǎn) x、 y坐標(biāo), s點(diǎn) x、 y坐標(biāo) */ float liners( float xr,float yr,float xs,float ys ){ return sqrt( (xrxs)*(xrxs)+(yrys)*(yrys) )。 } /* 計(jì)算三角形 uvw面積,參數(shù): u點(diǎn) x、 y坐標(biāo), v點(diǎn) x、 y坐標(biāo) , w點(diǎn) x、 y坐標(biāo) */ float areauvw ( float xu,float yu,float xv,float yv ,float xw,float yw ){ float uv , uw , vw 。 // 三條邊長(zhǎng) float s 。 uv = liners ( xu, yu, xv, yv )。 //邊 uv長(zhǎng) uw = liners ( xu, yu, xw, yw )。 //邊 uw長(zhǎng) vw = liners ( xv, yv, xw, yw )。 //邊 vw長(zhǎng) s=(uv+uw+vw)/2。 //s return sqrt( s*(suv)*(suw)*(svw) )。// 返回面積 } 運(yùn)行結(jié)果 演示 例 驗(yàn)證哥德巴赫猜想 : 任意一個(gè)大偶數(shù)都可以分解為兩個(gè)素?cái)?shù)之和。隨機(jī)產(chǎn)生 10 個(gè)大于 6 的偶數(shù)進(jìn)行驗(yàn)證 , 并對(duì)每個(gè)偶數(shù)輸出分解結(jié)果。 輸入偶數(shù) → N 開始 結(jié)束 while N 0 輸入偶數(shù) → N N可分解 輸出 OK! 輸出 NO! 結(jié)束 開始 n 是素?cái)?shù) amp。amp。 Nn 是素?cái)?shù) 輸出” N=n+(Nn)” flag = true 圖 N可分解? for ( n=N2。 n =N/2。 n ) return flag flag = false include ― bool analyze( int )。 //函數(shù)原型 bool prime( int ) 。 main(){ //主函數(shù) int N。 printf(pleace input N:)。 scanf(%d,amp。N)。 while (N0){ if(analyze(N)) printf(―\nOK!\n‖)。 else printf(―\nNO!\n‖)。 printf(pleace input N:)。 scanf(%d,amp。N)。 } } bool analyze( int N ){ //分解 int n。 bool flag。 flag = false。 // 先假設(shè)哥德巴赫猜想錯(cuò)誤, 標(biāo)志置 “ 假 ” for ( n=N2。 nN/2。 n ) if( prime(n) amp。amp。 prime(Nn) ){//n、 Nn都是素?cái)?shù)? printf(― %d=%d+%d\n‖,N,n,Nn)。 flag = true。 //哥德巴赫猜想正確, 標(biāo)志置 “ 真 ” } return flag。 //帶標(biāo)志返回 } bool prime( int n ) { //判斷 n是否素?cái)?shù) int j 。 for ( j = n / 2 。 j = 2 。 j ) if ( n%j == 0 ) //有其它因子,不是素?cái)?shù) return false 。 return true 。 //無(wú)其它因子,是素?cái)?shù) } 運(yùn)行結(jié)果 演示 本章小結(jié) ? 函數(shù)的定義 ? 函數(shù)的調(diào)用 ? 模塊化程序設(shè)計(jì)思想 第六章 批量數(shù)據(jù)組織 —數(shù)組 ? 成績(jī)統(tǒng)計(jì) —數(shù)組類型 ? 統(tǒng)計(jì)多科成績(jī) —多維數(shù)組 ? 程序設(shè)計(jì)實(shí)例 ? 成績(jī)排序 —數(shù)組初值 ? 輸出回文字 —字符串 ? 類型定義 作業(yè) : 習(xí)題集: P51—11; P58—125 練習(xí) : 167。 成績(jī)統(tǒng)計(jì) — 數(shù)組類型 【 例 】 為了分析學(xué)生對(duì)程序設(shè)計(jì)課程的掌握程度,需要對(duì)該課程成績(jī)進(jìn)行統(tǒng)計(jì)。編程序,輸入一個(gè)班 50名學(xué)生的程序設(shè)計(jì)課程成績(jī),然后按 10分為一段,統(tǒng)計(jì)各段成績(jī)的學(xué)生人數(shù),并輸出。 。 解:該問題的算法很簡(jiǎn)單。首先用一個(gè)循環(huán)順序輸入 50名學(xué)生的成績(jī),設(shè)為 a0、 a a … 、 a49;再用 11個(gè)計(jì)數(shù)器j0、 j j … 、 j10分別記錄 0 101 … 、 919 100各個(gè)分?jǐn)?shù)段的學(xué)生數(shù)。方法是先把諸 j 清“ 0‖,再掃描這 50個(gè)分?jǐn)?shù),判斷每個(gè)分?jǐn)?shù)所在分?jǐn)?shù)段,給相應(yīng)計(jì)數(shù)器加 1。最后用一個(gè)循環(huán)輸出每段分?jǐn)?shù)的個(gè)數(shù)。該算法可以描述為如圖的PAD。 開始 結(jié)束 for (i=0。i50。i++) 輸出 ji for (i=0。i50。i++) for (i=0。i50。i++) 輸入 ai for (i=0。i=10。i++) ji=0 jk = jk +1 k=ai/10 問題的求解步驟搞清楚了。但是問題是 : 50個(gè)分?jǐn)?shù)怎么辦? 11個(gè)計(jì)數(shù)器怎么辦? 計(jì)算機(jī)完成該算法,顯然不能像前邊那樣,引進(jìn) 50個(gè)變量來保存分?jǐn)?shù)數(shù)據(jù),引進(jìn) 11個(gè)變量保存計(jì)數(shù)器數(shù)據(jù)。 程序設(shè)計(jì)語(yǔ)言為了處理類似的批量數(shù)據(jù) , 提供一種組織數(shù)據(jù)的機(jī)制 ―― 數(shù)組 。 用數(shù)組把這些數(shù)據(jù)全部保存起來 , 使用數(shù)組參與運(yùn)算 。 使用數(shù)組保存 50個(gè)分?jǐn)?shù) 、 11個(gè)計(jì)數(shù)器 , 該問題可以編出程序如下 。 include ―‖ void main () { int i,k,a[50],j[11]。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1