《C語言程序設(shè)計》教案_第1頁
《C語言程序設(shè)計》教案_第2頁
《C語言程序設(shè)計》教案_第3頁
《C語言程序設(shè)計》教案_第4頁
《C語言程序設(shè)計》教案_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計教案課程名稱C語言程序設(shè)計總學分: 4學分總學時:64學時 其中: 講課 44學時 實踐 20 學時授課對象10統(tǒng)招機電一體考核方式考查課程。 總成績:課堂參與占30%期末考試占70%(閉卷考試:程序編寫題目)。教學基本目的和要求 C語言是近年來國內(nèi)外得到迅速推廣使用的一種計算機語言。C語言程序設(shè)計課程是計算機專業(yè)和信息管理專業(yè)的核心專業(yè)基礎(chǔ)課,它功能豐富,表達能力強,使用靈活方便,應用面廣,目標程序效率高,可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的優(yōu)點。既適用于應用軟件編寫,又適用于系統(tǒng)軟件的編寫。它是數(shù)據(jù)結(jié)構(gòu)等后續(xù)專業(yè)課的基礎(chǔ)。是程序員、等級考試、一些高校研究生入學考

2、試的必考課程,在計算機專業(yè)中是一門舉足輕重的課程,因此,學好C語言是非常重要的。課程的性質(zhì)和任務(wù) C語言程序設(shè)計這門課是我校計算機系、電信系的專業(yè)基礎(chǔ)課、是機械工程系、建筑工程系等專業(yè)的公共必修課。作為計算機系的數(shù)據(jù)結(jié)構(gòu)、c+、操作系統(tǒng)等課程的前導課程,也是一門實踐性很強的課程,既要掌握概念,又要動手編程,還要上機調(diào)試運行。對計算機專業(yè)和理工類專業(yè)來說是一門必修的課程。同時,這門課程也是“四川省非計算機專業(yè)學生計算機應用能力水平考試”二級考試的主要語種之一。課程的教學目標 本課程的教學目標是:通過理論和實踐教學,使學生較好地掌握C語言各方面的知識,掌握基本的程序設(shè)計過程和技巧,具備初步的高級語

3、言程序設(shè)計能力,并能熟練應用TURBO C集成環(huán)境進行C語言的編寫、編譯與調(diào)試,能應用C語言解決一般編程問題的水平。 教學重點和難點一、C語言概述重點:C程序結(jié)構(gòu)二、數(shù)據(jù)類型、運算符與表達式      重點:常用數(shù)據(jù)類型、常用運算符、數(shù)學公式轉(zhuǎn)化為C語言表達式的基本能力。三、順序結(jié)構(gòu)程序設(shè)計      重點: C語句的種類、賦值語句、數(shù)據(jù)的輸入輸出及輸入輸出中常用的控制格式。四、選擇結(jié)構(gòu)程序設(shè)計      重點:關(guān)系運算符與邏輯運算符及

4、其組成的具有邏輯值的表達式、二條分支語句的格式及基本應用。五、循環(huán)控制       重點:C構(gòu)成循環(huán)的四種方法,尤其是后三種方法、break與continue語句的基本作用。難點:while語句;do-while語句;for語句;循環(huán)的嵌套;break與continue語句。六、數(shù)組 重點:一維數(shù)組、二維數(shù)組的定義與引用;字符數(shù)組的定義與引用、常用字符串處理函數(shù)及字符處理函數(shù);數(shù)組的應用難點:二維數(shù)組的定義與引用;字符數(shù)組;數(shù)組的應用七、函數(shù)   重點:函數(shù)的定義;函數(shù)的參數(shù)和函數(shù)的值;函數(shù)的調(diào)

5、用;函數(shù)的嵌套調(diào)用;函數(shù)的遞歸調(diào)用;數(shù)組作為函數(shù)參數(shù);變量作用域;量存儲類別; 難點:函數(shù)定義、函數(shù)調(diào)用、函數(shù)聲明等基本基本概念;函數(shù)的嵌套調(diào)用與遞歸調(diào)用; 數(shù)組作為函數(shù)的參數(shù)、變量的存儲類別與作用域。八、編譯預處理 重點和難點:有參宏、無參宏的定義與應用;文件包含的基本概念。 九、指針 重點和難點:指針與地址的基本概念、指針與變量的關(guān)系;指針與數(shù)組;指針與字符串、指針數(shù)組與二級指針;指針的應用十、結(jié)構(gòu)體與共用體   重點:結(jié)構(gòu)體類型的說明及結(jié)構(gòu)體類型變量的定義;結(jié)構(gòu)體變量的引用;結(jié)構(gòu)體變量的初始化;結(jié)構(gòu)體數(shù)組;指針與結(jié)構(gòu)體數(shù)組;共用體;枚舉類型 難點:

6、結(jié)構(gòu)體的基本概念、結(jié)構(gòu)類型及變量的定義、結(jié)構(gòu)數(shù)組;用指針處理鏈表;共用體及枚舉類型的基本概念、typedef的基本概念。十一、文件   重點和難點:文件的基本概念;文件的打開、關(guān)閉、常用讀寫方法。 十二、位運算及程序調(diào)試教材、參考書教材:C程序設(shè)計(第三版) 譚浩強著 清華大學出版社 2005參考書:C語言程序設(shè)計案例教程張基溫等 清華大學出版社C語言程序設(shè)計教案 授課內(nèi)容第1章 C語言概述教學目的和要求了解C歷史,名稱來源、C特點掌握C程序基本結(jié)構(gòu)了解C程序上機步驟重點難點1、法成分(標識符、注釋)2、C程序基本結(jié)構(gòu)(C程序由函數(shù)組成、main主函數(shù)、

7、C函數(shù)基本結(jié)構(gòu))教學安排引言語言:人人語言交流;聾啞人手勢語;人機計算機語言C語言是一種流行的計算機高級語言,C語言適合于編寫系統(tǒng)軟件,也可以編寫應用程序。講授一、語言出現(xiàn)的歷史背景(1)C語言的發(fā)展源于人們希望用高級語言編寫操作系統(tǒng)。(C-BCPL第二字母)ALGOL60(高級語言)->CPL(硬件支持)- BCPC->B->C->標準C-> ANSI C -> ISO C(2) 語言既具有高級語言特性,又具有低級語言特性-中級語言。二、C語言的特點C語言是從ALGOL60、CPL發(fā)展而來,既具有一般高級語言特性,又具有低級語言特性。8個特點。三、C語言基

8、本語法成分(重點:標識符,注釋)(1) C語言字符集。字母、數(shù)字、特殊字符。(2) 標識符(名字),C語言標識符定義規(guī)則及注意事項。說明:教師備課筆記由學校自訂式樣并附后(3) 關(guān)鍵詞(保留字)。參閱P234附錄V。(4) 運算符。參閱P233附錄IV。(5) 分隔符:逗號,空格。起分隔、間隔作用。(6) 注釋符。/* . */,編譯時編譯系統(tǒng)忽略注釋。作用:注釋、調(diào)試程序。四、C程序結(jié)構(gòu)(3個C程序引入C程序結(jié)構(gòu))3個C程序例子(最簡單C程序、有多條語句的C程序、調(diào)用自定義函數(shù)的C程序)C程序結(jié)構(gòu):(1) C程序由函數(shù)組成l 函數(shù)是C程序的基本單位。程序至少有1個main()(例1.1),也

9、可以包含1個main()和若干個用戶定義的其它函數(shù)(例1.3)。l C程序通過函數(shù)的調(diào)用完成程序的功能。(例1.1,1.2,1.3)l 被調(diào)用的函數(shù)可以是系統(tǒng)庫函數(shù)(例1.1)或用戶自定義函數(shù)(例1.3)。特別強調(diào):1個程序至少應有1個main函數(shù),main()函數(shù)是整個程序的執(zhí)行起點。main()函數(shù)的位置無關(guān)緊要。(2) 函數(shù)結(jié)構(gòu)(用例1.3 max,main分別說明)函數(shù)頭:函數(shù)返回類型 函數(shù)名(函數(shù)參數(shù)類型 函數(shù)形式參數(shù),.)函數(shù)體:包含聲明+執(zhí)行部分C語言程序設(shè)計教案 授課內(nèi)容第2章 基本語法基礎(chǔ)-數(shù)據(jù)類型教學目的和要求了解C語言豐富的數(shù)據(jù)類型;常量、變量的概念掌握變量定義原則和符號

10、常量定義方法掌握常用基本數(shù)據(jù)類型(整型、實型、字符型)數(shù)據(jù)的常量表示、機內(nèi)存儲、變量分類以及掌握正確選擇數(shù)據(jù)類型了解數(shù)值型數(shù)據(jù)混合運算及類型轉(zhuǎn)換規(guī)律。重點難點重點: 變量定義原則 常用基本數(shù)據(jù)類型(整型、實型、字符型)數(shù)據(jù)的常量表示、機內(nèi)存儲、變量分類, 正確選擇數(shù)據(jù)類型難點: 整型數(shù)據(jù)的機內(nèi)表示,字符數(shù)據(jù)的機內(nèi)表示教學安排講授一、常量與變量1、 常量概念、常量類型,直接常量/符號常量。2、 變量概念、變量名/變量在內(nèi)存中占據(jù)的單元/變量值/變量地址。變量先定義后使用。二、整型數(shù)據(jù)(內(nèi)存中補碼存儲)1、 整型常數(shù)。10,8,16進制表示2、 整型變量分類:基本整型int/長/短;有符號/無符號

11、。觀察數(shù)據(jù)表達范圍字節(jié)數(shù)3、 整型變量定義、初始化。例2-2。4、 整型數(shù)據(jù)的溢出。例2-2A。三、實型數(shù)據(jù)1、 實型常量表示。小數(shù)形式,指數(shù)形式e。2、 實型變量分類。重要的兩種float、double。觀察數(shù)據(jù)表達范圍字節(jié)數(shù)有效數(shù)字3、 實型數(shù)據(jù)的舍入誤差。例2-3A。四、字符型數(shù)據(jù)1、 字符常量表示。直接表示/轉(zhuǎn)義表示(特殊的轉(zhuǎn)義字符,一般字符也可以轉(zhuǎn)義表示)。特殊轉(zhuǎn)義字符對顯示/打印的控制作用2、 字符變量1個字節(jié),char關(guān)鍵詞。3、 字符數(shù)據(jù)的存儲ASCII碼/二進制存儲C語言可以將字符看做很短的整數(shù)處理。例2-7A,例2-8A可以看出字符數(shù)據(jù)的具有整數(shù)特性。4、 字符串常量?!啊?/p>

