C語(yǔ)言程序設(shè)計(jì)譚浩強(qiáng)版_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)譚浩強(qiáng)版_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)譚浩強(qiáng)版_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)譚浩強(qiáng)版_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)譚浩強(qiáng)版_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(shè)計(jì)教案單 位: 湖南理工職業(yè)技術(shù)學(xué)院 學(xué)院(教研室): 風(fēng)能工程學(xué)院 工業(yè)機(jī)器人專業(yè) 授課教師: 周常欣 職 稱: 助教 課程名稱C語(yǔ)言程序設(shè)計(jì)教材C語(yǔ)言程序設(shè)計(jì)(第四版) 作者:譚浩強(qiáng) 清華大學(xué)出版社考核方式考查課程。 總成績(jī):課堂參與占10%;試驗(yàn)報(bào)告占20%;期末考試占70%(閉卷考試:程序編寫題目)。教學(xué)基本目的和要求 C語(yǔ)言是近年來(lái)國(guó)內(nèi)外得到迅速推廣使用的一種計(jì)算機(jī)語(yǔ)言。C語(yǔ)言程序設(shè)計(jì)課程是計(jì)算機(jī)專業(yè)和信息管理專業(yè)的核心專業(yè)基礎(chǔ)課,它功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具有低級(jí)語(yǔ)言的優(yōu)點(diǎn)。既適用于應(yīng)用軟件編寫,

2、又適用于系統(tǒng)軟件的編寫。在現(xiàn)代的工業(yè)機(jī)器人的眾多語(yǔ)言中,大多編程風(fēng)格以C語(yǔ)言非常類似,學(xué)生學(xué)好C語(yǔ)言,對(duì)將來(lái)的工作中,從事工業(yè)機(jī)器人現(xiàn)場(chǎng)編程是非常有幫助的。課程的性質(zhì)和任務(wù) 語(yǔ)言程序設(shè)計(jì)這門課是我校工業(yè)機(jī)器人、分布式發(fā)電與微電網(wǎng)專業(yè)的專業(yè)必修課。作為計(jì)算機(jī)系的數(shù)據(jù)結(jié)構(gòu)、c+、單片機(jī)編程等課程的前導(dǎo)課程,也是一門實(shí)踐性很強(qiáng)的課程,既要掌握概念,又要?jiǎng)邮志幊?,還要上機(jī)調(diào)試運(yùn)行。對(duì)工業(yè)機(jī)器人專業(yè)來(lái)說(shuō)是一門必修的課程。同時(shí),這門課程也是“湖南省非計(jì)算機(jī)專業(yè)學(xué)生計(jì)算機(jī)應(yīng)用能力水平考試”二級(jí)考試的主要語(yǔ)種之一。課程的教學(xué)目標(biāo) 本課程的教學(xué)目標(biāo)是:通過(guò)理論和實(shí)踐教學(xué),使學(xué)生較好地掌握C語(yǔ)言各方面的知識(shí),掌握

3、基本的程序設(shè)計(jì)過(guò)程和技巧,具備初步的高級(jí)語(yǔ)言程序設(shè)計(jì)能力,并能熟練應(yīng)用VC+6.0集成環(huán)境進(jìn)行C語(yǔ)言的編寫、編譯與調(diào)試,能應(yīng)用C語(yǔ)言解決一般編程問題的水平。 教學(xué)重點(diǎn)和難點(diǎn)一、程序設(shè)計(jì)和C語(yǔ)言重點(diǎn):計(jì)算機(jī)程序、計(jì)算機(jī)語(yǔ)言、C語(yǔ)言編譯軟件的安裝、最簡(jiǎn)單的C語(yǔ)言程序二、算法:程序的靈魂      重點(diǎn):簡(jiǎn)單的算法舉例、算法的特性、用流程圖表示算法。三、順序結(jié)構(gòu)程序設(shè)計(jì)      重點(diǎn): C語(yǔ)言的數(shù)據(jù)類型、C語(yǔ)句的種類、賦值語(yǔ)句、數(shù)據(jù)的輸入輸出及輸入輸出中最常用的控制格式。四、選擇結(jié)構(gòu)程序設(shè)

4、計(jì)      重點(diǎn):關(guān)系運(yùn)算符與邏輯運(yùn)算符及其組成的具有邏輯值的表達(dá)式、二條分支語(yǔ)句的格式及基本應(yīng)用、多分支的選擇語(yǔ)句。五、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)       重點(diǎn):C構(gòu)成循環(huán)的四種方法,尤其是后三種方法、break與continue語(yǔ)句的基本作用。難點(diǎn):while語(yǔ)句;do-while語(yǔ)句;for語(yǔ)句;循環(huán)的嵌套;break與continue語(yǔ)句。六、數(shù)組重點(diǎn):一維數(shù)組、二維數(shù)組的定義與引用;字符數(shù)組的定義與引用、常用字符串處理函數(shù)及字符處理函數(shù);數(shù)組的應(yīng)用難點(diǎn):二維數(shù)組的定義與引用;字符

5、數(shù)組;數(shù)組的應(yīng)用七、函數(shù)    重點(diǎn):函數(shù)的定義;函數(shù)的參數(shù)和函數(shù)的值;函數(shù)的調(diào)用;函數(shù)的嵌套調(diào)用;函數(shù)的遞歸調(diào)用;數(shù)組作為函數(shù)參數(shù);變量作用域;量存儲(chǔ)類別; 難點(diǎn):函數(shù)定義、函數(shù)調(diào)用、函數(shù)聲明等基本基本概念;函數(shù)的嵌套調(diào)用與遞歸調(diào)用; 數(shù)組作為函數(shù)的參數(shù)、變量的存儲(chǔ)類別與作用域。八、指針重點(diǎn)和難點(diǎn):指針與地址的基本概念、指針與變量的關(guān)系;指針與數(shù)組;指針與字符串、指針數(shù)組與二級(jí)指針;指針的應(yīng)用九、建立自己的數(shù)據(jù)類型  重點(diǎn)和難點(diǎn):定義和使用結(jié)構(gòu)體變量、用指針處理鏈表、共用體類型十、文件   重點(diǎn):文件的基本知識(shí)、fopen、fclo

6、se函數(shù)打開與關(guān)閉文件、順序讀寫數(shù)據(jù)文件、隨機(jī)讀寫數(shù)據(jù)文件 難點(diǎn):用二進(jìn)制方式向文件讀寫一組數(shù)據(jù)。十一、常見錯(cuò)誤分析    重點(diǎn)和難點(diǎn):文件的基本概念;文件的打開、關(guān)閉、常用讀寫方法。 十二、數(shù)組高級(jí)應(yīng)用重點(diǎn):不定長(zhǎng)數(shù)組與二維數(shù)組的應(yīng)用難點(diǎn):不定長(zhǎng)數(shù)組與二維數(shù)組的應(yīng)用十三、綜合應(yīng)用重點(diǎn):數(shù)組、if語(yǔ)句、 循環(huán)語(yǔ)句、函數(shù)知識(shí)的綜合應(yīng)用難點(diǎn):二維數(shù)組、指針教材、參考書教材:C程序設(shè)計(jì)(第四版) 譚浩強(qiáng)著 清華大學(xué)出版社 2010年6月參考書:C程序設(shè)計(jì)語(yǔ)言Kernighan&Ritchie 機(jī)械工業(yè)出版社C語(yǔ)言程序設(shè)計(jì)教案第 1-2課時(shí) 授

