(完整版)《C語言程序設(shè)計(jì)》-譚浩強(qiáng)(第四版)教案_第1頁
(完整版)《C語言程序設(shè)計(jì)》-譚浩強(qiáng)(第四版)教案_第2頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程名稱課程名稱C語言程序設(shè)計(jì)教材教材C語言程序設(shè)計(jì)(第四版)作者:譚浩強(qiáng)清華大學(xué)出版社考核方式考核方式考試課程??偝煽儯赫n堂參與占10%;試驗(yàn)報(bào)告占20%;期末考試占70%(閉卷考試)。教學(xué)基本教學(xué)基本目的和要目的和要求求C語言是近年來國內(nèi)外得到迅速推廣使用的一種計(jì)算機(jī)語言。C語言程序設(shè)計(jì)課程是計(jì)算機(jī)專業(yè)和信息管理專業(yè)的核心專業(yè)基礎(chǔ)課它功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級語言的優(yōu)點(diǎn),又具有低級語言的優(yōu)點(diǎn)。既適用于應(yīng)用軟件編寫,又適用于系統(tǒng)軟件的編寫。在現(xiàn)代的工業(yè)機(jī)器人的眾多語言中,大多編程風(fēng)格以C語言非常類似,學(xué)生學(xué)好C語言,對將來的工作中,從

2、事工業(yè)機(jī)器人現(xiàn)場編程是非常有幫助的。課程的性質(zhì)和任務(wù)課程的性質(zhì)和任務(wù)語言程序設(shè)計(jì)這門課是我校工業(yè)機(jī)器人、分布式發(fā)電與微電網(wǎng)專業(yè)的專業(yè)必修課。作為計(jì)算機(jī)系的數(shù)據(jù)結(jié)構(gòu)、C+、單片機(jī)編程等課程的前導(dǎo)課程,也是一門實(shí)踐性很強(qiáng)的課程,既要掌握概念,又要動手編程,還要上機(jī)調(diào)試運(yùn)行。對工業(yè)機(jī)器人專業(yè)來說是一門必修的課程。同時(shí), 這門課程也是“湖南省非計(jì)算機(jī)專業(yè)學(xué)生計(jì)算機(jī)應(yīng)用能力水平考試”二級考試的主要語種之一。課程的教學(xué)目標(biāo)課程的教學(xué)目標(biāo)本課程的教學(xué)目標(biāo)是: 通過理論和實(shí)踐教學(xué), 使學(xué)生較好地掌握C語言各方面的知識,掌握基本的程序設(shè)計(jì)過程和技巧,具備初步的高級語言程序設(shè)計(jì)能力,并能熟練應(yīng)用VC+6.0集成環(huán)

3、境進(jìn)行C語言的編寫、編譯與調(diào)試,能應(yīng)用C語言解決一般編程問題的水平。教 學(xué)教 學(xué)重 點(diǎn)重 點(diǎn)和 難和 難點(diǎn)點(diǎn)一、程序設(shè)計(jì)和一、程序設(shè)計(jì)和C語言語言重點(diǎn):計(jì)算機(jī)程序、計(jì)算機(jī)語言、C語言編譯軟件的安裝、最簡單的C語言程序二、算法:程序的靈魂二、算法:程序的靈魂重點(diǎn):簡單的算法舉例、算法的特性、用流程圖表示算法。三、順序結(jié)構(gòu)程序設(shè)計(jì)三、順序結(jié)構(gòu)程序設(shè)計(jì)重點(diǎn):C語言的數(shù)據(jù)類型、C語句的種類、賦值語句、數(shù)據(jù)的輸入輸出及輸入輸出中最常用的控制格式。四、選擇結(jié)構(gòu)程序設(shè)計(jì)四、選擇結(jié)構(gòu)程序設(shè)計(jì)重點(diǎn):關(guān)系運(yùn)算符與邏輯運(yùn)算符及其組成的具有邏輯值的表達(dá)式、二條分支語句的格式及基本應(yīng)用、多分支的選擇語句。五、循環(huán)結(jié)構(gòu)程

4、序設(shè)計(jì)五、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)重點(diǎn):C構(gòu)成循環(huán)的四種方法,尤其是后三種方法、break與continue語句的基本作用。難點(diǎn):while語句;do-while語句;for語句;循環(huán)的嵌套;break與continue語句。六、數(shù)組六、數(shù)組重點(diǎn):一維數(shù)組、二維數(shù)組的定義與引用;字符數(shù)組的定義與引用、常用字符串處理函數(shù)及字符處理函數(shù);數(shù)組的應(yīng)用難點(diǎn):二維數(shù)組的定義與引用;字符數(shù)組;數(shù)組的應(yīng)用七、函數(shù)七、函數(shù)重點(diǎn):函數(shù)的定義;函數(shù)的參數(shù)和函數(shù)的值;函數(shù)的調(diào)用;函數(shù)的嵌套調(diào)用;函數(shù)的遞歸調(diào)用;數(shù)組作為函數(shù)參數(shù);變量作用域;量存儲類別;難點(diǎn):函數(shù)定義、函數(shù)調(diào)用、函數(shù)聲明等基本基本概念;函數(shù)的嵌套調(diào)用與遞歸調(diào)

5、用;數(shù)組作為函數(shù)的參數(shù)、變量的存儲類別與作用域。八、指針八、指針重點(diǎn)和難點(diǎn):指針與地址的基本概念、指針與變量的關(guān)系;指針與數(shù)組;指針與字符串、指針數(shù)組與二級指針;指針的應(yīng)用九、建立自己的數(shù)據(jù)類型九、建立自己的數(shù)據(jù)類型重點(diǎn)和難點(diǎn):定義和使用結(jié)構(gòu)體變量、用指針處理鏈表、共用體類型十、文件十、文件重點(diǎn):文件的基本知識、fopen、fclose函數(shù)打開與關(guān)閉文件、順序讀寫數(shù)據(jù)文件、隨機(jī)讀寫數(shù)據(jù)文件難點(diǎn):用二進(jìn)制方式向文件讀寫一組數(shù)據(jù)。十一、常見錯誤分析十一、常見錯誤分析重點(diǎn)和難點(diǎn):文件的基本概念;文件的打開、關(guān)閉、常用讀寫方法。十二、數(shù)組高級應(yīng)用十二、數(shù)組高級應(yīng)用重點(diǎn):不定長數(shù)組與二維數(shù)組的應(yīng)用難點(diǎn):