12、括字符序列,尾部有0結(jié)束。五、數(shù)值型數(shù)據(jù)混合運算(轉(zhuǎn)換為同類型運算)1、 自動隱式轉(zhuǎn)換。規(guī)則:(1) 類型不同,轉(zhuǎn)換為相同類型,然后運算(2) 低類型向高類型轉(zhuǎn)換(圖)(3) 賦值轉(zhuǎn)換?!?”右邊類型=>左邊類型,然后賦值C語言程序設(shè)計教案 授課內(nèi)容第2章 基本語法基礎(chǔ)-運算符與表達式教學目的和要求了解:C語言的豐富運算符,豐富的運算符可以構(gòu)成靈活的表達式掌握算術(shù)、賦值、逗號運算符及它們構(gòu)成的表達式。掌握運算符的優(yōu)先級、結(jié)合性規(guī)律。重點難點重點: 算術(shù)、賦值、自增/減運算符及它們構(gòu)成的表達式 運算符的優(yōu)先級、結(jié)合性規(guī)律。教學安排引言C語言運算符豐富,C語言豐富的運算符構(gòu)成C語言豐富、靈活

13、的表達式。本章主要介紹算術(shù)運算符(包括自增自減運算符)、賦值運算符、逗號運算符。講授一、算術(shù)運算符和算術(shù)表達式1、算術(shù)運算符(+、-、*、/)P23.表3-2。(1) 整除的結(jié)果為整數(shù),結(jié)果向0取整,實質(zhì)就是舍去小數(shù). (2) %,要求操作數(shù)均為整型。余數(shù)的符號與被除數(shù)符號相同。例如:-8%5=-3;8%-5=32、算術(shù)表達式 注意:C語言算術(shù)表達式的書寫形式數(shù)學表達式的書寫形式區(qū)別:(1)(4)。3、(算術(shù))運算符的優(yōu)先級與結(jié)合性(P.233附錄IV) 先按運算符的“優(yōu)先級別”高低次序執(zhí)行;優(yōu)先級別相同,則按規(guī)定的“結(jié)合方向”處理。為了清晰起見可用圓括號“()”強制。例1:表達式a-b*c等

14、價于a-(b*c)。 例2:a-b+c,到底是(a-b)+c還是a-(b+c)?(b先與a運算還是先與c參與運算?) 例3:分析x=y=z=3+5二、賦值運算符、賦值表達式1、 賦值運算符、賦值表達式(1) 賦值運算符(2) 賦值表達式。一般形式:變量賦值符表達式(3) 賦值表達式的求解過程:賦值整個賦值表達式的值。例如:x=10+y; 說明:(1)左變量(2)不具“等”含義(3)類型轉(zhuǎn)換(4)賦值表達式值2、 復合賦值運算符復合賦值表達式形式:變量<雙目運算符>=表達式 等價:變量=變量<雙目運算符>表達式例如:n+=1 等價于 n=n+1;x*=y+1 等價于 x=

15、x*(y+1)3、 賦值運算符、賦值表達式舉例。(1)a=5 (2)a=b=5 (3)a=(b=4)+(c=3) (4)假如a=12,分析:a+=a-=a*a(答案:-264)三、自增、自減運算符單目運算符,使變量的值增1或減1。如:+i,i+ (等價i=i+1) -i,i (等價<=>i=i-1)注意:(1)-(4);(前置運算):先自增、減,再參與運算;(后置運算):先參與運算, (整個表達式運算結(jié)束后)再自增、減。C語言程序設(shè)計教案 授課內(nèi)容第4章 順序程序設(shè)計教學目的和要求了解C語言語句分類:控制語句,表達式語句,復合語句掌握表達式語句,復合語句的構(gòu)成掌握格式化輸入/輸出函

16、數(shù),常用其它輸入/輸出函數(shù)的使用。重點難點重點: 表達式語句,復合語句的構(gòu)成 格式化輸入/輸出函數(shù)難點: 格式控制項的各種形式教學安排引言程序設(shè)計通常采用三種不同的程序結(jié)構(gòu):順序,選擇(分支),循環(huán)(重復)。順序結(jié)構(gòu)是最簡單、最基本的程序結(jié)構(gòu)。通過本章學習,可以開始簡單的C程序設(shè)計。講授一、C語句概述C程序的總體層次結(jié)構(gòu):程序、模塊,函數(shù),語句。語句:是向計算機發(fā)出的用來完成一定操作任務(wù)的指令。C語言語句分類:1、 控制語句(9種)2、 表達式語句(典型的賦值,函數(shù)調(diào)用、空語句)3、 復合語句(相當一條語句,哪里有語句,哪里就可以用復合語句)二、輸入/輸出及其C語言的實現(xiàn)(補充)1、 計算機由

17、主機(CPU、內(nèi)存),外圍設(shè)備(輸入/輸出設(shè)備),接口組成2、 主機向外部設(shè)備“輸出”, 外部設(shè)備向主機“輸入”。輸入/輸出相對主機而言。3、 C語言本身不提供輸入/輸出語句,輸入/輸出操作由函數(shù)實現(xiàn)。三、格式輸入/輸出1、 printf函數(shù)(格式輸出函數(shù))(1) 格式:printf(格式控制字符串,輸出表列) 格式控制字符串:(格式控制項、普通字符)輸出表列:一般是一個表達式,簡單地,可以是變量。(2) 格式控制字符d、o、x/X、u、c、s、f、e/E、g/G構(gòu)成控制項的各種常見形式。表3-1,3-2。注意:不要死記硬背,要總結(jié)規(guī)律。一般形式:% ± m n h/l 格式字符2、