7、課內(nèi)容第1章 C語(yǔ)言概述教學(xué)目的和要求了解C歷史,名稱來(lái)源、C特點(diǎn),掌握C程序基本結(jié)構(gòu);C語(yǔ)言的版本、C語(yǔ)言的關(guān)鍵字;重點(diǎn)難點(diǎn)C語(yǔ)言的關(guān)鍵字;教學(xué)安排引言語(yǔ)言:人人語(yǔ)言交流;聾啞人手勢(shì)語(yǔ);人機(jī)計(jì)算機(jī)語(yǔ)言C語(yǔ)言是一種流行的計(jì)算機(jī)高級(jí)語(yǔ)言,C語(yǔ)言適合于編寫系統(tǒng)軟件,也可以編寫應(yīng)用程序。講授一、語(yǔ)言出現(xiàn)的歷史背景(1)C語(yǔ)言的發(fā)展源于人們希望用高級(jí)語(yǔ)言編寫操作系統(tǒng)。(C-BCPL第二字母)ALGOL60(高級(jí)語(yǔ)言)->CPL(硬件支持)- BCPC->B->C->標(biāo)準(zhǔn)C-> ANSI C -> ISO C(2) 語(yǔ)言既具有高級(jí)語(yǔ)言特性,又具有低級(jí)語(yǔ)言特性-中級(jí)語(yǔ)言

8、。二、C語(yǔ)言的特點(diǎn)C語(yǔ)言既具有一般高級(jí)語(yǔ)言特性,又具有低級(jí)語(yǔ)言特性。8個(gè)特點(diǎn)。1、C語(yǔ)言簡(jiǎn)潔、緊湊。2、運(yùn)算符豐富。3、數(shù)據(jù)結(jié)構(gòu)類型豐富。4、具有結(jié)構(gòu)化的控制語(yǔ)句。5、語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。6、C語(yǔ)言允許直接訪問物理地址,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作。7、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。8、與匯編語(yǔ)言相比,用C語(yǔ)言寫的程序可移植性好。三、C語(yǔ)言的關(guān)鍵字附錄C(書本378頁(yè))四、C語(yǔ)言的版本和關(guān)鍵字auto、inline、restrict、_bool、_Complex、_Imaginary是后來(lái)擴(kuò)充的,有些編譯器也擴(kuò)充了關(guān)鍵詞。五、Turbo C編譯器的安

9、裝與使用課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第 3-4 課時(shí) 授課內(nèi)容第1章 VC+6.0、VS2015的安裝和使用教學(xué)目的和要求了解C語(yǔ)言常用的編譯器;掌握VC+6.0、VS2015的下載與安裝;掌握VC+6.0、VS2015的使用重點(diǎn)難點(diǎn)重點(diǎn):VC+6.0、VS2015的使用難點(diǎn):VC+6.0、VS2015的使用教學(xué)安排講授一、C語(yǔ)言常用的編譯器(1)32位的WINDOWS操作系統(tǒng)與64位的WINDOWS操作系統(tǒng)(2)VC+6.0 (2)VS2015二、文件夾與壓縮包1、文件夾2、文件的壓縮與解壓3、軟件的下載4、軟件安裝的一般流程5、產(chǎn)品id號(hào)、序列號(hào)與破解補(bǔ)丁三、VC+6.0、VS2

10、015的下載與安裝7、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。8、與匯編語(yǔ)言相比,用C語(yǔ)言寫的程序可移植性好。四、VC+6.0、VS2015的使用VC+6.0、VS2015的使用五、c4droid編譯器的使用1、基于安卓手機(jī)操作系統(tǒng)的C語(yǔ)言編譯器2、c4droid編譯器的安裝3、c4droid編譯器的使用六、上機(jī)演示及實(shí)踐操作在win7電腦上示范VC+6.0、VS2015的編譯器的安裝和使用課后自我總結(jié)分析同學(xué)們對(duì)計(jì)算機(jī)基礎(chǔ)知識(shí)比較缺乏,安裝VC+6.0時(shí),不知道如何解壓,也不知道如何下載和計(jì)算機(jī)操作系統(tǒng)版本匹配的VC+6.0或VS2015備注C語(yǔ)言程序設(shè)計(jì)教案第 5-6 課時(shí) 授課內(nèi)容第2章 算

11、法的基本概念和簡(jiǎn)單算法舉例教學(xué)目的和要求了解算法的基本概念、程序設(shè)計(jì)的一般流程、掌握書寫簡(jiǎn)單的算法流程、了解算法的特性重點(diǎn)難點(diǎn)掌握書寫簡(jiǎn)單的算法流程。教學(xué)安排引言(5分鐘)什么是算法?菜譜、拳譜、歌譜都是廣義的算法。以湘潭去北京開會(huì)為例解釋算法的優(yōu)劣。1+2+3+100的常規(guī)算法和高斯的首尾相加快遞算法講授一、簡(jiǎn)單算法舉例(37分鐘)(1)求5!(10分鐘)常規(guī)求解方式的煩瑣引出用循環(huán)方式求解的方法。分析用循環(huán)方式求5!的C語(yǔ)言代碼(2)求1×3×4×5×7×9×11(10分鐘)詢問同學(xué)此題與5!的異同,引每項(xiàng)是2n-1的通項(xiàng),在上題

12、的基礎(chǔ)上改動(dòng)少量代碼可實(shí)現(xiàn)本題的C語(yǔ)言編程。(3)求2000-2500年間的閏年(10分鐘)圖示方式給學(xué)生解說(shuō)閏年要滿足的條件,引出要做多次判斷的較復(fù)雜流程提問:能被4整除,也能被100整除,是不是等同能被400整除這一認(rèn)識(shí)誤區(qū)再次提問:2000年是不是閏年,為什么?2060年是不是閏年,為什么?檢測(cè)學(xué)生是否了解閏年判斷流程。(4)素?cái)?shù)的求法(7分鐘)根據(jù)素?cái)?shù)的定義來(lái)循環(huán)判斷是否能被一系列數(shù)整除,最后判斷是不是素?cái)?shù),請(qǐng)學(xué)生嘗試寫出求解流程。二、算法的特性(3分鐘)1、有窮性。2、確定性。3、0個(gè)或多少輸入。4、1個(gè)或多個(gè)輸出。5、有效性。三、上機(jī)演示及實(shí)踐操作在講課的同時(shí)切換軟件界面調(diào)試代碼課

13、后自我總結(jié)分析通過(guò)提問可以了解同學(xué)們對(duì)知識(shí)的掌握程序,互動(dòng)性的教學(xué)設(shè)計(jì)更有益于教學(xué)備注C語(yǔ)言程序設(shè)計(jì)教案第 7-8 課時(shí) 授課內(nèi)容第2章 算法的表示教學(xué)目的和要求掌握用流程圖表示算法;了解傳統(tǒng)流程圖的弊端;掌握N-S流程圖表示方法。重點(diǎn)難點(diǎn)重點(diǎn):掌握用流程圖表示算法;掌握N-S流程圖表示方法難點(diǎn):掌握用流程圖表示算法;掌握N-S流程圖表示方法教學(xué)安排講授一、用流程圖表示算法(15分鐘)1、介紹流程圖的圖框及含義起止框、輸入輸出框、判斷框、處理框、流程線、連接點(diǎn)、注釋框2、示范用流程圖表示兩個(gè)分支的if語(yǔ)句3、將例2.1的算法用流程圖表示并分析4、將例2.2的算法用流程圖表示并分析5、將例2.3