6、不定長數(shù)組與二維數(shù)組的應(yīng)用十三、綜合應(yīng)用十三、綜合應(yīng)用重點(diǎn):數(shù)組、if語句、循環(huán)語句、函數(shù)知識的綜合應(yīng)用難點(diǎn):二維數(shù)組、指針教材、參教材、參考書考書教材:教材:C程序設(shè)計(jì)(第四版)譚浩強(qiáng)著清華大學(xué)出版社 2010 年 6 月參考書:參考書:C程序設(shè)計(jì)語言Kernighan&Ritchie機(jī)械工業(yè)出版社第第 1-21-2 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 1 章 C 語言概述教學(xué)目教學(xué)目的和要的和要求求了解C歷史,名稱來源、C特點(diǎn),掌握C程序基本結(jié)構(gòu);C語言的版本、C語言的關(guān)鍵字;重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)C語言的關(guān)鍵字;教學(xué)安教學(xué)安排排引言引言語言:人人語言父流;聾啞人手勢語;人機(jī)計(jì)算機(jī)語言C 語言是

7、一種流行的計(jì)算機(jī)高級語言,C 語言適合于編寫系統(tǒng)軟件,也可以編寫應(yīng)用程序。講授講授一、語言出現(xiàn)的歷史背景一、語言出現(xiàn)的歷史背景(1)C 語言的發(fā)展源于人們希望用高級語言編寫操作系統(tǒng)。(C-BCPL 第二字母)ALG0L60(高級語言)-CPL(硬件支持)-BCPC-B-C-標(biāo)準(zhǔn) C-ANSIC-ISOC(2)語言既具有高級語言特性,又具有低級語言特性-中級語言。二、二、C C 語言的特點(diǎn)語言的特點(diǎn)C 語言既具有一般高級語言特性,又具有低級語言特性。8 個特點(diǎn)。1、C語言簡潔、緊湊。2、運(yùn)算符豐富。3、數(shù)據(jù)結(jié)構(gòu)類型豐富。4、具有結(jié)構(gòu)化的控制語句。5、語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。6、C語言

8、允許直接訪問物理地址,能實(shí)現(xiàn)匯編語言的大部分功能,可以直接對硬件進(jìn)行操作。7、生成目標(biāo)代碼質(zhì)量咼,程序執(zhí)行效率咼。8、與匯編語言相比,用C語言寫的程序可移植性好。三、三、C C 語言的關(guān)鍵字語言的關(guān)鍵字附錄 C(書本 378 頁)四、四、C C 語言的版本和關(guān)鍵字語言的版本和關(guān)鍵字auto、inline、restrict、_bool、Complex、Imaginary是后來擴(kuò)充的,有些編譯器也擴(kuò)充了關(guān)鍵詞。五、五、TurboC編譯器的安裝與使用編譯器的安裝與使用課后自課后自我總結(jié)我總結(jié)分析分析備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 3-43-4 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 1 章

9、 VC+6.0、VS2015 的安裝和使用教學(xué)目教學(xué)目的和要的和要求求了解C語言常用的編譯器; 掌握VC+6.0、 VS2015的下載與安裝; 掌握VC+6.0、 VS2015的使用重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):VC+6.0、VS2015 的使用難點(diǎn):VC+6.0、VS2015 的使用教學(xué)安教學(xué)安排排講授講授一、一、C C 語言常用的編譯器語言常用的編譯器(1)32 位的 WINDOWS 操作系統(tǒng)與 64 位的 WINDOWS 操作系統(tǒng)(2)VC+6.0(2)VS2015二、文件夾與壓縮包二、文件夾與壓縮包1、文件夾2、文件的壓縮與解壓3、軟件的下載4、軟件安裝的一般流程5、產(chǎn)品id號、序列號與破解補(bǔ)

10、丁三、三、VC+6VC+6.0.0、VS2015VS2015 的下載與安裝的下載與安裝7、生成目標(biāo)代碼質(zhì)量咼,程序執(zhí)行效率咼。8、與匯編語言相比,用C語言寫的程序可移植性好。四、四、VC+6VC+6.0.0、VS2015VS2015 的使用的使用VC+6.0、VS2015 的使用五、五、c4droidc4droid編譯器的使用編譯器的使用1、基于安卓手機(jī)操作系統(tǒng)的C語言編譯器2、c4droid編譯器的安裝3、c4droid編譯器的使用六、上機(jī)演示及實(shí)踐操作六、上機(jī)演示及實(shí)踐操作在 win7 電腦上示范VC+6.0、VS2015 的編譯器的安裝和使用課后自課后自我總結(jié)我總結(jié)分析分析同學(xué)們對計(jì)算機(jī)

11、基礎(chǔ)知識比較缺乏,安裝VC+6.0時(shí),不知道如何解壓,也不知道如何下載和計(jì)算機(jī)操作系統(tǒng)版本匹配的VC+6.0或VS2015備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 5-65-6 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 2 章算法的基本概念和簡單算法舉例教學(xué)目教學(xué)目的和要的和要求求了解算法的基本概念、程序設(shè)計(jì)的一般流程、掌握書寫簡單的算法流程、了解算法的特性重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)掌握書寫簡單的算法流程。教學(xué)安教學(xué)安排排引言引言(5分鐘)什么是算法?菜譜、拳譜、歌譜都是廣義的算法。以湘潭去北京開會為例解釋算法的優(yōu)劣。1+2+3+100 的常規(guī)算法和咼斯的首尾相加快遞算法講授講授一、簡單算法舉例一、簡單算

12、法舉例(37 分鐘)(1)求 5!(10 分鐘)常規(guī)求解方式的煩瑣引出用循環(huán)方式求解的方法。分析用循環(huán)方式求 5!的 C 語言代碼(2)求 1X3X4X5X7X9X11(10 分鐘)詢問同學(xué)此題與 5!的異同, 引每項(xiàng)是 2n-1 的通項(xiàng), 在上題的基礎(chǔ)上改動少量代碼可實(shí)現(xiàn)本題的 C 語言編程。(3)求 2000-2500 年間的閏年(10 分鐘)圖示方式給學(xué)生解說閏年要滿足的條件,引出要做多次判斷的較復(fù)雜流程提問:能被 4 整除,也能被 100 整除,是不是等同能被 400 整除這一認(rèn)識誤區(qū)再次提問:2000 年是不是閏年,為什么?2060 年是不是閏年,為什么?檢測學(xué)生是否了解閏年判斷流程

13、。(4)素?cái)?shù)的求法(7 分鐘)根據(jù)素?cái)?shù)的定義來循環(huán)判斷是否能被一系列數(shù)整除,最后判斷是不是素?cái)?shù),請學(xué)生嘗試寫出求解流程。二、算法的特性二、算法的特性(3 分鐘)1、有窮性。2、確定性。3、0個或多少輸入。4、1個或多個輸出。5、有效性。三、上機(jī)演示及實(shí)踐操作三、上機(jī)演示及實(shí)踐操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自課后自我總結(jié)我總結(jié)分析分析通過提問可以了解同學(xué)們對知識的掌握程序,互動性的教學(xué)設(shè)計(jì)更有益于教學(xué)備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 7-87-8 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 2 章算法的表示教學(xué)目教學(xué)目的和要的和要求求掌握用流

