版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
2023/1/17Lesson12程序的組織結(jié)構(gòu)2023/1/17學習目標:31掌握結(jié)構(gòu)化程序設計的思想使用函數(shù)2023/1/173標準函數(shù)4函數(shù):根據(jù)輸入,經(jīng)過一系列運算過程(步驟),得到結(jié)果y=sin(30)30acbsin(30)的含義:如圖中:b/a2023/1/173函數(shù)31、標準函數(shù):C語言提供了很多標準函數(shù),它們被放置在一起,形成了一個標準函數(shù)庫。
2、自定義函數(shù):自己定義的函數(shù)。兩類函數(shù)2023/1/173標準函數(shù)4頭文件函數(shù)類別math.h包含與數(shù)學有關的函數(shù)ctype.h包含與字符處理有關的函數(shù)string.h包含與字符串有關的函數(shù)stdio.h包含與輸入輸出有關的函數(shù)2023/1/173標準函數(shù)4函數(shù)原型功能描述doublesin(doublex)返回double型x的正弦,x是弧度doublesqrt(doublex)返回double型x的平方根doublepow(doublex,doubley)返回xy調(diào)用函數(shù)時,不但需要了解函數(shù)的功能,還要通過函數(shù)原型弄清楚函數(shù)需要的參數(shù)格式以及函數(shù)的返回類型2023/1/173標準函數(shù)4例1:根據(jù)給定的兩個坐標點(x1,y1)和(x2,y2),計算兩點之間的距離。
問題分析計算兩點之間距離的公式為
d=在這個公式中含有平方和開平方的運算,可以直接利用C語言提供的標準函數(shù)實現(xiàn)這兩個運算。
2023/1/17算法描述
2023/1/17#include<stdio.h>#include<math.h>intmain(){intx1,y1,x2,y2;doubledistance;printf("\nEnter2coordinates(x1,y1,x2,y2)\n");scanf("%d%d%d%d",&x1,&y1,&x2,&y2); printf("\nThefirstcoordinateis(%d,%d)",x1,y1); printf("\nThesecondcoordinateis(%d,%d)",x2,y2);distance=sqrt(pow(x2-x1,2)+pow(y2-y1,2)); printf("\nThedistanceis%f",distance); return0;}lesson12_01.c2023/1/173自定義函數(shù)6引例:計算如下式子的和2023/1/43自定義函數(shù)2#include<stdio.h>intmain(){inti,sum=0,sum1=0,sum2=0,sum3=0;for(i=3;i<=23;i++)sum1+=i;for(i=5;i<=30;i++)sum2+=i;for(i=8;i<=33;i++)sum3+=i;sum=sum1+sum2+sum3;printf("sum=%d\n",sum);return0;}lesson12_0.c2023/1/43自定義函數(shù)2#include<stdio.h>intmain(){inti,sum=0,sum1=0,sum2=0,sum3=0;for(i=3;i<=23;i++)sum1+=i;for(i=5;i<=30;i++)sum2+=i;for(i=8;i<=33;i++)sum3+=i;sum=sum1+sum2+sum3;printf("sum=%d\n",sum);return0;}這里三個個過程都都一樣,,都是給給定一個個起始、、結(jié)束(輸入)的區(qū)間得得到期間間整數(shù)的的和(輸出)2023/1/43自定義函數(shù)5實現(xiàn)一個個實現(xiàn)前前需要明明確:1、該模塊塊需要解解決一個個什么問問題,完成一個個什么任任務2、解決該該問題需需要知道道些什么么條件如何自定定義一個個函數(shù)?2023/1/43自定義函數(shù)5類型函函數(shù)名(類型參參數(shù)1,類型參參數(shù)2,………)返回值類類型標識符參數(shù)表:需要知道道的條件件返回值函數(shù)出口口{}函數(shù)體;return表達式;主要部分分:完成模塊塊需要完完成的功功能(任任務)2023/1/43自定義函數(shù)5例題:給定一個個區(qū)間,,計算其其間整數(shù)數(shù)的和1、該模塊塊需要解解決一個個什么問問題:求整數(shù)的的累加和和2、需要知知道些什什么條件件區(qū)間的起起始值、、結(jié)束值值把他作為為參數(shù)循環(huán)求和和2023/1/43自定義函數(shù)5例:intsumTo(intstart,intend){inti,s=0;for(i=start;i<=end;i++)s+=i;returns;}2023/1/4#include<stdio.h>intsumTo(intstart,intend);intsumTo(intstart,intend){inti=0,s=0;for(i=start;i<=end;i++)s+=i;returns;}intmain(){inti,sum=0,sum1=0,sum2=0,sum3=0;sum1=sumTo(3,23);sum2=sumTo(5,30);sum3=sumTo(8,33);sum=sum1+sum2+sum3;printf("sum=%d\n",sum);return0;}聲明,告訴C語言有這樣一一個函數(shù)調(diào)用,使用該該函數(shù),得到到3-23整數(shù)之和3、實現(xiàn),編寫寫代碼實現(xiàn)過過程lesson12_0_1.c2023/1/43自定義函數(shù)5C語言規(guī)定,一一個函數(shù)可以以有返回值,,也可以沒有有返回值。如如果有返回值值,返回值的的類型在函數(shù)數(shù)名前聲明,,并在函數(shù)體體中利用return語句將返回值值返回;如果果沒有返回值值,在函數(shù)名名前聲明void。默認的返回類類型是int函數(shù)定義不能放在另一個函數(shù)里面,不能嵌套定義。
函數(shù)名不但應該符合C語言的自定義標識符命名規(guī)范,還應該“見名知意”。2023/1/43自定義函數(shù)5參數(shù)數(shù)表表是是函函數(shù)數(shù)之之間間交交換換如果形式參數(shù)屬于一維數(shù)組類型,無須指出一維數(shù)組的元素個數(shù),一般通過其他參數(shù)指出。函數(shù)體是函數(shù)的核心部分,在這里列出需要執(zhí)行的語句序列。
2023/1/43自定義函數(shù)5函數(shù)的返返回值在聲明函函數(shù)的時時候,函函數(shù)名前前使用了了保留字字void,說明這這個函數(shù)數(shù)沒有返返回值;;否則,,這個函函數(shù)執(zhí)行行完畢后后,應該該返回一一個相應應類型的的數(shù)值。。return表達式;;2023/1/43函數(shù)調(diào)用7函數(shù)的調(diào)調(diào)用函數(shù)調(diào)用用語句的的基本格格式為::<函數(shù)名>(<實在參數(shù)數(shù)表>);實在參數(shù)數(shù)與形式式參數(shù)的的數(shù)據(jù)類類型和個個數(shù)一一一對應。。2023/1/43函數(shù)應用8例3:計算::s=1+(1*2)+(1*2*3)+…+(1*2*3*4*…*10)分析:sum=1!+2!+3!+4!+………+10!存在這樣樣一個過過程:輸輸入一個個n,得到n的階乘定義一個個求n的階乘的的函數(shù)2023/1/4intfun(intn){inti=0,s=1;for(i=1;i<=n;i++)s*=i;returns;}lesson12_03.c2023/1/4#include<stdio.h>intfun(intn);intmain(){inti=0,sum=0;for(i=1;i<=10;i++){sum+=fun(i);}printf(“1!+2!+3!+…=%d”,sum);return0;}intfun(intn){inti=0,s=1;for(i=1;i<=n;i++)s*=i;returns;}lesson12_03.c2023/1/43課堂練習9計算:s=1/1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)n的值從鍵鍵盤輸入入2023/1/43函數(shù)應用8數(shù)組作為為函數(shù)參參數(shù)問題:在主函數(shù)數(shù)中定義義了一個個數(shù)組intdata[]={1,2,3,4,5,6,7,8,9,0}在sum函數(shù)中要要對該數(shù)數(shù)組求和和,如何何定義sum函數(shù)才能能將數(shù)組組data傳到sum函數(shù)中呢呢2023/1/43函數(shù)應用8數(shù)組作為為函數(shù)參參數(shù)定義形式式類型名函函數(shù)數(shù)名(類型名數(shù)數(shù)組名[],類型名參參數(shù)數(shù)名)intsum(inta[],intlen){inti,s=0;for(i=0;i<len;i++)s+=a[i];returns;}2023/1/4#include<stdio.h>intsum(inta[],intlen);intmain(){intdata[]={1,2,3,4,5,6,7,8,9,0},s;s=sum(data,10);printf("s=%d",s);return0;}intsum(inta[],intlen){inti,s=0;for(i=0;i<len;i++)s+=a[i];returns;}2023/1/43函數(shù)應用8例4:使用函數(shù)的的方法,編寫程序求數(shù)數(shù)組的最大值值分析:定義一個函數(shù)數(shù)getMax,在該函數(shù)中中傳入一個數(shù)數(shù)組,求該數(shù)數(shù)組的最大值值2023/1/4#include<stdio.h>intgetMax(intd[],intlen);intmain(){intmax,data[10]={1,2,4,5,3,10,9,6,8,7};max=getMax(data,10);printf(“最大值值是%d””,max);return0;}intgetMax(intd[],intlen){inti=0,m=d[0];for(i=0;i<len;i++)if(d[i]>m)m=d[i];returnm;}注意::參數(shù)數(shù)為數(shù)數(shù)組的的定義義方法法len:數(shù)組組的長長度注意::調(diào)用用時直直接傳傳數(shù)組組名lesson12_04.c2023/1/43函數(shù)應用8課堂練練習::使用用函數(shù)數(shù)的方方法,,計算算一個個數(shù)組組中的的奇數(shù)數(shù)和要求::定義義一個個函數(shù)數(shù)sum(intdata[],intlen),該函數(shù)數(shù)的功功能是是計算算數(shù)組組data中的奇奇數(shù)和和在主函函數(shù)中中定義義一個個數(shù)組組a,從鍵鍵盤給給該數(shù)數(shù)組的的每個個元素素輸入入值,,調(diào)用用該函函數(shù),,輸出出其中中的奇奇數(shù)和和2023/1/43課后練習101、使用函函數(shù)求1*2*3+4*5*6+7*8*9+……100*101*1022、使用函函數(shù)求水水仙花數(shù)數(shù)3、使用函函數(shù)打印印等腰三三角形4、使用函函數(shù)求所所有的[1,1000]范圍內(nèi)的的完數(shù)(完數(shù):因因子(不不過括自自身)和和等于自自身的數(shù)數(shù))9、靜夜四四無鄰,,荒居舊舊業(yè)貧。。。1月-231月-23Wednesday,Janu10、雨中黃葉樹,燈下白頭人。。09:58:2209:58:2209:581/17/20239:58:22AM11、以我獨沈久,愧君相見頻。。1月-2309:58:2209:58Jan-2317-Jan-2312、故人江海別,幾度隔山川。。09:58:2209:58:2209:58Tuesday,January17,202313、乍見翻疑夢,相悲各問年。。1月-231月-2309:58:2209:58:22January17,202314、他鄉(xiāng)生白發(fā),舊國見青山。。17一月20239:58:22上午09:58:221月-2315、比不了得就不比,得不到的就不要。。。一月239:58上午1月-2309:58January17,202316、行動出成果,工作出財富。。2023/1/179:58:2209:58:2217January202317、做前,能夠環(huán)視四周;做時,你只能或者最好沿著以腳為起點的射線向前。。9:58:22上午9:58上午09:58:221月-239、沒有失敗,只有暫時停止成功!。1月-231月-23Tuesday,January17,202310、很多事情努力了未必有結(jié)果,但是不努力卻什么改變也沒有。。09:58:2209:58:2209:581/17/20239:58:22AM11、成功就是日復一日那一點點小小努力的積累。。1月-2309:58:2209:58Jan-2317-Jan-2312、世間成事,不求其絕對圓滿,留一份不足,可得無限完美。。09:58:2209:58:2209:58Tuesday,January17,202313、不知香積寺,數(shù)里入云峰。。1月-231月-2309:58:2209:58:22January17,202314、意志堅強的人能把世界放在手中像泥塊一樣任意揉捏。17一月20239:58:22上午09:58:221月-2315、楚塞三湘接,荊門九派通。。。一月239:58上午1月-2309:58January17,202316、少年十五二十時,步行奪得胡馬騎。。2023/1/179:58:2209:58:2217January202317、空山新雨后,天氣晚來秋。。9:58:22上午9:58上午09:58:221月-239、楊柳散和風,青山澹吾慮。。1月-231月-23Tuesday,January17,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 舞蹈藝術(shù)之魅力
- 人事部在企業(yè)戰(zhàn)略中的角色計劃
- 感恩父母與愛同行的演講稿5篇
- 2024年員工三級安全培訓考試題(滿分必刷)
- 2023-2024年項目安全培訓考試題帶答案(奪分金卷)
- 社團運營與成員發(fā)展
- 《本科心律失?!氛n件
- 教授能量轉(zhuǎn)換守恒
- 北師大版八年級下冊數(shù)學期末測試題
- 印刷設備智能化升級-第1篇-洞察分析
- 【安吉物流股份有限公司倉儲管理現(xiàn)狀及問題和優(yōu)化研究15000字(論文)】
- 火災自動報警系統(tǒng)施工及驗收調(diào)試報告
- 中國成人血脂異常防治指南課件
- 2023塔式太陽能熱發(fā)電廠集熱系統(tǒng)設計規(guī)范
- 識別藥用植物種類-識別藥用被子植物
- 滬教版八年級數(shù)學上冊《后記》教案及教學反思
- 2023屆高考英語《新課程標準》3000詞總表(字母順序版)素材
- 四川省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板-2
- 引水隧洞專項施工方案
- 手機連接打印機
- 知識圖譜知到章節(jié)答案智慧樹2023年浙江大學
評論
0/150
提交評論