14、的算法用流程圖表示并分析總結(jié):流程圖表示算法比較直觀2、將例2.4多項(xiàng)式求和用流程圖表示(1)、書本求解本題算法的流程圖表示(2)、其它算法的流程圖表示二、三種基本結(jié)構(gòu)和改進(jìn)的流程圖 (15分鐘)1、統(tǒng)流程圖的弊端2、三種基本結(jié)構(gòu)(1)順序(2)選擇(3)循環(huán) 分當(dāng)型和直到型兩種二、用NS流程圖表示算法(15分鐘)1、N-S流程圖的符號(hào)2、將例2.1的算法用N-S流程圖表示并分析3、將例2.2的算法用N-S流程圖表示并分析4、將例2.3的算法用N-S流程圖表示并分析三、實(shí)踐環(huán)節(jié)對(duì)“分時(shí)問候”的算法繪制N-S流程圖課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第 9-10課時(shí) 授課內(nèi)容第3章 最簡(jiǎn)單的C

15、程序設(shè)計(jì)順序程序設(shè)計(jì)教學(xué)目的和要求舉例說(shuō)明順序程序調(diào)序的基本流程、整型數(shù)據(jù)類型、整型數(shù)據(jù)的溢出。重點(diǎn)難點(diǎn)重點(diǎn):整型數(shù)據(jù)類型;整型數(shù)據(jù)的溢出難點(diǎn):整型數(shù)據(jù)類型;整型數(shù)據(jù)的溢出教學(xué)安排講授一、順序程序設(shè)計(jì)舉例 (10分鐘)1、繪制例3.1算法的N-S流程圖2、根據(jù)N-S流程圖編寫代碼并調(diào)試二、常量與變量 (15分鐘)1、常量概念。 (1)整型常量、整型常量、字符常量、字符串常量(2)ASCII字符(3)轉(zhuǎn)義字符2、變量概念、變量名(1)先定義,后使用(2)變量名與變量值概念的異同三、數(shù)據(jù)類型概述 (5分鐘)1、不同類型的數(shù)據(jù)在內(nèi)存中占用的存儲(chǔ)單位長(zhǎng)度是不同的VC+6.0為字符型數(shù)據(jù)分配一個(gè)字節(jié)長(zhǎng)度

16、;為int型(基本型)分配4個(gè)字節(jié)的長(zhǎng)度。2、存儲(chǔ)不同數(shù)據(jù)類型的方法也是不同的。四、整型數(shù)據(jù) (15分鐘)1、整型數(shù)據(jù)的分類:(1)基本整型(int 型) (2)短整型(short int); (3)長(zhǎng)整型(long int)2、整型變量的符號(hào)屬性 (1)有符號(hào)型和無(wú)符號(hào)型 (2)整型數(shù)據(jù)常見的存儲(chǔ)空間和值的范圍3、整型數(shù)據(jù)的溢出五、上機(jī)演示及實(shí)踐操作在講課的同時(shí)切換編譯界面調(diào)試整型數(shù)據(jù)溢出課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第11-12 課時(shí) 授課內(nèi)容第3章 最簡(jiǎn)單的C程序設(shè)計(jì)順序程序設(shè)計(jì)教學(xué)目的和要求舉例說(shuō)明順序程序調(diào)序的基本流程、數(shù)據(jù)的表現(xiàn)形式及運(yùn)算、不同數(shù)據(jù)類型的混合運(yùn)算。重點(diǎn)難點(diǎn)整

17、型數(shù)據(jù)類型long int和short int數(shù)據(jù)類型、運(yùn)算符的優(yōu)級(jí)先級(jí)、不同數(shù)據(jù)類型的混合運(yùn)算教學(xué)安排講授一、浮點(diǎn)型數(shù)據(jù)1、浮點(diǎn)型數(shù)據(jù)的存儲(chǔ)方式2、浮點(diǎn)型數(shù)據(jù)的表現(xiàn)形式 浮點(diǎn)數(shù)據(jù)的指數(shù)形式3、浮點(diǎn)型數(shù)據(jù)的類型(1)單精度 (2)雙精度 (3)長(zhǎng)雙精度二、字符型數(shù)據(jù)1、 字符常量表示。直接表示/轉(zhuǎn)義表示(特殊的轉(zhuǎn)義字符,一般字符也可以轉(zhuǎn)義表示)。特殊轉(zhuǎn)義字符對(duì)顯示/打印的控制作用2、 字符變量1個(gè)字節(jié),char關(guān)鍵詞。3、 字符數(shù)據(jù)的存儲(chǔ)ASCII碼/二進(jìn)制存儲(chǔ)C語(yǔ)言可以將字符看做很短的整數(shù)處理。例2-7A,例2-8A可以看出字符數(shù)據(jù)的具有整數(shù)特性。三、怎樣確定常量的類型1、從常量的表示形式,

18、如精度2、只要看到單撇號(hào)括起來(lái)的單個(gè)字符或轉(zhuǎn)義字符即字符常量四、運(yùn)算符與表達(dá)式1、基本的算術(shù)運(yùn)算符 2、自增、自減運(yùn)算符3、算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性五、數(shù)值型數(shù)據(jù)混合運(yùn)算1、自動(dòng)隱式轉(zhuǎn)換。2、強(qiáng)制類型轉(zhuǎn)換。六、C語(yǔ)句 1、控制語(yǔ)句 2、函數(shù)調(diào)用語(yǔ)句 3、表達(dá)式語(yǔ)句4、空語(yǔ)句 5、復(fù)合語(yǔ)句七、上機(jī)演示及實(shí)踐操作在講課的同時(shí)切換編譯界面調(diào)試整型數(shù)據(jù)溢出課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第 13-14 課時(shí) 授課內(nèi)容第4章(1) 選擇結(jié)構(gòu)程序設(shè)計(jì)教學(xué)目的和要求理解條件-產(chǎn)生邏輯值的表達(dá)式; 熟練繪制選擇語(yǔ)句算術(shù)的流程圖掌握關(guān)系運(yùn)算符、關(guān)系表達(dá)式;邏輯運(yùn)算符、邏輯表達(dá)式重點(diǎn)難點(diǎn)重點(diǎn):關(guān)系

19、運(yùn)算符、關(guān)系表達(dá)式;邏輯運(yùn)算符、關(guān)系表達(dá)式難點(diǎn):熟練繪制選擇語(yǔ)句算術(shù)的流程圖教學(xué)安排講授一、選擇結(jié)構(gòu)的條件判斷1、理解條件-產(chǎn)生邏輯值的表達(dá)式2、選擇結(jié)構(gòu)的流程圖繪制3、二元二次方程求根的算法及程序編寫二、關(guān)系運(yùn)算符與關(guān)系表達(dá)式“關(guān)系運(yùn)算”(比較運(yùn)算)即,將兩個(gè)值進(jìn)行比較,判斷是否符合或滿足給定的條件。1、 關(guān)系運(yùn)算符及其優(yōu)先次序a) C語(yǔ)言提供6種關(guān)系運(yùn)算符。表5-1。b) 關(guān)于優(yōu)先次序:前4種高于后兩種;關(guān)系低于算術(shù);關(guān)系高于賦值例5-2。2、 關(guān)系表達(dá)式關(guān)系表達(dá)式的值是邏輯值,即“真”“假”。C語(yǔ)言沒有邏輯型數(shù)據(jù),1“真”,0“假”。例5-3。三、邏輯運(yùn)算符和邏輯表達(dá)式“關(guān)系運(yùn)算”(比較

20、運(yùn)算)即,兩個(gè)邏輯值的運(yùn)算。1、 邏輯運(yùn)算符。(1)&& 邏輯與,(2)| 邏輯或,(3)! 邏輯非2、 邏輯運(yùn)算符的優(yōu)先順序: 3、 邏輯表達(dá)式四、條件運(yùn)算符與條件表達(dá)式1、單目運(yùn)算符、雙目運(yùn)算符、三目運(yùn)算符的概念2、C語(yǔ)言唯一的三目運(yùn)算符構(gòu)成的條件表達(dá)式 課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第15-16 課時(shí) 授課內(nèi)容第4章(2) 選擇結(jié)構(gòu)程序設(shè)計(jì)教學(xué)目的和要求選擇結(jié)構(gòu)的嵌套;switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)重點(diǎn)難點(diǎn)重點(diǎn):選擇結(jié)構(gòu)的嵌套;switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)難點(diǎn):選擇結(jié)構(gòu)的嵌套;switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)教學(xué)安排講授一、if語(yǔ)句的嵌套1、在if語(yǔ)句