14、程圖表示算法;了解傳統(tǒng)流程圖的弊端;掌握N-S流程圖表示方法。重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):掌握用流程圖表示算法;掌握N-S流程圖表示方法難點(diǎn):掌握用流程圖表示算法;掌握N-S流程圖表示方法教學(xué)安教學(xué)安排排講授講授一、用流程圖表示算法一、用流程圖表示算法(15 分鐘)1、介紹流程圖的圖框及含義起止框、輸入輸出框、判斷框、處理框、流程線、連接點(diǎn)、注釋框2、示范用流程圖表示兩個分支的 if 語句3、將例 2.1 的算法用流程圖表示并分析4、將例 2.2 的算法用流程圖表示并分析5、將例 2.3 的算法用流程圖表示并分析總結(jié):流程圖表示算法比較直觀2、將例 2.4 多項(xiàng)式求和用流程圖表示(1)、書本求解本題

15、算法的流程圖表示(2)、其它算法的流程圖表示二、三種基本結(jié)構(gòu)和改進(jìn)的流程圖二、三種基本結(jié)構(gòu)和改進(jìn)的流程圖(15 分鐘)1、統(tǒng)流程圖的弊端2、三種基本結(jié)構(gòu)(1)順序(2)選擇(3)循環(huán)分當(dāng)型和直到型兩種二、用二、用 N NS S 流程圖表示算法流程圖表示算法(15 分鐘)1、NS 流程圖的符號2、將例 2.1 的算法用 N-S 流程圖表示并分析3、將例 2.2 的算法用 N-S 流程圖表示并分析4、將例 2.3 的算法用 N-S 流程圖表示并分析三、實(shí)踐環(huán)節(jié)三、實(shí)踐環(huán)節(jié)對“分時(shí)問候”的算法繪制 N-S 流程圖課后自課后自我總結(jié)我總結(jié)分析分析C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案C C 語言程序

16、設(shè)計(jì)教案語言程序設(shè)計(jì)教案備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 9-109-10 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 3 章最簡單的 C 程序設(shè)計(jì)一一順序程序設(shè)計(jì)教學(xué)目教學(xué)目的和要的和要求求舉例說明順序程序調(diào)序的基本流程、整型數(shù)據(jù)類型、整型數(shù)據(jù)的溢出。重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):整型數(shù)據(jù)類型;整型數(shù)據(jù)的溢出難點(diǎn):整型數(shù)據(jù)類型;整型數(shù)據(jù)的溢出教學(xué)安教學(xué)安排排講授講授一、順序程序設(shè)計(jì)舉例一、順序程序設(shè)計(jì)舉例(10分鐘)1、繪制例 3.1 算法的 N-S 流程圖2、根據(jù) N-S 流程圖編寫代碼并調(diào)試二、常量與變量二、常量與變量(15分鐘)1、常量概念。(1) 整型常量、整型常量、字符常量、字符串常量

17、(2) ASCII 字符(3)轉(zhuǎn)義字符2、變量概念、變量名(1) 先定義,后使用(2) 變量名與變量值概念的異同三、數(shù)據(jù)類型概述三、數(shù)據(jù)類型概述(5分鐘)1、不同類型的數(shù)據(jù)在內(nèi)存中占用的存儲單位長度是不同的VC+6.0為字符型數(shù)據(jù)分配一個字節(jié)長度;為int型(基本型)分配4個字節(jié)的長度。2、存儲不同數(shù)據(jù)類型的方法也是不同的。四、整型數(shù)據(jù)四、整型數(shù)據(jù)(15分鐘)1、整型數(shù)據(jù)的分類:(1)基本整型(int型)短整型(shortint);長整型(longint)2、整型變量的符號屬性(1)有符號型和無符號型(2)整型數(shù)據(jù)常見的存儲空間和值的范圍3、整型數(shù)據(jù)的溢出五、上機(jī)演示及實(shí)踐操作五、上機(jī)演示及實(shí)

18、踐操作課后自課后自我總結(jié)我總結(jié)分析分析備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 11-1211-12 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 3 章最簡單的 C 程序設(shè)計(jì)一一順序程序設(shè)計(jì)教學(xué)目教學(xué)目的和要的和要求求舉例說明順序程序調(diào)序的基本流程、數(shù)據(jù)的表現(xiàn)形式及運(yùn)算、不冋數(shù)據(jù)類型的混合運(yùn)算。重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)整型數(shù)據(jù)類型longint和shortint數(shù)據(jù)類型、運(yùn)算符的優(yōu)級先級、不冋數(shù)據(jù)類型的混合運(yùn)算教學(xué)安教學(xué)安排排講授講授一、浮點(diǎn)型數(shù)據(jù)一、浮點(diǎn)型數(shù)據(jù)1、浮點(diǎn)型數(shù)據(jù)的存儲方式2、浮點(diǎn)型數(shù)據(jù)的表現(xiàn)形式浮點(diǎn)數(shù)據(jù)的指數(shù)形式3、浮點(diǎn)型數(shù)據(jù)的類型(1)單精度(2)雙精度(3)長雙精度二、字符型數(shù)據(jù)二、字符

19、型數(shù)據(jù)1、字符常量表示。直接表示/轉(zhuǎn)義表示(特殊的轉(zhuǎn)義字符,一般字符也可以轉(zhuǎn)義表示)。特殊轉(zhuǎn)義字符對顯示/打印的控制作用2、字符變量一 1 個字節(jié),char 關(guān)鍵詞。3、字符數(shù)據(jù)的存儲一 ASCII 碼/二進(jìn)制存儲一 C 語言可以將字符看做很短的整數(shù)處理。例2-7A,例 2-8A 可以看出字符數(shù)據(jù)的具有整數(shù)特性。三、怎樣確定常量的類型三、怎樣確定常量的類型1、從常量的表示形式,如精度2、只要看到單撇號括起來的單個字符或轉(zhuǎn)義字符即字符常量四、運(yùn)算符與表達(dá)式四、運(yùn)算符與表達(dá)式1、基本的算術(shù)運(yùn)算符2、自增、自減運(yùn)算符3、算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性五、數(shù)值型數(shù)據(jù)混合運(yùn)算五、數(shù)值型數(shù)據(jù)混合運(yùn)算1

20、、自動隱式轉(zhuǎn)換。2、強(qiáng)制類型轉(zhuǎn)換。六、六、C語句語句1、控制語句2、函數(shù)調(diào)用語句3、表達(dá)式語句4、空語句5、復(fù)合語句七、上機(jī)演示及實(shí)踐操作七、上機(jī)演示及實(shí)踐操作在講課的同時(shí)切換編譯界面調(diào)試整型數(shù)據(jù)溢出課后自課后自我總結(jié)我總結(jié)分析分析備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 13-1413-14 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 4 章(1)選擇結(jié)構(gòu)程序設(shè)計(jì)教學(xué)目教學(xué)目的和要的和要求求理解條件-產(chǎn)生邏輯值的表達(dá)式;熟練繪制選擇語句算術(shù)的流程圖掌握關(guān)系運(yùn)算符、關(guān)系表達(dá)式;邏輯運(yùn)算符、邏輯表達(dá)式重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):關(guān)系運(yùn)算符、關(guān)系表達(dá)式;邏輯運(yùn)算符、關(guān)系表達(dá)式難點(diǎn):熟練繪制選擇語句算術(shù)的流程