18、 scanf函數(shù)(格式輸入函數(shù))(1) 格式:scanf(格式控制字符串,輸入表列地址列表) 格式控制字符串:含義與printf類似輸入表列地址列表:變量的地址或字符數(shù)組的首地址(2) 格式控制字符、格式控制項與printf類似,表3-3,4。一般使用更加簡單形式。注意: 數(shù)據(jù)讀入結(jié)束情況:遇空格、TAB、回車;遇非法輸入;指定寬度結(jié)束。四、其它輸入/輸出函數(shù)1、 putchar函數(shù) 一般形式:putchar(字符表達式);2、 puts函數(shù) 一般形式:puts(char *str);3、 gets函數(shù) 一般形式:gets(char *str);五、順序結(jié)構(gòu)程序設(shè)計舉例ü 例4-3:

19、輸入三角形的三邊長,求三角形面積。ü 例4-5:求ax2+bx+c=0方程的根。a,b,c由鍵盤輸入,設(shè)b2-4ac>0。六、上機演示和學生操作 1、各個數(shù)據(jù)輸入函數(shù)的使用; 2、各種數(shù)據(jù)輸出格式的控制。課堂提問討論小結(jié),作業(yè)布置C語言的格式輸入/輸出的規(guī)定比較繁瑣,重點掌握最常用的一些規(guī)則和規(guī)律即可,其它部分可在需要時隨時查閱。C語言程序設(shè)計教案 授課內(nèi)容第5章 選擇結(jié)構(gòu)程序設(shè)計一教學目的和要求理解條件-產(chǎn)生邏輯值的表達式掌握關(guān)系運算符、關(guān)系表達式;邏輯運算符、邏輯表達式掌握if語句重點難點重點: 關(guān)系運算符、關(guān)系表達式 邏輯運算符、關(guān)系表達式難點: 嵌套if語句教學安排引言

20、a) 選擇結(jié)構(gòu)(分支結(jié)構(gòu)):根據(jù)條件,在幾個可選擇分支中進行選擇。C語言的選擇結(jié)構(gòu)可以用(1)if語句(2)switch語句(3)“條件運算”表達式實現(xiàn)。b) 舉例說明:例5-1,用if語句構(gòu)成的選擇結(jié)構(gòu)(分段函數(shù))c) 選擇結(jié)構(gòu)最重要的是“選擇結(jié)構(gòu)的條件”。C語言中的條件是采用能產(chǎn)生邏輯值“真、假”的關(guān)系運算和邏輯運算來表示的。講授一、關(guān)系運算符和關(guān)系表達式“關(guān)系運算”(比較運算)即,將兩個值進行比較,判斷是否符合或滿足給定的條件。1、 關(guān)系運算符及其優(yōu)先次序a) C語言提供6種關(guān)系運算符。表5-1。b) 關(guān)于優(yōu)先次序:前4種高于后兩種;關(guān)系低于算術(shù);關(guān)系高于賦值例5-2。2、 關(guān)系表達式關(guān)

21、系表達式的值是邏輯值,即“真”“假”。C語言沒有邏輯型數(shù)據(jù),1“真”,0“假”。例5-3。二、邏輯運算符和邏輯表達式“關(guān)系運算”(比較運算)即,兩個邏輯值的運算。1、 邏輯運算符。3種,表5-2。(1)&& 邏輯與,(2)| 邏輯或,(3)! 邏輯非2、 邏輯運算符的優(yōu)先順序: (1)!- &&- |,“!”為三者中最高。(2)&&|低于關(guān)系運算符,!高于算術(shù)運算符。例5-4。3、 邏輯表達式(1) 邏輯值只能是0/1,但判斷量是否為“真”時,以0-“假”,非0-“真”。例5-5,6。(2) 邏輯運算的短路現(xiàn)象。例:a&&b&am

22、p;&c,a|b|c(3) 可以用一個邏輯表達式來表示一個復雜的條件。例:閏年標準。三、if語句if語句用來判定所給定的條件是否滿足,即結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。1、 if語句三種形式(1)if(表達式)語句。(2)if(表達式)語句1 else 語句2(3)if(表達式1)語句1 else if(表達式m)語句m else 語句m+1if語句使用說明。(1)(2)(3)if語句使用例子:例5-1:兩數(shù)交換;例5-2:三數(shù)排序。2、 if語句的嵌套:if語句的嵌套:if語句的if塊或else塊中,又包含一個if語句。(1) if語句嵌套一般形式。(2) else語句匹配

23、問題例5-3:分段函數(shù)課堂提問討論小結(jié)、作業(yè)布置C語言程序設(shè)計教案 授課內(nèi)容第5章 選擇結(jié)構(gòu)程序設(shè)計二教學目的和要求掌握條件運算符、條件表達式掌握switch-case語句重點難點switch-case語句教學安排引言d) 復習關(guān)系運算、邏輯運算、if語句e) 引入簡單的條件運算符及表達式、以及開關(guān)語句講授一、條件運算符、條件表達式在if語句中,在表達式為“真”和“假”時,都只執(zhí)行一個賦值語句給同一個變量賦值時,可以使用簡單的條件運算符來處理。例如:if(a>b)max=a;else max=b; <=> max=a>b?a:b;(1) 條件表達式的一般形式:表達式1?