21、中又包含一個(gè)或多個(gè)if語(yǔ)句稱為if語(yǔ)句的嵌套。2、如果if與else的數(shù)目不一致,為了體現(xiàn)程序設(shè)計(jì)者的思想,可加花括號(hào)來(lái)確定配對(duì)的關(guān)系。3、利用代碼縮進(jìn)增強(qiáng)代碼的可讀性,養(yǎng)成良好的編程風(fēng)格4、例4.5階躍函數(shù)用if語(yǔ)句的嵌套實(shí)現(xiàn)(1)繪制流程圖 (2)將流程圖編寫成程序二、用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)如果條件分支較多,利用if語(yǔ)句顯得程序冗長(zhǎng),且可讀性降低。因此,C語(yǔ)言設(shè)計(jì)了switch語(yǔ)句。1、switch語(yǔ)句的一般形式2、例4.6 輸出考試成績(jī)的ABCD段等級(jí)(1)繪制流程圖 (2)將流程圖編寫成程序3、例4.7 用switch語(yǔ)句處理菜單命令三、選擇結(jié)構(gòu)程序設(shè)計(jì)綜合舉例例4.8

22、判斷某一年是否是閏年例4.9 求二元二次方程的實(shí)根四、上機(jī)演示及實(shí)踐操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第 17-18 課時(shí) 授課內(nèi)容第5章(1) 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)教學(xué)目的和要求掌握while當(dāng)型循環(huán)、do while直到型循環(huán)、for循環(huán)重點(diǎn)難點(diǎn)while當(dāng)型循環(huán)、do while直到型循環(huán)、for循環(huán)的形式、執(zhí)行過(guò)程、使用注意問題教學(xué)安排引言重復(fù)執(zhí)行就是循環(huán)。重復(fù)工作是計(jì)算機(jī)特別擅長(zhǎng)工作之一。重復(fù)執(zhí)行不是簡(jiǎn)單地重復(fù),每次重復(fù),操作的數(shù)據(jù)(狀態(tài)、條件)都可能發(fā)生變化。重復(fù)的動(dòng)作是受控制的,C語(yǔ)言提供三種循環(huán)控制語(yǔ)句,構(gòu)成了三種基本的循環(huán)結(jié)構(gòu)。講授一、wh

23、ile語(yǔ)句(當(dāng)型循環(huán))1、while語(yǔ)句的一般形式是:2、執(zhí)行過(guò)程是:(流程圖、N-S圖)3、使用while注意的問題。例5-1:利用while語(yǔ)句,編寫程序計(jì)算1+2+3+100。二、do-while語(yǔ)句(直到型循環(huán))1、do-while語(yǔ)句的一般形式2、do-while執(zhí)行過(guò)程(流程圖)3、do-while說(shuō)明:例5-4:利用do-while語(yǔ)句計(jì)算機(jī)1+1/2+1/4+1/50。三、for語(yǔ)句(當(dāng)型循環(huán))1、 for語(yǔ)句的一般形式(給出while循環(huán)的對(duì)應(yīng)結(jié)構(gòu))2、 for循環(huán)執(zhí)行過(guò)程(流程圖)例5-6:寫一個(gè)程序,計(jì)算半徑為0.5,1.5,2.5,3.5,4.5,5.5mm時(shí)圓的半徑。

24、例5-7:求正整數(shù)n的階乘n!,其中n由用戶輸入。3、 for語(yǔ)句最容易理解、最常用的形式4、 for語(yǔ)句說(shuō)明(6點(diǎn))。C語(yǔ)言的for語(yǔ)句功能強(qiáng)大,使用靈活。四、上機(jī)演示及實(shí)踐操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第19-20 課時(shí) 授課內(nèi)容第5章(2) 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)教學(xué)目的和要求掌握條件運(yùn)算符、條件表達(dá)式掌握switch-case語(yǔ)句重點(diǎn)難點(diǎn)switch-case語(yǔ)句教學(xué)安排引言a) 復(fù)習(xí)關(guān)系運(yùn)算、邏輯運(yùn)算、if語(yǔ)句b) 引入簡(jiǎn)單的條件運(yùn)算符及表達(dá)式、以及開關(guān)語(yǔ)句講授一、條件運(yùn)算符、條件表達(dá)式在if語(yǔ)句中,在表達(dá)式為“真”和“假”時(shí),都只執(zhí)行一個(gè)賦值語(yǔ)

25、句給同一個(gè)變量賦值時(shí),可以使用簡(jiǎn)單的條件運(yùn)算符來(lái)處理。例如:if(a>b)max=a;else max=b; <=> max=a>b?a:b;(1) 條件表達(dá)式的一般形式:表達(dá)式1?表達(dá)式2:表達(dá)式3(2) 條件表達(dá)式說(shuō)明(5點(diǎn))例5-4.二、switch-case語(yǔ)句(多分支選擇語(yǔ)句/開關(guān)語(yǔ)句)3、 switch一般形式4、 switch語(yǔ)句說(shuō)明。(1)-(7)三、分支程序例子例5.5 寫程序,判斷某一年是否是閏年。例5.6 求一元二次方程ax2+bx+c=0的根。例5.7 運(yùn)輸公司對(duì)用戶計(jì)算運(yùn)費(fèi)。六、應(yīng)用舉例例6-14:從鍵盤輸入一個(gè)大于2的整數(shù)n,判斷是不是素?cái)?shù)。

26、例6-15:求100-200之間的所有素?cái)?shù)。例6-16:輸出下三角99乘法表七、上機(jī)演示及學(xué)生操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第21-22課時(shí) 授課內(nèi)容第6章(1) 一維組的應(yīng)用教學(xué)目的和要求數(shù)組的基本概念;一維數(shù)組定義、初始化、引用;最大值、冒泡排序、選擇排序算法。重點(diǎn)難點(diǎn)重點(diǎn):一維數(shù)組定義、初始化、引用;求最大值、冒泡排序、選擇排序算法;矩陣操作難點(diǎn):冒泡排序、選擇排序算法教學(xué)安排引言基本數(shù)據(jù)類型構(gòu)造類型的數(shù)據(jù)數(shù)組數(shù)組、數(shù)組元素、數(shù)組的下標(biāo)、數(shù)組的維數(shù)例如:int a10; 一維數(shù)組可以看作一個(gè)數(shù)列,向量。例如:float b33; 二維數(shù)組可以看