21、圖教學(xué)安教學(xué)安排排講授講授一、選擇結(jié)構(gòu)的條件判斷一、選擇結(jié)構(gòu)的條件判斷1、理解條件-產(chǎn)生邏輯值的表達(dá)式2、選擇結(jié)構(gòu)的流程圖繪制3、二元二次方程求根的算法及程序編寫二、關(guān)系運(yùn)算符與關(guān)系表達(dá)式二、關(guān)系運(yùn)算符與關(guān)系表達(dá)式“關(guān)系運(yùn)算”(比較運(yùn)算)即,將兩個值進(jìn)行比較,判斷是否符合或滿足給定的條件。1、關(guān)系運(yùn)算符及其優(yōu)先次序a)C 語言提供 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 語言沒有邏輯型數(shù)據(jù), 1“真”, 0“假”。例 5-3。三、邏輯運(yùn)算符和邏輯表達(dá)式三、邏輯運(yùn)算符

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

23、語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)難點(diǎn):選擇結(jié)構(gòu)的嵌套;switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)教學(xué)安教學(xué)安排排講授講授一、一、ifif 語句的嵌套語句的嵌套1、在 if 語句中又包含一個或多個 if 語句稱為 if 語句的嵌套。2、如果if與else的數(shù)目不一致,為了體現(xiàn)程序設(shè)計(jì)者的思想,可加花括號來確定配對的關(guān)系。3、利用代碼縮進(jìn)增強(qiáng)代碼的可讀性,養(yǎng)成良好的編程風(fēng)格4、例 4.5 階躍函數(shù)用 if 語句的嵌套實(shí)現(xiàn)繪制流程圖(2)將流程圖編寫成程序二、用二、用 switchswitch 語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)如果條件分支較多,利用if語句顯得程序冗長,且可讀性降低。因此,C語言設(shè)計(jì)了 s

24、witch語句。1、switch 語句的一般形式2、例4.6輸出考試成績的ABCD段等級(1)繪制流程圖(2)將流程圖編寫成程序3、例4.7用 switch 語句處理菜單命令三、選擇結(jié)構(gòu)程序設(shè)計(jì)綜合舉例三、選擇結(jié)構(gòu)程序設(shè)計(jì)綜合舉例例 4.8 判斷某一年是否是閏年例 4.9 求二元二次方程的實(shí)根四、上機(jī)演示及實(shí)踐操作四、上機(jī)演示及實(shí)踐操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自課后自我總結(jié)我總結(jié)分析分析備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 17-1817-18 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 5 章(1)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)教學(xué)目教學(xué)目的和要的和要求求掌握 while 當(dāng)型循環(huán)、dowhi

25、le 直到型循環(huán)、for 循環(huán)重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)while 當(dāng)型循環(huán)、dowhile 直到型循環(huán)、for 循環(huán)的形式、執(zhí)仃過程、使用注意問題教學(xué)安教學(xué)安排排引言引言重復(fù)執(zhí)行就是循環(huán)。重復(fù)工作是計(jì)算機(jī)特別擅長工作之一。重復(fù)執(zhí)行不是簡單地重復(fù),每次重復(fù),操作的數(shù)據(jù)(狀態(tài)、條件)都可能發(fā)生變化。重復(fù)的動作是受控制的,C語言提供三種循環(huán)控制語句,構(gòu)成了三種基本的循環(huán)結(jié)構(gòu)。講授講授一、一、whwh 訂訂 e e 語句(當(dāng)型循環(huán))語句(當(dāng)型循環(huán))1、while 語句的一般形式是:2、執(zhí)行過程疋:(流程圖、NS 圖)3、使用 while 注意的問題。例 5-1:利用 while 語句,編寫程序計(jì)算 1+2+3

26、+.+100。二、二、do-whdo-wh 訂訂 e e 語句(直到型循環(huán))語句(直到型循環(huán))1、do-while 語句的一般形式2、do-while 執(zhí)行過程(流程圖)3、do-while 說明:例 5-4:利用 do-while 語句計(jì)算機(jī) 1+1/2+1/4+.+1/50。三、三、forfor 語句(當(dāng)型循環(huán))語句(當(dāng)型循環(huán))1、for 語句的一般形式(給出 while 循環(huán)的對應(yīng)結(jié)構(gòu))2、for 循環(huán)執(zhí)行過程(流程圖)例 5-6:寫一個程序,計(jì)算半徑為 0.5,1.5,2.5,3.5,4.5,5.5mm 時(shí)圓的半徑。例 5-7:求正整數(shù) n 的階乘 n!,其中 n 由用戶輸入。3、fo

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

28、、條件表達(dá)式一、條件運(yùn)算符、條件表達(dá)式在 if 語句中,在表達(dá)式為“真”和“假”時(shí),都只執(zhí)行一個賦值語句給冋一個變量賦值時(shí),可以使用簡單的條件運(yùn)算符來處理。例如:if(ab)max 二 a;elsemax=b;二max 二 ab?a:b;(1)條件表達(dá)式的一般形式:表達(dá)式 1?表達(dá)式 2:表達(dá)式 3(2)條件表達(dá)式說明(5 點(diǎn))例 5-4.二、二、switch-caseswitch-case 語句(多分支選擇語句語句(多分支選擇語句/ /開關(guān)語句)開關(guān)語句)3、switch般形式4、switch 語句說明。(1)-(7)三、分支程序例子三、分支程序例子例 5.5 寫程序,判斷某一年是否是閏年。

29、例 5.6 求一兀一次方程 ax2+bx+c-0 的根。例 5.7 運(yùn)輸公司對用戶計(jì)算運(yùn)費(fèi)。六、應(yīng)用舉例六、應(yīng)用舉例例 6-14:從鍵盤輸入一個大于 2 的整數(shù) n,判斷是不是素?cái)?shù)。例 6-15:求 100-200 之間的所有素?cái)?shù)。例 616:輸出下二角 99 乘法表七、上機(jī)演示及學(xué)生操作七、上機(jī)演示及學(xué)生操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自課后自我總結(jié)我總結(jié)分析分析第第21-22-22 課時(shí)課時(shí)C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案備注備注第第22-22-22 課時(shí)課時(shí)C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案授課內(nèi)授課內(nèi)容容第 6 章(1)一維組的應(yīng)用教學(xué)目教學(xué)目的和要的和要求求數(shù)組