24、表達式2:表達式3(2) 條件表達式說明(5點)例5-4.二、switch-case語句(多分支選擇語句/開關(guān)語句)3、 switch一般形式4、 switch語句說明。(1)-(7)三、分支程序例子例5.5 寫程序,判斷某一年是否是閏年。例5.6 求一元二次方程ax2+bx+c=0的根。例5.7 運輸公司對用戶計算運費。課堂提問討論小結(jié)、作業(yè)布置思考題、課后作業(yè)教材:P58.1-14實驗一: 編寫求一元二次方程的根。主要參考資料四川省二級考試題庫課后自我總結(jié)分析備注(對本章節(jié)的課堂教學需補充說明的內(nèi)容)C語言程序設(shè)計教案 授課內(nèi)容第6章 循環(huán)結(jié)構(gòu)程序設(shè)計一教學目的和要求掌握while當型循環(huán)

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

26、語句(直到型循環(huán))1、do-while語句的一般形式2、do-while執(zhí)行過程(流程圖)3、do-while說明:例6-4:利用do-while語句計算機1+1/2+1/4+1/50。三、for語句(當型循環(huán))1、 for語句的一般形式(給出while循環(huán)的對應結(jié)構(gòu))2、 for循環(huán)執(zhí)行過程(流程圖)例6-6:寫一個程序,計算半徑為0.5,1.5,2.5,3.5,4.5,5.5mm時圓的半徑。例6-7:求正整數(shù)n的階乘n!,其中n由用戶輸入。3、 for語句最容易理解、最常用的形式4、 for語句說明(6點)。C語言的for語句功能強大,使用靈活。課堂提問討論小結(jié)、作業(yè)布置思考題、課后作業(yè)教

27、材:P81.1-12實驗二: 準備。主要參考資料四川省二級考試題庫課后自我總結(jié)分析備注(對本章節(jié)的課堂教學需補充說明的內(nèi)容)C語言程序設(shè)計教案 授課內(nèi)容第6章 循環(huán)結(jié)構(gòu)程序設(shè)計二教學目的和要求三種循環(huán)結(jié)構(gòu)的比較。掌握break;continue;通過應用例子進一步掌握循環(huán)結(jié)構(gòu)重點難點break;continue;功能,區(qū)別。通過應用例子進一步掌握循環(huán)結(jié)構(gòu)教學安排引言復習3種循環(huán)結(jié)構(gòu)、引入3種循環(huán)的比較、進一步加深學生對3種循環(huán)結(jié)構(gòu)的理解。講授四、幾種循環(huán)的比較1、 循環(huán)結(jié)構(gòu)的基本組成部分(4部分)2、 幾種循環(huán)的比較。一般相互可以替代,但具體形式有些差異。例6-9:將50-100之間的不能被3