27、作一個(gè)矩陣。講授一、定義和引用一維數(shù)組1、一維數(shù)組的定義 類型說(shuō)明 數(shù)組名整型常量表達(dá)式2、一維數(shù)組定義說(shuō)明 下標(biāo)從0開始3、數(shù)組元素的引用例6.1 利用數(shù)組輸出1-10(1)循環(huán)語(yǔ)句 (2) 數(shù)組下標(biāo)越界4、一維數(shù)組的初始化的幾種形式(1)定義時(shí)賦初值 (2)部分賦初值(3)數(shù)組元素全部置0 (4)數(shù)組元素如全部賦值可不指定長(zhǎng)度5、給數(shù)組元素賦初值和給數(shù)組集合賦初值的異同(1) 給數(shù)組元素賦初值 int temp1=9;(2) 給數(shù)組集合賦初值 int temp10=(1,2,3);二、一維數(shù)組的應(yīng)用例子例6-2:用數(shù)組來(lái)處理斐波那契數(shù)列例6-3:采用“冒泡法”對(duì)任意輸入的10個(gè)整數(shù)按由小到

28、大的順序排序。例6-4:采用“選擇法” 對(duì)任意輸入的10個(gè)整數(shù)按由大到小的順序排序。三、動(dòng)態(tài)內(nèi)存分配法實(shí)現(xiàn)不定長(zhǎng)一維數(shù)組某些情境需要定義一個(gè)數(shù)組,但數(shù)組的長(zhǎng)度不定,因?yàn)檫@個(gè)長(zhǎng)度是根據(jù)某些其他條件確定的,這時(shí)我們需要定義一個(gè)長(zhǎng)度不定的數(shù)組。如讀取不同聲音的語(yǔ)音數(shù)據(jù)序列。課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第23-24 課時(shí) 授課內(nèi)容第6章(2) 二維數(shù)組和多維數(shù)組的應(yīng)用教學(xué)目的和要求二維數(shù)組定義、初始化、引用;多維數(shù)組重點(diǎn)難點(diǎn)重點(diǎn):二維數(shù)組定義、初始化、;雙重for循環(huán)讀取二維數(shù)組;二維數(shù)組1維和2維的分辨;難點(diǎn):雙重for循環(huán)讀取二維數(shù)組、二維數(shù)組1維和2維的分辨教學(xué)安排二、二維數(shù)組(注意:

29、類比一維數(shù)組)1、二維數(shù)組的應(yīng)用場(chǎng)景2、二維數(shù)組的定義3、二維數(shù)組元素的內(nèi)存分布二、二維數(shù)組元素的引用例6-5:二維數(shù)組元素的引用的例子(自學(xué))-構(gòu)造、打印單位矩陣。思考:下標(biāo)是從1開始使用的,哪些元素在此例子中未使用?它們的值是多少?(隨機(jī)值)三、二維數(shù)組的初始化的幾種形式(1)分行給二維數(shù)組賦值(2)將所有數(shù)組寫在一個(gè)花括號(hào)內(nèi)(3)對(duì)部分元素賦值(4)對(duì)全部元素賦初值,二維數(shù)組的1維長(zhǎng)度可以省略,2維長(zhǎng)度不能省略四、雙重for循環(huán)法讀取二維數(shù)組比較抽象,圖解較直觀五、二維數(shù)組應(yīng)用舉例例6-4:將二維數(shù)組的行和列互換,存到另一個(gè)數(shù)組里。例6-5:找出矩陣所有元素中的最大值。例6-附加 分別計(jì)

30、算矩陣的兩條對(duì)角線(主、輔對(duì)角線)上的元素之和。六、多維數(shù)組的應(yīng)用1、多維數(shù)組的定義2、多維數(shù)組元素的引用3、多維數(shù)組的初始化七、不定長(zhǎng)二維數(shù)組的實(shí)現(xiàn)某些情境需要定義一個(gè)二維數(shù)組,但二維數(shù)組的長(zhǎng)度不定,因?yàn)檫@個(gè)長(zhǎng)度是根據(jù)某些其他條件確定的,這時(shí)我們需要定義一個(gè)長(zhǎng)度不定的二維數(shù)組。如讀取不同尺寸圖像點(diǎn)的像素值。八、上機(jī)演示及學(xué)生操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第25-26 課時(shí) 授課內(nèi)容第6章(3) 字符數(shù)組教學(xué)目的和要求字符數(shù)組定義、初始化、引用;字符串與字符數(shù)組;字符串處理函數(shù);字符數(shù)組應(yīng)用重點(diǎn)難點(diǎn)重點(diǎn):字符串與字符數(shù)組;字符串處理函數(shù)難點(diǎn):字符串與

31、字符數(shù)組;字符串處理函數(shù)教學(xué)安排引言復(fù)習(xí)數(shù)組概念,數(shù)組定義、初始化、元素引用方法。引入字符數(shù)組(元素為字符)。講授一、字符數(shù)組1、字符數(shù)組的定義2、字符數(shù)組的初始化3、字符數(shù)組的引用4、二維字符數(shù)組的應(yīng)用舉例二、字符和字符串結(jié)束標(biāo)志1、字符串與字符數(shù)組的區(qū)別 2、字符串結(jié)束標(biāo)記志系統(tǒng)對(duì)字符串常量也自動(dòng)加一個(gè)'0'作為結(jié)束符。例如"C Program”共有9個(gè)字符,但在內(nèi)存中占10個(gè)字節(jié),最后一個(gè)字節(jié)'0'是系統(tǒng)自動(dòng)加上的。(通過(guò)sizeof()函數(shù)可驗(yàn)證)三、字符數(shù)組的輸入和輸出(1)逐個(gè)字符輸入輸出(2)將整個(gè)字符串輸出(3)利用字符串的結(jié)束符批量輸

32、出四、字符串概述1、字符串的輸出(1)“%s”格式符(2)print語(yǔ)句的輸出項(xiàng)參數(shù)用字符數(shù)組名,而非數(shù)組元素名2、字符串的引用五、由字符數(shù)組來(lái)構(gòu)造字符串根據(jù)定義,可由字符數(shù)組添加一個(gè)'0'符形成字符串。六、二維字符數(shù)組1、二維字符數(shù)組的定義2、二維字符數(shù)組的初始化3、二維字符數(shù)組的引用課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第27-28 課時(shí) 授課內(nèi)容第6章(4) 字符串函數(shù)的應(yīng)用教學(xué)目的和要求字符數(shù)組定義、初始化、引用;字符串與字符數(shù)組;字符串處理函數(shù);字符數(shù)組應(yīng)用重點(diǎn)難點(diǎn)重點(diǎn):字符串與字符數(shù)組;字符串處理函數(shù)難點(diǎn):字符串與字符數(shù)組;字符串處理函數(shù)教學(xué)安排講授一、使用字符串處

33、理函數(shù)1、puts函數(shù)2、gets函數(shù)3、strcat函數(shù):字符串截取函數(shù)4、strcopy和strncopy函數(shù):字符串復(fù)制函數(shù)5、strcmp函數(shù):字符串比較函數(shù)6、strlen測(cè)試字符串長(zhǎng)度函數(shù)7、strlwr函數(shù):轉(zhuǎn)換為小寫的函數(shù)8、strupr函數(shù):轉(zhuǎn)換為大寫的函數(shù)二、字符數(shù)組應(yīng)用舉例例6.8:由鍵盤任意輸入一個(gè)字符串和一個(gè)字符,要求從該字符串中刪除所指定的字符。例6.9:由鍵盤輸入三個(gè)字符串,找出其中的最大串。(字符串庫(kù)函數(shù)的應(yīng)用)三、學(xué)會(huì)閱讀C標(biāo)準(zhǔn)函數(shù)手冊(cè)附錄F C庫(kù)函數(shù)1、引用預(yù)編譯頭文件 include(包含頭文件)2、學(xué)會(huì)閱讀函數(shù)庫(kù)函數(shù)的函數(shù)類型和參數(shù)四、字符數(shù)組函數(shù)的綜合