30、的基本概念;一維數(shù)組定義、初始化、引用;最大值、冒泡排序、選擇排序算法。重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):一維數(shù)組定義、初始化、引用;求最大值、冒泡排序、選擇排序算法;矩陣操作難點(diǎn):冒泡排序、選擇排序算法教學(xué)安教學(xué)安排排引言引言基本數(shù)據(jù)類型一構(gòu)造類型的數(shù)據(jù)一數(shù)組數(shù)組、數(shù)組兀素、數(shù)組的下標(biāo)、數(shù)組的維數(shù)例如:inta10;一維數(shù)組可以看作一個數(shù)列,向量。例如:floatb33;二維數(shù)組可以看作一個矩陣。講授講授一、定義和引用一維數(shù)組一、定義和引用一維數(shù)組1、一維數(shù)組的定義類型說明數(shù)組名整型常量表達(dá)式2、一維數(shù)組定義說明下標(biāo)從 0 開始3、數(shù)組元素的引用例6.1利用數(shù)組輸出1-10(1)循環(huán)語句(2)數(shù)組下標(biāo)越

31、界4、一維數(shù)組的初始化的幾種形式(1)定義時(shí)賦初值(2)部分賦初值(3)數(shù)組兀素全部置0(4)數(shù)組兀素如全部賦值可不指定長度5、給數(shù)組元素賦初值和給數(shù)組集合賦初值的異同(1)給數(shù)組元素賦初值inttemp1=9;給數(shù)組集合賦初值inttemp10=(1,2,3);二、一維數(shù)組的應(yīng)用例子二、一維數(shù)組的應(yīng)用例子例 6-2:用數(shù)組來處理斐波那契數(shù)列例 6-3:采用“冒泡法”對任意輸入的 10 個整數(shù)按由小到大的順序排序。例 6-4:采用“選擇法”對任意輸入的 10 個整數(shù)按由大到小的順序排序。二、動態(tài)內(nèi)存分配法實(shí)現(xiàn)不定長維數(shù)組二、動態(tài)內(nèi)存分配法實(shí)現(xiàn)不定長維數(shù)組某些情境需要定義一個數(shù)組,但數(shù)組的長度不

32、定,因?yàn)檫@個長度是根據(jù)某些其他條件確定的,這時(shí)我們需要定義一個長度不定的數(shù)組。如讀取不同聲音的語音數(shù)據(jù)序列。課后自課后自我總結(jié)我總結(jié)分析分析備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 23-2423-24 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 6 章(2)二維數(shù)組和多維數(shù)組的應(yīng)用教學(xué)目教學(xué)目的和要的和要求求二維數(shù)組定義、初始化、引用;多維數(shù)組重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):二維數(shù)組定義、初始化、;雙重for循環(huán)讀取二維數(shù)組;二維數(shù)組1維和2維的分辨;難點(diǎn):雙重for循環(huán)讀取二維數(shù)組、二維數(shù)組1維和2維的分辨教學(xué)安教學(xué)安排排二、二維數(shù)組(注意:類比一維數(shù)組)二、二維數(shù)組(注意:類比一維數(shù)組)1、二維數(shù)組的

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

34、換,存到另一個數(shù)組里。例 6-5:找出矩陣所有兀素中的最大值。例 6-附加分別計(jì)算矩陣的兩條對角線(主、輔對角線)上的元素之和。六、多維數(shù)組的應(yīng)用六、多維數(shù)組的應(yīng)用1、多維數(shù)組的定義2、多維數(shù)組元素的引用3、多維數(shù)組的初始化七、不定長二維數(shù)組的實(shí)現(xiàn)七、不定長二維數(shù)組的實(shí)現(xiàn)某些情境需要定義一個二維數(shù)組,但二維數(shù)組的長度不定,因?yàn)檫@個長度是根據(jù)某些其他條件確定的,這時(shí)我們需要定義一個長度不定的二維數(shù)組。如讀取不冋尺寸圖像點(diǎn)的像素值。八、上機(jī)演示及學(xué)生操作八、上機(jī)演示及學(xué)生操作在講課的同時(shí)切換軟件界面調(diào)試代碼課后自課后自我總結(jié)我總結(jié)分析分析備注備注第第 25-25-26課時(shí)課時(shí)C C 語言程序設(shè)計(jì)教

35、案語言程序設(shè)計(jì)教案授課內(nèi)授課內(nèi)容容第 6 章(3)字符數(shù)組教學(xué)目教學(xué)目的和要的和要求求字符數(shù)組定義、初始化、引用;字符串與字符數(shù)組;字符串處理函數(shù);字符數(shù)組應(yīng)用重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):字符串與字符數(shù)組;字符串處理函數(shù)難點(diǎn):字符串與字符數(shù)組;字符串處理函數(shù)教學(xué)安教學(xué)安排排引言引言復(fù)習(xí)數(shù)組概念,數(shù)組定義、初始化、元素引用方法。引入字符數(shù)組(元素為字符)。講授講授一、字符數(shù)組一、字符數(shù)組1、字符數(shù)組的定義2、字符數(shù)組的初始化3、字符數(shù)組的引用4、二維字符數(shù)組的應(yīng)用舉例二、字符和字符串結(jié)束標(biāo)志二、字符和字符串結(jié)束標(biāo)志1、字符串與字符數(shù)組的區(qū)別 2、字符串結(jié)束標(biāo)記志系統(tǒng)對字符串常量也自動加一個0作為結(jié)束符

36、。例如CProgram”共有 9 個字符,但在內(nèi)存中占 10 個字節(jié),取后一個字節(jié)0 是系統(tǒng)自動加上的。(通過 sizeof()函數(shù)可驗(yàn)證)三、字符數(shù)組的輸入和輸出三、字符數(shù)組的輸入和輸出(1) 逐個字符輸入輸出(2) 將整個字符串輸出(3) 利用字符串的結(jié)束符批量輸出四、字符串概述四、字符串概述1、字符串的輸出(1) “s”格式符(2) print 語句的輸出項(xiàng)參數(shù)用字符數(shù)組名,而非數(shù)組元素名2、字符串的引用五、由字符數(shù)組來構(gòu)造字符串五、由字符數(shù)組來構(gòu)造字符串根據(jù)定義,可由字符數(shù)組添加一個0符形成字符串。六、二維字符數(shù)組六、二維字符數(shù)組1、二維字符數(shù)組的定義2、二維字符數(shù)組的初始化3、二維字

37、符數(shù)組的引用課后自課后自我總結(jié)我總結(jié)分析分析備注備注第第27-28-28 課時(shí)課時(shí)C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 29-3029-30 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 6 章(4)字符串函數(shù)的應(yīng)用教學(xué)目教學(xué)目的和要的和要求求字符數(shù)組定義、初始化、引用;字符串與字符數(shù)組;字符串處理函數(shù);字符數(shù)組應(yīng)用重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):字符串與字符數(shù)組;字符串處理函數(shù)難點(diǎn):字符串與字符數(shù)組;字符串處理函數(shù)教學(xué)安教學(xué)安排排講授講授一、使用字符串處理函數(shù)一、使用字符串處理函數(shù)1、puts 函數(shù)2、gets 函數(shù)3、strcat 函數(shù):字符串截取函數(shù)4、strcopy 和 strncopy 函數(shù):字符串復(fù)制