28、整除的數(shù)輸出(用三種循環(huán)結(jié)構(gòu)實現(xiàn))五、break和continue語句1、 break語句(1) break語句的功能(2) break語句說明例6-10:從鍵盤上連續(xù)輸入字符,并統(tǒng)計其中大寫字母的個數(shù),直到輸入“換行”字符。2、 continue語句(翻譯為“繼續(xù)”(循環(huán))(1) continue語句的功能(2) continue/break區(qū)別例6-12:從鍵盤輸入30個字符,并統(tǒng)計其中數(shù)字字符的個數(shù)六、應用舉例例6-14:從鍵盤輸入一個大于2的整數(shù)n,判斷是不是素數(shù)。例6-15:求100-200之間的所有素數(shù)。例6-16:輸出下三角99乘法表例6-17:求Fibonacci數(shù)列的前50項

29、。(最好在數(shù)組,函數(shù)遞歸部分介紹)課堂提問討論注意到例6-15:外層n的循環(huán),循環(huán)變量的修正是:“n=n+2”(即就是每次加2),為什么?(因為只要檢查奇數(shù),偶數(shù)能被2整除,一定不是素數(shù))。小結(jié)、作業(yè)布置思考題、課后作業(yè)實驗二: 編寫100以內(nèi)的所有素數(shù)。主要參考資料四川省二級考試題庫課后自我總結(jié)分析備注(對本章節(jié)的課堂教學需補充說明的內(nèi)容)注:此頁針對具體授課內(nèi)容填寫C語言程序設(shè)計教案 授課內(nèi)容第7章 數(shù)組一教學目的和要求數(shù)組的基本概念一維數(shù)組定義、初始化、引用;最大值、冒泡排序、選擇排序算法。二維數(shù)組定義、初始化、引用;多維數(shù)組重點難點重點: 一維數(shù)組定義、初始化、引用 求最大值、冒泡排序

30、、選擇排序算法 矩陣操作難點: 冒泡排序、選擇排序算法教學安排引言基本數(shù)據(jù)類型構(gòu)造類型的數(shù)據(jù)數(shù)組數(shù)組、數(shù)組元素、數(shù)組的下標、數(shù)組的維數(shù)例如:int a10; 一維數(shù)組可以看作一個數(shù)列,向量。例如:float b33; 二維數(shù)組可以看作一個矩陣。講授一、一維數(shù)組1、 一維數(shù)組的定義 類型說明 數(shù)組名整型常量表達式一維數(shù)組定義說明。(1)(5)2、 一維數(shù)組的初始化的幾種形式(1)(2)(3)3、 數(shù)組元素的引用。數(shù)組元素的引用說明:(1)(2)(3)例7-1:數(shù)組元素的引用例子。4、 一維數(shù)組的應用例子例7-2:從鍵盤輸入10個整型數(shù)據(jù),找出其中的最小值并顯示出來。例7-3:采用“冒泡法”對任意

31、輸入的10個整數(shù)按由小到大的順序排序。例7-4:采用“選擇法” 對任意輸入的10個整數(shù)按由大到小的順序排序。二、二維數(shù)組(注意:類比一維數(shù)組)1、 二維數(shù)組的定義2、 二維數(shù)組的初始化的幾種形式(1)-(5)3、 二維數(shù)組元素的引用例7-5:二維數(shù)組元素的引用的例子(自學)-構(gòu)造、打印單位矩陣。思考:下標是從1開始使用的,哪些元素在此例子中未使用?它們的值是多少?(隨機值)4、 二維數(shù)組應用舉例例7-6:分別計算矩陣的兩條對角線(主、輔對角線)上的元素之和。例7-7:找出矩陣所有元素中的最大值。課堂提問討論思考題、課后作業(yè)教材:P101.1-10實驗三: 冒泡排序。C語言程序設(shè)計教案 授課內(nèi)容

32、第7章 數(shù)組二教學目的和要求字符數(shù)組定義、初始化、引用字符串與字符數(shù)組字符串處理函數(shù)字符數(shù)組應用重點難點重點:字符串與字符數(shù)組;字符串處理函數(shù)難點: 字符串與字符數(shù)組;字符串處理函數(shù)教學安排引言復習數(shù)組概念,數(shù)組定義、初始化、元素引用方法。引入字符數(shù)組(元素為字符)。講授三、字符數(shù)組字符數(shù)組,字符數(shù)組的每個元素是一個字符; 一維字符數(shù)組可以存放字符串;二維字符數(shù)組可以存放多個字符串。字符數(shù)組可以逐個元素處理,若存放的是字符串,那么還可以直接調(diào)用字符串處理函數(shù)處理。1、 字符數(shù)組的定義、初始化及引用與一般數(shù)組類似。2、 字符串與字符數(shù)組(1) 字符串與字符數(shù)組。存放的內(nèi)容。(2) 字符數(shù)組的初始

33、化(除了一般數(shù)組的初始化方法外,增加了一些方法)例7-8兩種字符數(shù)組初始化方法的區(qū)別-有無串結(jié)束標志。參閱p94。(3) 字符數(shù)組的輸入輸出(兩種形式:逐個字符輸入/輸出,整串輸入/輸出)例7-9:逐個字符輸入/輸出。參閱p94。例7-10:整串輸入/輸出。P95.3、 字符串(字符數(shù)組)處理函數(shù)(1) 字符串輸入,輸出函數(shù):gets、puts(2) 字符串處理函數(shù):strlen、strcat、strcpy、strcmp、例7-11:字符串輸入/輸出應用舉例(P.96)例7-12:求字符串長度示例(P97)例7-13:字符串連接示例(P97)例7-14:字符串復制示例(P98)例7-15:字符

34、串比較示例(P99)4、 字符數(shù)組應用舉例例7-16:由鍵盤任意輸入一個字符串和一個字符,要求從該字符串中刪除所指定的字符。例7-17:由鍵盤輸入三個字符串,找出其中的最大串。(字符串庫函數(shù)的應用)課堂提問討論小結(jié)、作業(yè)布置思考題、課后作業(yè)C語言程序設(shè)計教案 授課內(nèi)容第8章 函數(shù)一教學目的和要求掌握函數(shù)定義、調(diào)用、聲明;函數(shù)參數(shù)傳遞方式重點難點重點:二級考試的重點 函數(shù)定義、調(diào)用、聲明 函數(shù)參數(shù)傳遞方式難點: 函數(shù)參數(shù)傳遞方式傳址(尚未學習指針,用數(shù)組舉例)教學安排引言一、函數(shù)概述1、C語言的函數(shù)。C語言的函數(shù)是子程序的總稱,包括函數(shù)和過程。C語言函數(shù)可以分為庫函數(shù)、用戶自定義函數(shù)2、C語言的

35、程序由函數(shù)組成,函數(shù)是C語言程序的基本單位,程序的總體功能通過函數(shù)的調(diào)用來實現(xiàn)。其中,main起點(圖)3、使用函數(shù)的意義(補充)(1)-(4)4、函數(shù)的一些概念:主函數(shù)、其它函數(shù);主調(diào)函數(shù)、被調(diào)函數(shù);庫函數(shù)、用戶自定義函數(shù);無參函數(shù)、有參函數(shù);無返回值函數(shù)、有返回值函數(shù)二、函數(shù)的一般形式函數(shù)應當先定義,后調(diào)用。函數(shù)定義的一般形式及說明 (1)(2)例8-1:輸入三個整數(shù),求三個整數(shù)中的最大值,打印。思考問題。三、函數(shù)的參數(shù)和返回值1、 形式參數(shù)2、 實際參數(shù)3、 參數(shù)的傳遞。實參傳遞給形參(1)傳值(2)傳址。注意問題:(1)-(4),圖示。由于尚未學習指針,所以傳址用數(shù)組舉例4、 函數(shù)返回

36、值。return語句及說明。四、函數(shù)的調(diào)用1、 函數(shù)調(diào)用的一般形式及說明(單獨語句/表達式中、參數(shù)相容)例8-3:以表達式的形式進行函數(shù)的調(diào)用。(自學)2、 函數(shù)調(diào)用時數(shù)據(jù)的傳遞-參數(shù)傳遞、函數(shù)的返回值、全局變量例8-4:求學生平均成績。P110.(注意參數(shù)傳遞的是數(shù)組的地址)3、 函數(shù)的聲明例8-5:函數(shù)聲明例子。P112.五、函數(shù)的嵌套調(diào)用和遞歸調(diào)用函數(shù)允許嵌套調(diào)用和遞歸調(diào)用。遞歸調(diào)用是嵌套調(diào)用的特例。f) 函數(shù)的嵌套調(diào)用例8-6:計算兩整數(shù)的最小公倍數(shù)。P113.g) 函數(shù)的遞歸調(diào)用(1) 函數(shù)的遞歸調(diào)用(2) 使用遞歸調(diào)用解決問題的方法(3) 遞歸調(diào)用過程(遞推/回歸兩個階段)C語言程