34、練習(xí)1、打印楊輝三角形2、有一個(gè)已排好序的數(shù)組,要求輸入一個(gè)數(shù)后,按原來(lái)排序的規(guī)律將它插入數(shù)組中。3、魔方陣,要求輸出1n24、找出二維數(shù)組的鞍點(diǎn),即該位置上的元素在該行上最在、在該列上最小,也可能沒有鞍點(diǎn)。5、編一程序,將兩個(gè)字符串連接起來(lái),不要用strcat函數(shù)。四、上機(jī)演示及學(xué)實(shí)踐操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第29-30 課時(shí) 授課內(nèi)容第7章(1) 函數(shù)及函數(shù)的調(diào)用教學(xué)目的和要求掌握函數(shù)定義、調(diào)用、聲明;函數(shù)參數(shù)傳遞方式;了解函數(shù)遞歸調(diào)用重點(diǎn)難點(diǎn)重點(diǎn): 函數(shù)定義、調(diào)用、聲明; 函數(shù)參數(shù)傳遞方式難點(diǎn):函數(shù)參數(shù)傳遞方式傳址(尚未學(xué)習(xí)指針,用數(shù)組舉

35、例)教學(xué)安排講授一、函數(shù)概述1、C語(yǔ)言的函數(shù)。C語(yǔ)言的函數(shù)是子程序的總稱,包括函數(shù)和過(guò)程。C語(yǔ)言函數(shù)可以分為庫(kù)函數(shù)、用戶自定義函數(shù)2、C語(yǔ)言的程序由函數(shù)組成,函數(shù)是C語(yǔ)言程序的基本單位,程序的總體功能通過(guò)函數(shù)的調(diào)用來(lái)實(shí)現(xiàn)。其中,main起點(diǎn)(圖)3、函數(shù)的一些概念:主函數(shù)、其它函數(shù);主調(diào)函數(shù)、被調(diào)函數(shù);庫(kù)函數(shù)、用戶自定義函數(shù);無(wú)參函數(shù)、有參函數(shù);無(wú)返回值函數(shù)、有返回值函數(shù)二、函數(shù)的一般形式函數(shù)應(yīng)當(dāng)先定義,后調(diào)用。函數(shù)定義的一般形式及說(shuō)明 (1)(2)例7-1:輸入三個(gè)整數(shù),求三個(gè)整數(shù)中的最大值,打印。思考問題。三、函數(shù)的參數(shù)和返回值1、 形式參數(shù) 2、實(shí)際參數(shù) 3、參數(shù)的傳遞。2、 函數(shù)返回值

36、。return語(yǔ)句及說(shuō)明。四、函數(shù)的調(diào)用1、 函數(shù)調(diào)用的一般形式及說(shuō)明(單獨(dú)語(yǔ)句/表達(dá)式中、參數(shù)相容)例7-3:以表達(dá)式的形式進(jìn)行函數(shù)的調(diào)用。(自學(xué))2、 函數(shù)調(diào)用時(shí)數(shù)據(jù)的傳遞-參數(shù)傳遞、函數(shù)的返回值、全局變量例7-4:求學(xué)生平均成績(jī)。P110.(注意參數(shù)傳遞的是數(shù)組的地址)3、 函數(shù)的聲明例7-5:函數(shù)聲明例子。P112.五、函數(shù)的嵌套調(diào)用和遞歸調(diào)用函數(shù)允許嵌套調(diào)用和遞歸調(diào)用。遞歸調(diào)用是嵌套調(diào)用的特例。(1)函數(shù)的嵌套調(diào)用例7-6:計(jì)算兩整數(shù)的最小公倍數(shù)。P113.(2)函數(shù)的遞歸調(diào)用例7-7:用遞歸法求n!(P.114)課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第31-32 課時(shí) 授課內(nèi)容第7

37、章(2) 函數(shù)變量的作用域和生命周期教學(xué)目的和要求掌握變量作用域、生命期掌握插入排序重點(diǎn)難點(diǎn)重點(diǎn):變量作用域、生命期;插入排序難點(diǎn):變量作用域、生命期;插入排序教學(xué)安排講授六、變量的作用域(有效范圍、可見性)變量的作用域:變量的有效范圍或者變量的可見性。變量定義的位置決定了變量的作用域。變量從作用域(變量的有效范圍,可見性)的角度可以分為:局部變量,全局變量。1、局部變量(函數(shù)體內(nèi)變量、形參變量、復(fù)合語(yǔ)句內(nèi)變量)互不干預(yù)、動(dòng)態(tài)分配例7-8:各函數(shù)局部變量同名的應(yīng)用示例。P116-117.2、全局變量(所有函數(shù)之外文件作用域、程序作用域)全局變量可以和局部變量同名坐井觀天例7-9:全局變量、局部

38、變量同名的應(yīng)用示例。P118。例7-10:全局變量、局部變量的應(yīng)用示例。P118。七、變量的存儲(chǔ)類別(生存期、生命期)變量從空間上分為局部變量、全局變量。從變量存在的時(shí)間的長(zhǎng)短(即變量生存期)來(lái)劃分,變量還可以分為:動(dòng)態(tài)存儲(chǔ)變量、靜態(tài)存儲(chǔ)變量。變量的存儲(chǔ)方式?jīng)Q定了變量的生存期。C語(yǔ)言變量的存儲(chǔ)方式可以分為:動(dòng)態(tài)存儲(chǔ)方式、靜態(tài)存儲(chǔ)方式。全局變量全部是靜態(tài)的;局部變量可以是靜態(tài),也可以是動(dòng)態(tài)(auto,register)。例7-11:寄存器局部變量的應(yīng)用.P120.(完成n+(n-1)+(n-2)+.+1)例7-12:靜態(tài)局部變量的應(yīng)用示例。P121.八、內(nèi)部函數(shù)和外部函數(shù)默認(rèn)是外部函數(shù)九、函數(shù)應(yīng)

39、用舉例例7-14:字符串逆序。P124.例7-15:求矩陣最大元素。P124-125.例7-16:利用插入法將10個(gè)字符從小到大進(jìn)行排序。P125-126.課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第33-34 課時(shí) 授課內(nèi)容第8章(1) 指針概述及指針作為函數(shù)參數(shù)教學(xué)目的和要求指針的基本概念,變量訪問方式;指針變量定義、賦值、引用。指針作為函數(shù)參數(shù)。重點(diǎn)難點(diǎn)重點(diǎn):指針的基本概念;指針變量定義、賦值、引用;指針作為函數(shù)參數(shù)難點(diǎn):指針的基本概念教學(xué)安排講授指針基礎(chǔ)一、指針變量的定義(變量先定義后使用)1、 定義格式:2、 說(shuō)明: (1)指針變量基類型-指針變量指向數(shù)據(jù)的類型(2)指針變量存放地址值,

40、本身占用空間2字節(jié)二、指針變量的賦值(使用未賦值指針等同于向一個(gè)隨機(jī)的內(nèi)存中寫入數(shù)據(jù))1、 將地址直接賦值給指針變量。例如,float *f=malloc(4);2、 將變量地址賦值給指針變量。例如:float a,*p;p=&a;三、指針變量的引用1、&運(yùn)算符(取地址運(yùn)算符) 2、*運(yùn)算符(指針運(yùn)算符、間接訪問運(yùn)算符)例9-1,P137.指針變量定義、賦值、引用例子。四、指針變量作為函數(shù)的參數(shù)變量可以作為函數(shù)參數(shù),指針變量同樣可以作為函數(shù)參數(shù)。使用指針作為函數(shù)參數(shù),可以在函數(shù)中對(duì)指針?biāo)赶蜃兞康闹颠M(jìn)行處理(修改)。指針作為函數(shù)參數(shù),本質(zhì)上同樣是單向傳值,但是由于傳遞的是地址值