38、函數(shù)5、strcmp 函數(shù):字符串比較函數(shù)6、strlen 測試字付串長度函數(shù)7、strlwr 函數(shù):轉(zhuǎn)換為小寫的函數(shù)8、strupr 函數(shù):轉(zhuǎn)換為大與的函數(shù)二、字符數(shù)組應(yīng)用舉例二、字符數(shù)組應(yīng)用舉例例 6.8:由鍵盤任意輸入一個字符串和一個字符,要求從該字符串中刪除所指定的字符。例 6.9:由鍵盤輸入三個字符串,找出其中的最大串。(字符串庫函數(shù)的應(yīng)用)三、學(xué)會閱讀三、學(xué)會閱讀 C C 標(biāo)準(zhǔn)函數(shù)手冊標(biāo)準(zhǔn)函數(shù)手冊附錄 FC 庫函數(shù)1、引用預(yù)編譯頭文件 include(包含頭文件)2、學(xué)會閱讀函數(shù)庫函數(shù)的函數(shù)類型和參數(shù)四、字符數(shù)組函數(shù)的綜合練習(xí)四、字符數(shù)組函數(shù)的綜合練習(xí)1、打印楊輝三角形2、有一個已

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

40、用、聲明;函數(shù)參數(shù)傳遞方式難點(diǎn):函數(shù)參數(shù)傳遞方式一傳址(尚未學(xué)習(xí)指針,用數(shù)組舉例)教學(xué)安教學(xué)安排排講授講授一、函數(shù)概述一、函數(shù)概述1、C語言的函數(shù)。C語言的函數(shù)是子程序的總稱,包括函數(shù)和過程。C語言函數(shù)可以分為庫函數(shù)、用戶自定義函數(shù)2、C語言的程序由函數(shù)組成,函數(shù)是C語言程序的基本單位,程序的總體功能通過函數(shù)的調(diào)用來實(shí)現(xiàn)。其中,main起點(diǎn)(圖)3、函數(shù)的一些概念:主函數(shù)、其它函數(shù);主調(diào)函數(shù)、被調(diào)函數(shù);庫函數(shù)、用戶自定義函數(shù);無參函數(shù)、有參函數(shù);無返回值函數(shù)、有返回值函數(shù)二、函數(shù)的一般形式一二、函數(shù)的一般形式一函數(shù)應(yīng)當(dāng)先定義,后調(diào)用。函數(shù)定義的一般形式及說明(1)(2)例 7-1:輸入三個整數(shù)

41、,求三個整數(shù)中的最大值,打印。思考問題。三、函數(shù)的參數(shù)和返回值三、函數(shù)的參數(shù)和返回值1、形式參數(shù) 2、實(shí)際參數(shù) 3、參數(shù)的傳遞。2、函數(shù)返回值。return 語句及說明。四、函數(shù)的調(diào)用四、函數(shù)的調(diào)用1、函數(shù)調(diào)用的一般形式及說明(單獨(dú)語句/表達(dá)式中、參數(shù)相容)例 7-3:以表達(dá)式的形式進(jìn)行函數(shù)的調(diào)用。(自學(xué))2、函數(shù)調(diào)用時(shí)數(shù)據(jù)的傳遞-參數(shù)傳遞、函數(shù)的返回值、全局變量例 7-4:求學(xué)生平均成績。P110.(注意參數(shù)傳遞的是數(shù)組的地址)3、函數(shù)的聲明例 7-5:函數(shù)聲明例子。P112.五、函數(shù)的嵌套調(diào)用和遞歸調(diào)用五、函數(shù)的嵌套調(diào)用和遞歸調(diào)用函數(shù)允許嵌套調(diào)用和遞歸調(diào)用。遞歸調(diào)用是嵌套調(diào)用的特例。(1)

42、函數(shù)的嵌套調(diào)用例 7-6:計(jì)算兩整數(shù)的最小公倍數(shù)。P113.(2)函數(shù)的遞歸調(diào)用例 7-7:用遞歸法求 n!(P.114)課后自課后自我總結(jié)我總結(jié)分析分析C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第32-32-32 課時(shí)課時(shí)備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案授課內(nèi)授課內(nèi)容容第 7 章(2)函數(shù)變量的作用域和生命周期教學(xué)目教學(xué)目的和要的和要求求掌握變量作用域、生命期掌握插入排序重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):變量作用域、生命期;插入排序難點(diǎn):變量作用域、生命期;插入排序教學(xué)安教學(xué)安排排講授講授六、變量的作用域(有效范圍、可見性)六、變量的作用域(有效范圍、可見性)變量的作用域:變量的有效范圍

43、或者變量的可見性。變量定義的位置決定了變量的作用域。變量從作用域(變量的有效范圍,可見性)的角度可以分為:局部變量,全局變量。1、局部變量(函數(shù)體內(nèi)變量、形參變量、復(fù)合語句內(nèi)變量)一互不干預(yù)、動態(tài)分配例 7-8:各函數(shù)局部變量同名的應(yīng)用示例。P116-117.2、全局變量(所有函數(shù)之外一文件作用域、程序作用域)全局變量可以和局部變量同名一坐井觀天例 7-9:全局變量、局部變量同名的應(yīng)用示例。P118。例 7-10:全局變量、局部變量的應(yīng)用示例。P118。七、變量的存儲類別(生存期、生命期)七、變量的存儲類別(生存期、生命期)變量從空間上分為局部變量、全局變量。從變量存在的時(shí)間的長短(即變量生存

44、期)來劃分,變量還可以分為:動態(tài)存儲變量、靜態(tài)存儲變量。變量的存儲方式?jīng)Q定了變量的生存期。C語言變量的存儲方式可以分為:動態(tài)存儲方式、靜態(tài)存儲方式。全局變量全部是靜態(tài)的;局部變量可以是靜態(tài),也可以是動態(tài)(auto,register)。例7-11:寄存器局部變量的應(yīng)用.P120.(完成n+(n-l)+(n-2)+.+l)例7-12:靜態(tài)局部變量的應(yīng)用示例。P121.八、內(nèi)部函數(shù)和外部函數(shù)八、內(nèi)部函數(shù)和外部函數(shù)默認(rèn)是外部函數(shù)九、函數(shù)應(yīng)用舉例九、函數(shù)應(yīng)用舉例例 7-14:字符串逆序。P124.例 7-15:求矩陣最大元素。P124-125.例 7-16:利用插入法將 10 個字符從小到大進(jìn)行排序。P

45、125-126.課后自課后自我總結(jié)我總結(jié)分析分析備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 33-3433-34 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 8 章(1)指針概述及指針作為函數(shù)參數(shù)教學(xué)目教學(xué)目的和要的和要求求指針的基本概念,變量訪問方式;指針變量定義、賦值、引用。指針作為函數(shù)參數(shù)。重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):指針的基本概念;指針變量定義、賦值、引用;指針作為函數(shù)參數(shù)難點(diǎn):指針的基本概念教學(xué)安教學(xué)安排排講授一指針基礎(chǔ)講授一指針基礎(chǔ)一、指針變量的定義一、指針變量的定義(變量先定義后使用)1、定義格式:2、說明:(1)指針變量基類型-指針變量指向數(shù)據(jù)的類型(2)指針變量存放地址值,本身占用空間