37、序設(shè)計教案 授課內(nèi)容第8章 函數(shù)二教學目的和要求掌握變量作用域、生命期掌握插入排序重點難點重點: 變量作用域、生命期 插入排序難點: 變量作用域、生命期 插入排序教學安排引言復習函數(shù)定義、調(diào)用、參數(shù)傳遞方式,提出各個函數(shù)同名變量問題,進而引入變量作用域概念。講授六、變量的作用域(有效范圍、可見性)變量的作用域:變量的有效范圍或者變量的可見性。變量定義的位置決定了變量的作用域。變量從作用域(變量的有效范圍,可見性)的角度可以分為:局部變量,全局變量。(圖)1、局部變量(函數(shù)體內(nèi)變量、形參變量、復合語句內(nèi)變量)互不干預、動態(tài)分配例8-8:各函數(shù)局部變量同名的應用示例。P116-117.2、全局變量

38、(所有函數(shù)之外文件作用域、程序作用域)全局變量可以和局部變量同名坐井觀天例8-9:全局變量、局部變量同名的應用示例。P118。例8-10:全局變量、局部變量的應用示例。P118。七、變量的存儲類別(生存期、生命期)變量從空間上分為局部變量、全局變量。從變量存在的時間的長短(即變量生存期)來劃分,變量還可以分為:動態(tài)存儲變量、靜態(tài)存儲變量。變量的存儲方式?jīng)Q定了變量的生存期。C語言變量的存儲方式可以分為:動態(tài)存儲方式、靜態(tài)存儲方式。(圖)全局變量全部是靜態(tài)的;局部變量可以是靜態(tài),也可以是動態(tài)(auto,register)。例8-11:寄存器局部變量的應用.P120.(完成n+(n-1)+(n-2)

39、+.+1)例8-12:靜態(tài)局部變量的應用示例。P121.八、內(nèi)部函數(shù)和外部函數(shù)默認是外部函數(shù)九、函數(shù)應用舉例例8-14:字符串逆序。P124.例8-15:求矩陣最大元素。P124-125.例8-16:利用插入法將10個字符從小到大進行排序。P125-126.課堂提問討論小結(jié)、作業(yè)布置C語言程序設(shè)計教案 授課內(nèi)容第9章 編譯預處理教學目的和要求了解編譯過程和編譯預處理掌握宏定義、文件包含重點難點重點: 宏定義、文件包含難點: 帶參數(shù)宏定義教學安排引言復習程序?qū)崿F(xiàn)過程,引入實際編譯兩個階段:編譯預處理,編譯,更廣義的編譯還包括連接。編譯預處理,編譯指令講授一、宏定義宏定義宏定義分為不帶參數(shù)的宏定義

40、和帶參數(shù)宏定義。1、 不帶參數(shù)的宏定義(1) 不帶參數(shù)宏定義格式(2) 宏調(diào)用(3) 宏展開舉例宏使用說明:(1)-(9)2、 帶參數(shù)宏定義(1) 帶參數(shù)宏定義的格式(2) 帶參數(shù)宏定義展開規(guī)則舉例帶參數(shù)宏使用說明:(1)-(5)二、文件包含1、 文件包含圖示2、 文件包含說明:(1)-(4)課堂提問討論小結(jié)、作業(yè)布置思考題、課后作業(yè)教材:P133.1、2主要參考資料課后自我總結(jié)分析C語言程序設(shè)計教案 授課內(nèi)容第10章 指針-指針基礎(chǔ)理教學目的和要求指針的基本概念,變量訪問方式;指針變量定義、賦值、引用。指針作為函數(shù)參數(shù)。重點難點重點: 指針的基本概念;指針變量定義、賦值、引用教學安排引言一、

