C語言程序設(shè)計 教案 7-1函數(shù)的定義、聲明及應(yīng)用_第1頁
C語言程序設(shè)計 教案 7-1函數(shù)的定義、聲明及應(yīng)用_第2頁
C語言程序設(shè)計 教案 7-1函數(shù)的定義、聲明及應(yīng)用_第3頁
C語言程序設(shè)計 教案 7-1函數(shù)的定義、聲明及應(yīng)用_第4頁
C語言程序設(shè)計 教案 7-1函數(shù)的定義、聲明及應(yīng)用_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《C語言程序設(shè)計》教案課程名稱C語言程序設(shè)計任課教師總課時64教學(xué)課題學(xué)生管理系統(tǒng)功能模塊設(shè)計授課班級授課日期課時2教學(xué)目標(biāo)知識目標(biāo):1.掌握有參函數(shù)2.掌握有參函數(shù)3.掌握有參函數(shù)4.完成學(xué)生管理系統(tǒng)功能模塊設(shè)計能力目標(biāo):能夠定義、聲明、調(diào)用函數(shù)素質(zhì)目標(biāo):團(tuán)隊合作能力、團(tuán)隊互助,自我學(xué)習(xí)的習(xí)慣、愛好和能力重點難點函數(shù)的定義、聲明、調(diào)用教學(xué)方法演示、講解、啟發(fā)教學(xué)資源教材《C語言程序設(shè)計》設(shè)備準(zhǔn)備VC++6.0,極域電子教室軟件,分發(fā)工作任務(wù)單教學(xué)環(huán)節(jié)(教學(xué)過程)教學(xué)內(nèi)容教師活動學(xué)生活動教學(xué)目標(biāo)課時1發(fā)布任務(wù)進(jìn)行任務(wù)的問題描述和分析傾聽、思考讓學(xué)生理解任務(wù)要求和思路10分鐘2理論講解講授函數(shù)定義、聲明、調(diào)用方法傾聽、思考預(yù)備需要的理論知識15分鐘3舉例通過一個案例進(jìn)一步講解函數(shù)的聲明、定義、調(diào)用傾聽、思考通過實際應(yīng)用幫助學(xué)生理解理論知識20分鐘4應(yīng)用布置兩個相關(guān)題目思考、解答通過做相關(guān)練習(xí)題幫助學(xué)生更好的理解相關(guān)知識45分鐘教學(xué)內(nèi)容(詳細(xì)):一.函數(shù)的定義及聲明一個C語言程序可以由一個主函數(shù)和若干個其他函數(shù)構(gòu)成,由主函數(shù)可以調(diào)用其他的函數(shù),其他函數(shù)也可以互相調(diào)用。同一個函數(shù)可以被一個或多個函數(shù)調(diào)用任意多次。一些常用的功能都可以編寫成函數(shù)供選用,善于利用函數(shù),可以有效的減少編寫程序的工作量。在程序中編寫函數(shù)時,一般要先聲明、再定義,然后才能調(diào)用。1函數(shù)的定義函數(shù)的定義是讓編譯器知道函數(shù)的功能。其一般格式:類型標(biāo)識符函數(shù)名([形式參數(shù)列表]){聲明部分語句部分}(1)函數(shù)名函數(shù)名是一個用戶定義的標(biāo)識符,它的命名規(guī)則同變量完全一樣,為了增加程序的可讀性,一般取有助于記憶的名字并與其功能相關(guān)的名字作為函數(shù)名,但在同一程序中,不能有同名的函數(shù)。(2)函數(shù)體用左、右花括號括起來的部分稱函數(shù)體,它由聲明部分和語句部分組成。聲明部分,主要用于對函數(shù)內(nèi)所使用的變量以及對所調(diào)用的函數(shù)的類型進(jìn)行說明;語句部分則是實現(xiàn)函數(shù)功能的核心部分,它由C語言的基本語句組成。(3)返回類型返回類型就是函數(shù)返回值的類型。對有值函數(shù),一般通過函數(shù)調(diào)用得到一確定值,這個值就是函數(shù)返回值(簡稱函數(shù)值)。如floatfnSum(floata,floatb)將返回一個float類型的值。此時,在函數(shù)體部分有一返回語句“returnfSum;”。對無返回值函數(shù),函數(shù)名前應(yīng)加上void類型,在函數(shù)定義的<語句部分>中,可以有一返回語句“return;”,也可以不帶返回語句,該函數(shù)執(zhí)行到最后一個花括號時,自動返回。(4)形式參數(shù)列表形式參數(shù)列表中的參數(shù)被稱為形式參數(shù),簡稱形參。有形參的函數(shù)稱為有參函數(shù)。沒有參數(shù)的函數(shù)稱為無參函數(shù),其一般形式為:類型標(biāo)識符函數(shù)名(){聲明部分語句部分}2函數(shù)的聲明函數(shù)聲明是讓編譯器知道函數(shù)的類型、函數(shù)的參數(shù)個數(shù)、參數(shù)類型及參數(shù)順序等信息。其一般格式為:類型標(biāo)識符函數(shù)名(形式參數(shù)列表);其中,形式參數(shù)列表可以省略。(1)函數(shù)聲明就是函數(shù)頭部分,并在最后加了一個分號“;”。(2)函數(shù)聲明中的參數(shù)列表,可省去參數(shù)名,但參數(shù)類型必須保留。例如,如下兩種形式的函數(shù)聲明等價。voidfnPower(floatx,intn);voidfnPower(float,int);3學(xué)生成績管理系統(tǒng)菜單的顯示利用系統(tǒng)提供的printf()函數(shù)在屏幕上輸出系統(tǒng)各個功能項,稱為菜單,為使菜單顯示整齊、美觀,通過輸出一些“*”、“$”、“\t”和“\n”等來美化菜單顯示。參考代碼如下:voidfnShowMenu() //自定義函數(shù)顯示菜單{system("cls"); //清屏函數(shù)printf("\n");printf("\t$************學(xué)生成績管理系統(tǒng)************$\n");printf("\t$0.退出$\n");printf("\t$1.錄入數(shù)據(jù)$\n");printf("\t$2.查詢記錄$\n");printf("\t$3.修改記錄$\n");printf("\t$4.插入記錄$\n");printf("\t$5.刪除記錄$\n");printf("\t$6.成績排序$\n");printf("\t$7.數(shù)據(jù)統(tǒng)計$\n");printf("\t$8.瀏覽記錄$\n");printf("\t$****************************************$\n");printf("\t\t請選擇您的操作(0-8):");}函數(shù)的調(diào)用1函數(shù)調(diào)用的形式定義函數(shù)后,通過調(diào)用函數(shù)來執(zhí)行函數(shù)的功能。調(diào)用函數(shù)的一般形式如下:<函數(shù)名>([<實參列表>]);其中,實參列表(簡稱實參)是有確定值的變量或表達(dá)式,若有多個參數(shù),各參數(shù)間要用逗號分開。(1)在實參表中,實參的個數(shù)與順序必須和形參的個數(shù)與順序相同,實參的數(shù)據(jù)類型必須和對應(yīng)的形參數(shù)據(jù)類型相同。(2)如為無參函數(shù)調(diào)用,則沒有實參列表,但括號不能省略。(3)函數(shù)間可以互相調(diào)用,但不能調(diào)用main()函數(shù)。2函數(shù)調(diào)用的方式根據(jù)函數(shù)在程序中出現(xiàn)的位置,大致有三種調(diào)用方式:(1)函數(shù)語句把函數(shù)調(diào)用作為一條語句。如:在例7-1中,“fnPrint();”,執(zhí)行該語句時,調(diào)用函數(shù)fnPrint(),執(zhí)行其功能。這時不要求函數(shù)帶返回值,只需要函數(shù)完成一定的操作。(2)函數(shù)表達(dá)式函數(shù)出現(xiàn)在一個表達(dá)式中,這時要求函數(shù)帶回一個確定的值,用函數(shù)的返回值參加表達(dá)式的運算。如:x=3*fnMax(a,b);。(3)函數(shù)參數(shù)函數(shù)調(diào)用做為函數(shù)的實參,如:result=fnMax(a,fnMax(b,c));。3函數(shù)調(diào)用時的數(shù)據(jù)傳遞形式參數(shù)和實際參數(shù)當(dāng)被調(diào)函數(shù)是有參函數(shù)時,主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。定義函數(shù)時的參數(shù)稱為形式參數(shù),簡稱形參。形參在該函數(shù)未被調(diào)用時是沒有確定的值,只是形式上的參數(shù),也不占內(nèi)存,只有發(fā)生調(diào)用時,形參才被分配內(nèi)存單元,接受實參傳來的值。調(diào)用函數(shù)時的參數(shù)稱為實參,實參可以是變量、常量或表達(dá)式,是有確定的值,是實實在在的參數(shù)。定義函數(shù)時必須定義形參的類型。函數(shù)的形參與實參個數(shù)要求相等,對應(yīng)類型一致。形參和實參可以同名,形參是該函數(shù)的局部變量,即使形參和實參同名,也是兩個不同的變量,占用不同的內(nèi)存單元。形式參數(shù)用于調(diào)用函數(shù)和被調(diào)函數(shù)之間進(jìn)行數(shù)據(jù)傳遞,在函數(shù)體內(nèi)可對其操作。因此,它也需要類型說明,這由形式參數(shù)說明部分完成,函數(shù)可不帶參數(shù),也可帶多個參數(shù),當(dāng)有多個參數(shù)時,每個參數(shù)之間用逗號隔開。實參與形參之間的值傳遞函數(shù)的參數(shù)主要用于在調(diào)用函數(shù)和被調(diào)用函數(shù)之間進(jìn)行數(shù)據(jù)傳遞。簡單變量或數(shù)組下標(biāo)變量作為函數(shù)參數(shù)都是按“值傳遞”方式處理的,即只能把實參的值傳遞給形參,而不能將形參的值傳遞給實參,形參值的改變不影響實參。學(xué)生管理系統(tǒng)功能模塊設(shè)計按照模塊化程序設(shè)計方法,將功能模塊用一個函數(shù)來實現(xiàn)。目前暫時由空函數(shù)表示,其功能實現(xiàn)留待第二階段完成。采用菜單驅(qū)動方式進(jìn)行人機交互、設(shè)計用戶界面。1顯示菜單模塊此模塊顯示菜單函數(shù)fnShowMenu()參考7.1.3節(jié)。2系統(tǒng)功能模塊根據(jù)前面對系統(tǒng)的分析,系統(tǒng)設(shè)計可分為8個主要的功能模塊,因此,可以定義8個空函數(shù):錄入數(shù)據(jù)函數(shù)fnInputData、數(shù)據(jù)查詢函數(shù)fnSearch、數(shù)據(jù)刪除函數(shù)fnDel、數(shù)據(jù)修改函數(shù)fnMod、數(shù)據(jù)插入函數(shù)fnInsert、數(shù)據(jù)排序函數(shù)fnSort、數(shù)據(jù)統(tǒng)計函數(shù)fnTotal、數(shù)據(jù)瀏覽函數(shù)fnShow()。參考代碼如下:voidfnInputData() /*自定義數(shù)據(jù)錄入函數(shù)*/{ printf("\n\n\t您已進(jìn)入錄入數(shù)據(jù)模塊,抱歉!開發(fā)中……");}voidfnShow() /*自定義數(shù)據(jù)瀏覽函數(shù)*/{ printf("\n\n\t您已進(jìn)入數(shù)據(jù)瀏覽模塊,抱歉!開發(fā)中……");voidfnSort() /*自定義成績排序函數(shù)*/{ printf("\n\n\t您已進(jìn)入成績排序模塊,抱歉!開發(fā)中……");}voidfnDel() /*自定義數(shù)據(jù)刪除函數(shù)*/{voidfnSearch() /*自定義數(shù)據(jù)查詢函數(shù)*/{ printf("\n\n\t您已進(jìn)入數(shù)據(jù)查詢模塊,抱歉!開發(fā)中……");}voidfnMod() /*自定義數(shù)據(jù)修改函數(shù)*/{ printf("\n\n\t您已進(jìn)入數(shù)據(jù)修改模塊,抱歉!開發(fā)中……");}voidfnInsert() /*自定義數(shù)據(jù)插入函數(shù)*/{ printf("\n\n\t您已進(jìn)入數(shù)據(jù)插入模塊,抱歉!開發(fā)中……");}voidfnTotal() /*自定義數(shù)據(jù)統(tǒng)計函數(shù)*/{ printf("\n\n\t您已進(jìn)入數(shù)據(jù)統(tǒng)計模塊,抱歉!開發(fā)中……");}3主函數(shù)main()主函數(shù)是程序的入口,程序從主函數(shù)開始執(zhí)行,通過調(diào)用顯示菜單函數(shù)將菜單顯示在屏幕上,當(dāng)用戶選擇特定功能時,通過調(diào)用相應(yīng)的函數(shù)實現(xiàn)用戶所選擇的功能。參考代碼如下:/*頭文件*/#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>/*函數(shù)聲明*/voidfnShowMenu(); //顯示主菜單voidfnInsert(); //插入學(xué)生信息voidfnTotal(); //計算總?cè)藬?shù)voidfnSearch(); //查找學(xué)生信息voidfnInputData(); //錄入學(xué)生成績信息voidfnShow(); //顯示學(xué)生信息voidfnSort(); //按總分排序voidfnDel(); //刪除學(xué)生成績信息voidfnMod(); //修改學(xué)生成績信息voidmain() //主函數(shù){intn=1;do { fnShowMenu();//顯示菜單界面 scanf("%d",&n); //輸入選擇的功能編號 switch(n) { case1:fnInputData();break; case2:fnSearch();break; case3:fnMod();br

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論