46、2 字節(jié)二、指針變量的賦值二、指針變量的賦值(使用未賦值指針等同于向一個隨機(jī)的內(nèi)存中寫入數(shù)據(jù))1、將地址直接賦值給指針變量。例如,float*f=malloc(4);2、將變量地址賦值給指針變量。例如:floata,*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ù)參數(shù),可以在函數(shù)中對指針?biāo)赶蜃兞康闹颠M(jìn)行處理(修改)。指針作為函數(shù)參數(shù),

47、本質(zhì)上同樣是單向傳值,但是由于傳遞的是地址值,所以可以通過地址值間接修改形參、實(shí)參共同指向的變量。例 9-2:輸入 a,b 兩個數(shù)父換后輸出。在 swap 函數(shù)中使用兩個指針作為函數(shù)參數(shù),對兩個指針?biāo)赶蜃兞恐颠M(jìn)行父換。結(jié)論:1、要在被調(diào)用函數(shù)中,修改主調(diào)函數(shù)的變量值應(yīng)當(dāng):(1)將主調(diào)函數(shù)變量的地址傳遞給被調(diào)用函數(shù),就是說函數(shù)應(yīng)當(dāng)傳遞的是變量的地址。(2)被調(diào)用函數(shù)的形參應(yīng)當(dāng)使用指針變量接受主調(diào)函數(shù)的地址值。(3)在被調(diào)用函數(shù)中通過形參指針變量間接訪問,修改實(shí)參、形參地址所共同指向的變量。本例的操作是交換兩個指針變量所指向的變量。2、函數(shù)使用指針作為參數(shù),可以增加主調(diào)函數(shù)與被調(diào)函數(shù)之間數(shù)據(jù)溝通

48、的渠道。課后自課后自我總結(jié)我總結(jié)分析分析備注備注C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案第第 35-3635-36 課時(shí)課時(shí)授課內(nèi)授課內(nèi)容容第 8 章(2)通過指針引用數(shù)組教學(xué)目教學(xué)目的的通過指針引用數(shù)組兀素;數(shù)組的指針變量”作為函數(shù)參數(shù);通過指針指向多維數(shù)組和要求和要求重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):數(shù)組的指針變量”作為函數(shù)參數(shù);通過指針指向多維數(shù)組難點(diǎn):數(shù)組的指針變量”作為函數(shù)參數(shù);通過指針指向多維數(shù)組教學(xué)安教學(xué)安排排講授講授一、數(shù)組元素的指針一、數(shù)組元素的指針每個數(shù)組元素都在內(nèi)存中占有存儲單元,它們都有相應(yīng)的地址,所謂數(shù)組元素的指針就是數(shù)組元素的地址。二、在引用指針元素時(shí)指針的運(yùn)算二、在引用指針元

49、素時(shí)指針的運(yùn)算1、在一定條件下允許對指針進(jìn)行加和減的運(yùn)算。2、在指針指向數(shù)組元素時(shí),可以對指針進(jìn)行加和自加,減和自減運(yùn)算。三、通過指針引用數(shù)組元素三、通過指針引用數(shù)組元素1、下標(biāo)法2、指針法例&7 通過指針變量輸出整型數(shù)組 a 的 10 個元素。四、用數(shù)組名和四、用數(shù)組名和“數(shù)組的指針變量數(shù)組的指針變量”作為函數(shù)參數(shù)作為函數(shù)參數(shù)例&8 將數(shù)組 a 中 n 個整數(shù)按相反順序存放。例&9 將例&8 寫成指針變量作實(shí)參例&10 用指針法對 10 個整數(shù)按從大到小順序排序五、通過指針指向多維數(shù)組五、通過指針指向多維數(shù)組1、多維數(shù)組的地址2、指向多維數(shù)組元素的指針

50、(1) 指向數(shù)組元素的指針變量例8.12有一個 3X4 的二維數(shù)組,要求用指向元素的指針變量輸出二維數(shù)組各元素的值。(2) 指向由 m 個元素組成的一維數(shù)組的指針變量3、用指向數(shù)組的指針作函數(shù)參數(shù)例 8.14 有一個班,3 個學(xué)生,各學(xué) 4 門課程,計(jì)算總平均分?jǐn)?shù)以及第 n 個學(xué)生的成績。例&15 在例&14 的基礎(chǔ)上,查找有 1 門以上課程不及格的學(xué)生,輸出他們?nèi)空n程的成績。課后自課后自我總結(jié)我總結(jié)分析分析備注備注第第 37-3837-38 課時(shí)課時(shí)C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案授課內(nèi)授課內(nèi)容容第 8 章(3)通過指針引用字符串教學(xué)目教學(xué)目的和要的和要求求掌握字符

51、指針作為函數(shù)參數(shù);理解使用字符指針變量和字符數(shù)組的異同重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):字符指針作為函數(shù)參數(shù);理解使用字符指針變量和字符數(shù)組的異同難點(diǎn):字符指針作為函數(shù)參數(shù);理解使用字符指針變量和字符數(shù)組的異同教學(xué)安教學(xué)安排排講授講授一、字符串的引用方式一、字符串的引用方式1、可通過字符數(shù)組名和下標(biāo)引用字符串中的一個字符。2、也可以通過數(shù)組名和格式聲明$輸出該字符串例 8.16 定義一個字符數(shù)組,在其中存放字符串“IloveChina!”,輸出該字符串和第 8 個字符。C 語言中只有字符變量,沒有字符串變量。例&18 將字符串 a 復(fù)制為字符串 b,然后輸出字符串 b。例&19 例&

52、;18 改用指針變量來處理二、字符指針作為函數(shù)參數(shù)二、字符指針作為函數(shù)參數(shù)例8.20用函數(shù)調(diào)用實(shí)現(xiàn)字符串的復(fù)制(1) 用字符數(shù)組名作為函數(shù)的參數(shù)(2) 用字符指針變量作為函數(shù)的參數(shù)其實(shí)編譯系統(tǒng)把字符數(shù)組名按指針變量處理的,只是表示形式不同。三、使用字符指針變量和字符數(shù)組的比較三、使用字符指針變量和字符數(shù)組的比較1、 字符數(shù)組由若干個元素組成, 每個元素中放一個字符, 而字符指針變量中存放的是地址。2、賦值方式??梢詫ψ址羔樧兞抠x值,但不能對數(shù)組名賦值3、初始化含義4、存儲單元內(nèi)容5、指針變量的值是可以改變的,而數(shù)組名代表一個固定的值6、字符數(shù)組中各元素的值是可以改變的。7、引用數(shù)組元素四、隨