41、地址(指針)、地址變量(指針變量)概念及變量的存取方式1、 內(nèi)存、內(nèi)存地址 - 物理存儲器的概念(補充)2、 變量、變量名、變量的地址、變量值 - 高級語言的存儲器概念3、 指針、變量的指針、指針變量4、 系統(tǒng)訪問變量的兩種方式(1) 直接訪問-按變量名、按地址(本質(zhì)按地址)(2) 間接訪問二、指針變量的定義(變量先定義后使用)1、 定義格式:2、 說明: (1)指針變量基類型-指針變量指向數(shù)據(jù)的類型(2)指針變量存放地址值,本身占用空間2字節(jié)三、指針變量的賦值(使用未賦值指針等同于向一個隨機的內(nèi)存中寫入數(shù)據(jù))1、 將地址直接賦值給指針變量。例如,float *f=malloc(4);2、 將

42、變量地址賦值給指針變量。例如:float a,*p;p=&a;四、指針變量的引用1、&運算符(取地址運算符) 2、*運算符(指針運算符、間接訪問運算符)例10-1,P137.指針變量定義、賦值、引用例子。五、指針變量作為函數(shù)的參數(shù)變量可以作為函數(shù)參數(shù),指針變量同樣可以作為函數(shù)參數(shù)。使用指針作為函數(shù)參數(shù),可以在函數(shù)中對指針所指向變量的值進行處理(修改)。指針作為函數(shù)參數(shù),本質(zhì)上同樣是單向傳值,但是由于傳遞的是地址值,所以可以通過地址值間接修改形參、實參共同指向的變量。例10-2:輸入a,b兩個數(shù)交換后輸出。在swap函數(shù)中使用兩個指針作為函數(shù)參數(shù),對兩個指針所指向變量值進行交換。

43、結(jié)論:1、要在被調(diào)用函數(shù)中,修改主調(diào)函數(shù)的變量值應當:(1) 將主調(diào)函數(shù)變量的地址傳遞給被調(diào)用函數(shù),就是說函數(shù)應當傳遞的是變量的地址。(2) 被調(diào)用函數(shù)的形參應當使用指針變量接受主調(diào)函數(shù)的地址值。(3) 在被調(diào)用函數(shù)中通過形參指針變量間接訪問,修改實參、形參地址所共同指向的變量。本例的操作是交換兩個指針變量所指向的變量。2、函數(shù)使用指針作為參數(shù),可以增加主調(diào)函數(shù)與被調(diào)函數(shù)之間數(shù)據(jù)溝通的渠道。C語言程序設(shè)計教案 授課內(nèi)容第10章 指針-數(shù)組的指針和指向數(shù)組的指針變量教學目的和要求數(shù)組的指針及指向數(shù)組(或數(shù)組元素)指針變量指向數(shù)組的指針作為函數(shù)參數(shù)指向多維數(shù)組的指針字符串指針、函數(shù)指針、指針數(shù)組和

44、指針的指針返回指針值的函數(shù)重點難點數(shù)組的指針及指向數(shù)組(或數(shù)組元素)指針變量指向數(shù)組的指針作為函數(shù)參數(shù)指向多維數(shù)組的指針字符串指針、函數(shù)指針、指針數(shù)組和指針的指針返回指針值的函數(shù)教學安排引言復習指針基本概念,指針變量定義、初始化、引用。本節(jié)介紹指針變量的應用數(shù)組的指針。數(shù)組:相同類型元素構(gòu)成的有限、有序的序列;數(shù)組元素的指針-數(shù)組元素的地址;數(shù)組的指針-數(shù)組的地址,數(shù)組的起始地址,第一個元素的地址(首地址)。C語言用數(shù)組名代表數(shù)組的起始地址(首地址)。例如:int a10;數(shù)組的指針-a或&a0,講授指針應用(數(shù)組的指針、指向數(shù)組的指針變量)一、指向數(shù)組的指針變量1、指向數(shù)組的指針變量

45、:就是指向數(shù)組元素的指針變量,也就是指向基類型的指針變量并將其初始化指向數(shù)組。例如:數(shù)組int a10;其中每個元素為整型變量。可以定義一個指向整型變量的指針變量int *p;并將p初始化為&a0或a。此時可以將p稱為指向數(shù)組的指針變量。2、數(shù)組的指針變量的定義和初始化數(shù)組基類型 *p; p=數(shù)組名;/* p=&數(shù)組名0 */或:數(shù)組基類型 *p=數(shù)組名;二、通過指針引用數(shù)組元素 (假設(shè)int a100; int *p=a; 即指針p指向數(shù)組)1、 指針a+i、指針變量p+i的含義。存在ai、是否有pi?-C允許pi!2、 指針與數(shù)組的關(guān)系。數(shù)組元素可以用下標訪問,也可以用指針訪問。3、 通過指針引用數(shù)組元素。(1) 數(shù)組元素的地址表示:&ai,p+i,a+i。(2) 數(shù)組元素的訪問:ai,*(p+i),*(a+i)。(3) 指向數(shù)組的指針變量,數(shù)組名在許多場合可以交換使用。ai甚至可以表示為pi。注意:(1) 引用數(shù)組元素可以采用下標法和指針法。(假設(shè)p=a)下標法:ai,pi;指針法:*(a+i),*(p+i)(2) 數(shù)組名是常量指針,指向數(shù)組的指針變量是變量。例10-3P141-P142。(3) 注意:使用數(shù)組的指針變量,如果

溫馨提示

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

評論

0/150

提交評論