41、,所以可以通過(guò)地址值間接修改形參、實(shí)參共同指向的變量。例9-2:輸入a,b兩個(gè)數(shù)交換后輸出。在swap函數(shù)中使用兩個(gè)指針作為函數(shù)參數(shù),對(duì)兩個(gè)指針?biāo)赶蜃兞恐颠M(jìn)行交換。結(jié)論:1、要在被調(diào)用函數(shù)中,修改主調(diào)函數(shù)的變量值應(yīng)當(dāng):(1) 將主調(diào)函數(shù)變量的地址傳遞給被調(diào)用函數(shù),就是說(shuō)函數(shù)應(yīng)當(dāng)傳遞的是變量的地址。(2) 被調(diào)用函數(shù)的形參應(yīng)當(dāng)使用指針變量接受主調(diào)函數(shù)的地址值。(3) 在被調(diào)用函數(shù)中通過(guò)形參指針變量間接訪問,修改實(shí)參、形參地址所共同指向的變量。本例的操作是交換兩個(gè)指針變量所指向的變量。2、函數(shù)使用指針作為參數(shù),可以增加主調(diào)函數(shù)與被調(diào)函數(shù)之間數(shù)據(jù)溝通的渠道。課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第

42、35-36 課時(shí) 授課內(nèi)容第8章(2) 通過(guò)指針引用數(shù)組教學(xué)目的和要求通過(guò)指針引用數(shù)組元素;數(shù)組的指針變量”作為函數(shù)參數(shù);通過(guò)指針指向多維數(shù)組重點(diǎn)難點(diǎn)重點(diǎn):數(shù)組的指針變量”作為函數(shù)參數(shù);通過(guò)指針指向多維數(shù)組難點(diǎn):數(shù)組的指針變量”作為函數(shù)參數(shù);通過(guò)指針指向多維數(shù)組教學(xué)安排講授一、數(shù)組元素的指針每個(gè)數(shù)組元素都在內(nèi)存中占有存儲(chǔ)單元,它們都有相應(yīng)的地址,所謂數(shù)組元素的指針就是數(shù)組元素的地址。二、在引用指針元素時(shí)指針的運(yùn)算1、在一定條件下允許對(duì)指針進(jìn)行加和減的運(yùn)算。2、在指針指向數(shù)組元素時(shí),可以對(duì)指針進(jìn)行加和自加,減和自減運(yùn)算。三、通過(guò)指針引用數(shù)組元素1、下標(biāo)法2、指針法例8.7 通過(guò)指針變量輸出整型數(shù)

43、組a的10個(gè)元素。四、用數(shù)組名和“數(shù)組的指針變量”作為函數(shù)參數(shù)例8.8 將數(shù)組a中n個(gè)整數(shù)按相反順序存放。例8.9 將例8.8寫成指針變量作實(shí)參例8.10 用指針法對(duì)10個(gè)整數(shù)按從大到小順序排序五、通過(guò)指針指向多維數(shù)組1、多維數(shù)組的地址2、指向多維數(shù)組元素的指針(1)指向數(shù)組元素的指針變量例8.12 有一個(gè)3×4的二維數(shù)組,要求用指向元素的指針變量輸出二維數(shù)組各元素的值。(2)指向由m個(gè)元素組成的一維數(shù)組的指針變量3、用指向數(shù)組的指針作函數(shù)參數(shù)例8.14 有一個(gè)班,3個(gè)學(xué)生,各學(xué)4門課程,計(jì)算總平均分?jǐn)?shù)以及第n個(gè)學(xué)生的成績(jī)。例8.15 在例8.14的基礎(chǔ)上,查找有1 門以上課程不及格

44、的學(xué)生,輸出他們?nèi)空n程的成績(jī)。課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第37-38 課時(shí) 授課內(nèi)容第8章(3) 通過(guò)指針引用字符串教學(xué)目的和要求掌握字符指針作為函數(shù)參數(shù);理解使用字符指針變量和字符數(shù)組的異同重點(diǎn)難點(diǎn)重點(diǎn):字符指針作為函數(shù)參數(shù);理解使用字符指針變量和字符數(shù)組的異同難點(diǎn):字符指針作為函數(shù)參數(shù);理解使用字符指針變量和字符數(shù)組的異同教學(xué)安排講授一、字符串的引用方式1、可通過(guò)字符數(shù)組名和下標(biāo)引用字符串中的一個(gè)字符。2、也可以通過(guò)數(shù)組名和格式聲明%s輸出該字符串例8.16 定義一個(gè)字符數(shù)組,在其中存放字符串“I love China!”,輸出該字符串和第8個(gè)字符。C語(yǔ)言中只有字符變量,沒有

45、字符串變量。例8.18 將字符串a(chǎn)復(fù)制為字符串b,然后輸出字符串b。例8.19 例8.18改用指針變量來(lái)處理二、字符指針作為函數(shù)參數(shù)例8.20 用函數(shù)調(diào)用實(shí)現(xiàn)字符串的復(fù)制(1)用字符數(shù)組名作為函數(shù)的參數(shù)(2)用字符指針變量作為函數(shù)的參數(shù)其實(shí)編譯系統(tǒng)把字符數(shù)組名按指針變量處理的,只是表示形式不同。三、使用字符指針變量和字符數(shù)組的比較1、字符數(shù)組由若干個(gè)元素組成,每個(gè)元素中放一個(gè)字符,而字符指針變量中存放的是地址。2、賦值方式??梢詫?duì)字符指針變量賦值,但不能對(duì)數(shù)組名賦值3、初始化含義4、存儲(chǔ)單元內(nèi)容5、指針變量的值是可以改變的,而數(shù)組名代表一個(gè)固定的值6、字符數(shù)組中各元素的值是可以改變的。7、引用

46、數(shù)組元素四、隨堂練習(xí)寫一函數(shù),實(shí)現(xiàn)兩個(gè)字符串的比較。int strcmp(char *p1,char*p2)五、上機(jī)演示及學(xué)實(shí)踐操作在講課的同時(shí)切換到編譯器界面調(diào)試代碼課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第39-40 課時(shí) 授課內(nèi)容第8章(4) 動(dòng)態(tài)內(nèi)存管理與指向它的指針變量教學(xué)目的和要求掌握用函數(shù)指針變量調(diào)用函數(shù);掌握用指向函數(shù)的指針作函數(shù)參數(shù)重點(diǎn)難點(diǎn)重點(diǎn):用函數(shù)指針變量調(diào)用函數(shù);用指向函數(shù)的指針作函數(shù)參數(shù)難點(diǎn):用函數(shù)指針變量調(diào)用函數(shù);用指向函數(shù)的指針作函數(shù)參數(shù)教學(xué)安排講授一、指向函數(shù)的指針編譯系統(tǒng)為函數(shù)代碼分配一段存儲(chǔ)空間,這段存儲(chǔ)空間的起始地址,稱為這個(gè)函數(shù)的指針二、用函數(shù)指針變量調(diào)用