53、堂練習(xí)四、隨堂練習(xí)與一函數(shù),實(shí)現(xiàn)兩個字符串的比較。intstrcmp(char*p1,char*p2)五、上機(jī)演示及學(xué)實(shí)踐操作五、上機(jī)演示及學(xué)實(shí)踐操作在講課的同時(shí)切換到編譯器界面調(diào)試代碼課后自課后自我總結(jié)我總結(jié)分析分析備注備注第第 39-4039-40 課時(shí)課時(shí)C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案授課內(nèi)授課內(nèi)容容第 8 章(4)動態(tài)內(nèi)存管理與指向它的指針變量教學(xué)目教學(xué)目的和要的和要求求掌握用函數(shù)指針變量調(diào)用函數(shù);掌握用指向函數(shù)的指針作函數(shù)參數(shù)重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):用函數(shù)指針變量調(diào)用函數(shù);用指向函數(shù)的指針作函數(shù)參數(shù)難點(diǎn):用函數(shù)指針變量調(diào)用函數(shù);用指向函數(shù)的指針作函數(shù)參數(shù)教學(xué)安教學(xué)安排排講授講

54、授一、指向函數(shù)的指針一、指向函數(shù)的指針編譯系統(tǒng)為函數(shù)代碼分配一段存儲空間,這段存儲空間的起始地址,稱為這個函數(shù)的指針二、用函數(shù)指針變量調(diào)用函數(shù)二、用函數(shù)指針變量調(diào)用函數(shù)例8.22求兩個整數(shù)的最大值講解通過函數(shù)名調(diào)用函數(shù)與通過指針變量訪問它所指向的函數(shù)的異同。三、怎樣定義和使用指向函數(shù)的指針變量三、怎樣定義和使用指向函數(shù)的指針變量類型名(*指針變量名)(函數(shù)參數(shù)表列)例8.23講解四、用指向函數(shù)的指針作函數(shù)參數(shù)四、用指向函數(shù)的指針作函數(shù)參數(shù)指向函數(shù)指針變量的一個重要用途是把函數(shù)的地址作為參數(shù)傳遞到其它函數(shù)。例8.24講解五、返回指針值的函數(shù)五、返回指針值的函數(shù)一個函數(shù)可以返回一個整型值、字符值、

55、實(shí)型值等,也可以返回指針型的數(shù)據(jù),即地址。定義返回指針值函數(shù)的一般形式為:類型名*函數(shù)名(參數(shù)表列)例8.25講解六、指針數(shù)組和多重指針六、指針數(shù)組和多重指針1、什么是指針數(shù)組2、指向指針數(shù)據(jù)的指針例8.28講解3、指針數(shù)組作主函數(shù)的形參七、上機(jī)演示及學(xué)實(shí)踐操作七、上機(jī)演示及學(xué)實(shí)踐操作在講課的同時(shí)切換到編譯器界面調(diào)試代碼課后自課后自我總結(jié)我總結(jié)分析分析備注備注第第 41-41-42課時(shí)課時(shí)C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案授課內(nèi)授課內(nèi)容容第 8 章(5)動態(tài)內(nèi)存分配動態(tài)內(nèi)存分配教學(xué)目教學(xué)目的和要的和要求求掌握指針數(shù)組和多重指針;掌握動態(tài)內(nèi)存分配的技巧重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):指針數(shù)組和多重指

56、針;動態(tài)內(nèi)存分配的技巧難點(diǎn):指針數(shù)組和多重指針;動態(tài)內(nèi)存分配的技巧教學(xué)安教學(xué)安排排講授講授C 定義了 4 個內(nèi)存區(qū)間:代碼區(qū),全局變量與靜態(tài)變量區(qū),局部變量區(qū)即棧區(qū),動態(tài)存儲區(qū),即堆(heap)區(qū)或自由存儲區(qū)(freestore)。一、堆棧和隊(duì)列一、堆棧和隊(duì)列1、堆棧堆棧是一種特殊的線性表。(1)棧頂和棧底2、隊(duì)列堆棧也是一種特殊的線性表。(1)隊(duì)頭與隊(duì)尾二、堆與動態(tài)內(nèi)存分配二、堆與動態(tài)內(nèi)存分配有些操作對象只在程序運(yùn)行時(shí)才能確定,這樣編譯時(shí)就無法為他們預(yù)定存儲空間,只能在程序運(yùn)行時(shí),系統(tǒng)根據(jù)運(yùn)行時(shí)的要求進(jìn)行內(nèi)存分配,這種方法稱為動態(tài)內(nèi)存分配。所有動態(tài)內(nèi)存分配都在堆區(qū)中進(jìn)行。三、動態(tài)內(nèi)存分配三、

57、動態(tài)內(nèi)存分配1、什么是內(nèi)存的動態(tài)分配2、建立內(nèi)存分配的動態(tài)分配(1) malloc 函數(shù)malloc 是一個函數(shù),專門用來從堆上分配內(nèi)存。使用 malloc 函數(shù)需要幾個要求:內(nèi)存分配給誰?分配多大內(nèi)存?是否還有足夠內(nèi)存分配?4內(nèi)存的將用來存儲什么格式的數(shù)據(jù),即內(nèi)存用來做什么?5分配好的內(nèi)存在哪里?如果這五點(diǎn)都確定,那內(nèi)存就能分配。下面先看 malloc 函數(shù)的原型void*malloc(uintsize)(2)calloc 函數(shù)(3)free 函數(shù)(4)realloc 函數(shù)四、什么是野指針?biāo)摹⑹裁词且爸羔?、野雞指針的形成2、野指針的危害五、五、void指針類型指針類型指向空類型指針,而非指

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

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

60、構(gòu)體指針變量1、結(jié)構(gòu)體指針變量(1) 結(jié)構(gòu)體指針變量的定義課后自課后自我總結(jié)我總結(jié)分析分析備注備注第第 45-45-46課時(shí)課時(shí)C C 語言程序設(shè)計(jì)教案語言程序設(shè)計(jì)教案授課內(nèi)授課內(nèi)容容第 9 章鏈表教學(xué)目教學(xué)目的和要的和要求求掌握鏈表的使用;重點(diǎn)難重點(diǎn)難點(diǎn)點(diǎn)重點(diǎn):掌握鏈表的使用;掌握共同體類型的使用;理解枚舉類型的概念難點(diǎn):掌握鏈表的使用;掌握共同體類型的使用;理解枚舉類型的概念教學(xué)安教學(xué)安排排講授講授一、鏈表概述一、鏈表概述1、什么是鏈表(1) 鏈表中節(jié)點(diǎn)的定義(2) 鏈表的基本操作2、建立簡單的靜態(tài)鏈表一、建立動態(tài)鏈表一、建立動態(tài)鏈表1、動態(tài)鏈表(1) 處理動態(tài)鏈表所需要的函數(shù) malloc()、calloc()、free()(2) 結(jié)點(diǎn)的動態(tài)分配2、輸出鏈表例 9.10 編寫一個輸出鏈表

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論