47、函數(shù)例8.22 求兩個(gè)整數(shù)的最大值講解通過(guò)函數(shù)名調(diào)用函數(shù)與通過(guò)指針變量訪問它所指向的函數(shù)的異同。三、怎樣定義和使用指向函數(shù)的指針變量類型名 (*指針變量名)(函數(shù)參數(shù)表列)例8.23 講解四、用指向函數(shù)的指針作函數(shù)參數(shù)指向函數(shù)指針變量的一個(gè)重要用途是把函數(shù)的地址作為參數(shù)傳遞到其它函數(shù)。例8.24 講解五、返回指針值的函數(shù)一個(gè)函數(shù)可以返回一個(gè)整型值、字符值、實(shí)型值等,也可以返回指針型的數(shù)據(jù),即地址。定義返回指針值函數(shù)的一般形式為:類型名 *函數(shù)名(參數(shù)表列)例8.25 講解六、指針數(shù)組和多重指針1、什么是指針數(shù)組2、指向指針數(shù)據(jù)的指針例8.28 講解3、指針數(shù)組作主函數(shù)的形參七、上機(jī)演示及學(xué)實(shí)踐

48、操作在講課的同時(shí)切換到編譯器界面調(diào)試代碼課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第41-42 課時(shí) 授課內(nèi)容第8章(5) 動(dòng)態(tài)內(nèi)存分配教學(xué)目的和要求掌握指針數(shù)組和多重指針;掌握動(dòng)態(tài)內(nèi)存分配的技巧重點(diǎn)難點(diǎn)重點(diǎn):指針數(shù)組和多重指針;動(dòng)態(tài)內(nèi)存分配的技巧難點(diǎn):指針數(shù)組和多重指針;動(dòng)態(tài)內(nèi)存分配的技巧教學(xué)安排講授C定義了4個(gè)內(nèi)存區(qū)間:代碼區(qū),全局變量與靜態(tài)變量區(qū),局部變量區(qū)即棧區(qū),動(dòng)態(tài)存儲(chǔ)區(qū),即堆(heap)區(qū)或自由存儲(chǔ)區(qū)(free store)。一、堆棧和隊(duì)列1、堆棧 堆棧是一種特殊的線性表。(1)棧頂和棧底2、隊(duì)列 堆棧也是一種特殊的線性表。(1)隊(duì)頭與隊(duì)尾二、堆與動(dòng)態(tài)內(nèi)存分配有些操作對(duì)象只在程序運(yùn)行時(shí)

49、才能確定,這樣編譯時(shí)就無(wú)法為他們預(yù)定存儲(chǔ)空間,只能在程序運(yùn)行時(shí),系統(tǒng)根據(jù)運(yùn)行時(shí)的要求進(jìn)行內(nèi)存分配,這種方法稱為動(dòng)態(tài)內(nèi)存分配。所有動(dòng)態(tài)內(nèi)存分配都在堆區(qū)中進(jìn)行。三、動(dòng)態(tài)內(nèi)存分配1、什么是內(nèi)存的動(dòng)態(tài)分配2、建立內(nèi)存分配的動(dòng)態(tài)分配(1)malloc函數(shù)malloc是一個(gè)函數(shù),專門用來(lái)從堆上分配內(nèi)存。使用malloc函數(shù)需要幾個(gè)要求:內(nèi)存分配給誰(shuí)? 分配多大內(nèi)存? 是否還有足夠內(nèi)存分配?內(nèi)存的將用來(lái)存儲(chǔ)什么格式的數(shù)據(jù),即內(nèi)存用來(lái)做什么?分配好的內(nèi)存在哪里?如果這五點(diǎn)都確定,那內(nèi)存就能分配。下面先看malloc函數(shù)的原型void * malloc(uint size) (2)calloc函數(shù) (3)fre

50、e函數(shù) (4)realloc函數(shù)四、什么是野指針1、野雞指針的形成 2、野指針的危害五、void指針類型指向空類型指針,而非指向任意類型的指針課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第43-44 課時(shí) 授課內(nèi)容第9章(1) 結(jié)構(gòu)體概述及應(yīng)用教學(xué)目的和要求結(jié)構(gòu)體類型、變量的定義及初始化;結(jié)構(gòu)體變量的引用;結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體指針重點(diǎn)難點(diǎn)結(jié)構(gòu)體類型、變量的定義及初始化;結(jié)構(gòu)體變量的引用;結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體指針教學(xué)安排引言例子:學(xué)生信息管理系統(tǒng)講授一、結(jié)構(gòu)體類型1、結(jié)構(gòu)體類型和結(jié)構(gòu)體變量(1) 結(jié)構(gòu)體類型定義的一般形式 例如:定義關(guān)于學(xué)生信息的結(jié)構(gòu)體類型。(2) 結(jié)構(gòu)體變量的定義(三種方法)l 先定義結(jié)

51、構(gòu)體類型,再定義結(jié)構(gòu)體變量(概念、含義相當(dāng)清晰)l 定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量l 直接定義結(jié)構(gòu)體變量(不給出結(jié)構(gòu)體類型名,匿名的結(jié)構(gòu)體類型)2、結(jié)構(gòu)體變量的引用(1) 引用結(jié)構(gòu)體變量中的一個(gè)成員。結(jié)構(gòu)體變量名.成員名(2) 成員本身又是結(jié)構(gòu)體類型時(shí)的子成員的訪問-使用成員運(yùn)算符逐級(jí)訪問(3) 同一種類型的結(jié)構(gòu)體變量之間可以直接賦值(4) 不允許將一個(gè)結(jié)構(gòu)體變量整體輸入/輸出1、 結(jié)構(gòu)體變量的初始化二、結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組-數(shù)組元素的類型為結(jié)構(gòu)體類型的數(shù)組1、 結(jié)構(gòu)體數(shù)組的定義類似結(jié)構(gòu)體變量定義,只是將“變量名”用“數(shù)組名長(zhǎng)度”代替),也有3種方式。2、結(jié)構(gòu)體數(shù)組的初始化三、結(jié)構(gòu)體指針變

52、量1、結(jié)構(gòu)體指針變量(1) 結(jié)構(gòu)體指針變量的定義(2) 通過(guò)結(jié)構(gòu)體指針變量訪問結(jié)構(gòu)體變量的成員:(*結(jié)構(gòu)體指針變量名).成員名 結(jié)構(gòu)體指針變量名->成員名2、結(jié)構(gòu)體變量、結(jié)構(gòu)體指針變量作函數(shù)參數(shù)課后自我總結(jié)分析備注C語(yǔ)言程序設(shè)計(jì)教案第45-46 課時(shí) 授課內(nèi)容第9章(2) 鏈表教學(xué)目的和要求掌握鏈表的使用;重點(diǎn)難點(diǎn)重點(diǎn):掌握鏈表的使用;掌握共同體類型的使用;理解枚舉類型的概念難點(diǎn):掌握鏈表的使用;掌握共同體類型的使用;理解枚舉類型的概念教學(xué)安排講授一、鏈表概述1、什么是鏈表(1)鏈表中節(jié)點(diǎn)的定義(2)鏈表的基本操作2、建立簡(jiǎn)單的靜態(tài)鏈表二、建立動(dòng)態(tài)鏈表1、動(dòng)態(tài)鏈表(1)處理動(dòng)態(tài)鏈表所需要的函數(shù) malloc()、calloc()、free()(2)結(jié)點(diǎn)的動(dòng)態(tài)分配2、輸出鏈表例9.10 編寫一個(gè)輸出鏈表的函數(shù)print3、對(duì)鏈表的刪除操作4、對(duì)鏈表的插入操作二、雙向鏈表1、雙向鏈表的存儲(chǔ)結(jié)構(gòu)2、建立雙向鏈表3、雙向鏈表的操作三、環(huán)形鏈表1、兒時(shí)玩的丟手絹的游戲 環(huán)形約瑟夫問題2、解決環(huán)形情況的問題比較方便3、構(gòu)造環(huán)形鏈表4、環(huán)形鏈表的特點(diǎn)四、上機(jī)演示及實(shí)踐操作在講

溫馨提示

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

評(píng)論

0/150

提交評(píng)論