《C程序設(shè)計(jì)》教案_第1頁(yè)
《C程序設(shè)計(jì)》教案_第2頁(yè)
《C程序設(shè)計(jì)》教案_第3頁(yè)
《C程序設(shè)計(jì)》教案_第4頁(yè)
《C程序設(shè)計(jì)》教案_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案王克剛《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第1頁(yè)。《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第1頁(yè)?!禖程序設(shè)計(jì)》教案第1講王克剛講授2第1章C語(yǔ)言概述、第2章算法1.1C語(yǔ)言出現(xiàn)的歷史背景1.2C語(yǔ)言的特點(diǎn)1.3簡(jiǎn)單C程序介紹1.4C程序的運(yùn)行步驟2.1——2.5算法的概念、特性、表示、結(jié)構(gòu)化程序設(shè)計(jì)方法了解程序設(shè)計(jì)的一些初步知識(shí)了解算法的概念和特性,掌握一種流程圖的畫(huà)法掌握C程序的構(gòu)成及書(shū)寫(xiě)風(fēng)格,對(duì)C程序有一個(gè)初步了解1.算法的概念2.C程序基本結(jié)構(gòu)、常見(jiàn)要素、編譯調(diào)試技術(shù)3.結(jié)構(gòu)化流程圖、N-S流程圖繪制方法1.算法分析與設(shè)計(jì)2.C函數(shù)的概念演示:例1.1--1.8;關(guān)鍵詞、運(yùn)算符表;C程序上機(jī)的完整過(guò)程。教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言語(yǔ)言:人-人語(yǔ)言交流;聾啞人-手勢(shì)語(yǔ);人機(jī)-計(jì)算機(jī)語(yǔ)言C語(yǔ)言是一種流行的計(jì)算機(jī)高級(jí)語(yǔ)言,C語(yǔ)言適合于編寫(xiě)系統(tǒng)軟件,也可以編寫(xiě)應(yīng)用程序。步驟二講授一、程序設(shè)計(jì)初步C語(yǔ)言的產(chǎn)生;程序設(shè)計(jì)的概念程序設(shè)計(jì)是指借助計(jì)算機(jī),使用計(jì)算機(jī)語(yǔ)言準(zhǔn)確地描述問(wèn)題的算法,并正確進(jìn)行計(jì)算的過(guò)程。程序設(shè)計(jì)的核心是“清晰”,程序的結(jié)構(gòu)要清晰,算法的思路要清晰。二、算法及表示1、算法的特性2、算法的表示算法可以使用各種不同的方法來(lái)描述。(1)用自然語(yǔ)言表示算法(2)用傳統(tǒng)流程圖表示算法(3)用N-S流程圖表示算法《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第2頁(yè)。(4)用偽碼表示算法《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第2頁(yè)。三、結(jié)構(gòu)化程序設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì):模塊化設(shè)計(jì)方法、自頂向下設(shè)計(jì)方法和逐步求精設(shè)計(jì)方法是結(jié)構(gòu)化程序設(shè)計(jì)方法最典型、最具有代表性的方法。四、C程序的構(gòu)成1、C語(yǔ)言程序構(gòu)成(采用程序?qū)嵗右哉f(shuō)明,并提倡良好的程序設(shè)計(jì)書(shū)寫(xiě)風(fēng)格)(1)C程序是由函數(shù)構(gòu)成的,必須有且只能有一個(gè)main()函數(shù);(2)每個(gè)函數(shù)由函數(shù)的首部和函數(shù)體組成。函數(shù)體一般由聲明部分和執(zhí)行部分組成;(3)每個(gè)C程序總是從main()函數(shù)開(kāi)始執(zhí)行,并在main()中結(jié)束;(4)每個(gè)語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào);(5)C程序書(shū)寫(xiě)格式自由,一行內(nèi)可以寫(xiě)幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句可以分寫(xiě)在多行上。(6)C程序無(wú)輸入、輸出語(yǔ)句,輸入操作由scanf()函數(shù)完成;輸出操作由printf()函數(shù)完成;(7)可加注釋/*……*/2、上機(jī)步驟(上機(jī)環(huán)境:TurboC2.0)(1)進(jìn)入環(huán)境(2)編輯源程序(3)保存源程序(4)編譯源程序(5)執(zhí)行程序,查看結(jié)果(6)退出C環(huán)境五、程序的書(shū)寫(xiě)格式和程序的書(shū)寫(xiě)風(fēng)格(1)程序所采用的算法要盡量的簡(jiǎn)單,符合人的一般思維習(xí)慣。(2)標(biāo)識(shí)符的使用盡量采取“見(jiàn)名知義,常用從簡(jiǎn)”的原則。(3)為了清晰的表現(xiàn)出程序的結(jié)構(gòu),最好采用鋸齒形的程序格式。(4)可以用/*……*/注釋?zhuān)栽黾映绦虻目勺x性。(5)最好在輸入語(yǔ)句之前加一個(gè)輸出語(yǔ)句對(duì)輸入數(shù)據(jù)加以提示。(6)函數(shù)首部的后面和編譯預(yù)處理的后面不能加分號(hào)。(7)C程序的書(shū)寫(xiě)格式雖然自由,但為了清晰,一般在一行內(nèi)寫(xiě)一個(gè)語(yǔ)句。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)1.算法的概念2.C程序基本結(jié)構(gòu)、常見(jiàn)要素、編譯調(diào)試技術(shù)3.結(jié)構(gòu)化流程圖、N-S流程圖繪制方法步驟五布置作業(yè)進(jìn)入C編輯環(huán)境,按良好的程序設(shè)計(jì)風(fēng)格輸入例題,按步驟編譯、運(yùn)行、查看結(jié)果《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第3頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第3頁(yè)。第2講王克剛講授2第3章數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式(1)3.1C語(yǔ)言的數(shù)據(jù)類(lèi)型3.2常量與變量3.3整型數(shù)據(jù)3.4浮點(diǎn)型數(shù)據(jù)3.5字符型數(shù)據(jù)3.6變量賦初值了解C語(yǔ)言豐富的數(shù)據(jù)類(lèi)型;常量、變量的概念掌握變量定義原則和符號(hào)常量定義方法掌握常用基本數(shù)據(jù)類(lèi)型(整型、實(shí)型、字符型)數(shù)據(jù)的常量表示、機(jī)內(nèi)存儲(chǔ)、變量分類(lèi)以及掌握正確選擇數(shù)據(jù)類(lèi)型變量定義原則常用基本數(shù)據(jù)類(lèi)型(整型、實(shí)型、字符型)數(shù)據(jù)的常量表示、機(jī)內(nèi)存儲(chǔ)、變量分類(lèi),正確選擇數(shù)據(jù)類(lèi)型整型數(shù)據(jù)的機(jī)內(nèi)表示,字符數(shù)據(jù)的機(jī)內(nèi)表示演示:C數(shù)據(jù)分類(lèi)圖、整型、實(shí)型數(shù)據(jù)分類(lèi)表,轉(zhuǎn)義字符表,字符ASCII碼表教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言程序=數(shù)據(jù)結(jié)構(gòu)+算法(流程)。C數(shù)據(jù)具有類(lèi)型-數(shù)據(jù)類(lèi)型,本章討論常用基本數(shù)據(jù)類(lèi)型。C數(shù)據(jù)分類(lèi)圖(取值范圍、允許操作、出現(xiàn)的問(wèn)題特點(diǎn)不同)步驟二講授一、常量與變量常量概念、常量類(lèi)型,直接常量/符號(hào)常量。變量概念、變量名/變量在內(nèi)存中占據(jù)的單元/變量值/變量地址。變量先定義后使用。二、整型數(shù)據(jù)(內(nèi)存中補(bǔ)碼存儲(chǔ))整型常數(shù)。10,8,16進(jìn)制表示整型變量分類(lèi):基本整型int/長(zhǎng)/短;有符號(hào)/無(wú)符號(hào)。觀(guān)察數(shù)據(jù)表達(dá)范圍+字節(jié)數(shù)整型變量定義、初始化。整型數(shù)據(jù)的溢出?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第4頁(yè)。三、實(shí)型數(shù)據(jù)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第4頁(yè)。實(shí)型常量表示。小數(shù)形式,指數(shù)形式e。實(shí)型變量分類(lèi)。重要的兩種float、double。觀(guān)察數(shù)據(jù)表達(dá)范圍+字節(jié)數(shù)+有效數(shù)字實(shí)型數(shù)據(jù)的舍入誤差。四、字符型數(shù)據(jù)字符常量表示。直接表示/轉(zhuǎn)義表示(特殊的轉(zhuǎn)義字符,一般字符也可以轉(zhuǎn)義表示)。特殊轉(zhuǎn)義字符對(duì)顯示/打印的控制作用字符變量-1個(gè)字節(jié),char關(guān)鍵詞。字符數(shù)據(jù)的存儲(chǔ)-ASCII碼/二進(jìn)制存儲(chǔ)-C語(yǔ)言可以將字符看做很短的整數(shù)處理。字符串常量?!啊崩ㄗ址蛄?,尾部有‘\0’結(jié)束。五、變量賦初值1、程序中經(jīng)常對(duì)一些變量預(yù)先設(shè)置初值,也稱(chēng)變量初始化2、在C程序中對(duì)變量賦初值的形式。定義單個(gè)變量時(shí)賦值;定義多個(gè)變量時(shí)分別賦值;3、易出現(xiàn)錯(cuò)誤的賦初值方式。同時(shí)定義多個(gè)同類(lèi)型同值變量時(shí)以“連續(xù)=”方式進(jìn)行賦初值步驟三課堂提問(wèn)討論整型數(shù)據(jù)溢出例子,浮點(diǎn)數(shù)據(jù)舍入誤差例子,給我們編程序的提示什么?步驟四課堂小結(jié)1、變量定義原則2、常用基本數(shù)據(jù)類(lèi)型數(shù)據(jù)的常量表示、機(jī)內(nèi)存儲(chǔ)、變量分類(lèi),正確選擇數(shù)據(jù)類(lèi)型步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第5頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第5頁(yè)。第3講王克剛講授2教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言運(yùn)算符:狹義的運(yùn)算符-運(yùn)算,廣義的運(yùn)算符-運(yùn)算、操作。表達(dá)式:使用運(yùn)算符將常量、變量、函數(shù)連接起來(lái),構(gòu)成表達(dá)式。C的運(yùn)算符有以下幾類(lèi):C語(yǔ)言運(yùn)算符豐富,C語(yǔ)言豐富的運(yùn)算符構(gòu)成C語(yǔ)言豐富、靈活的表達(dá)式。本節(jié)主要介紹算術(shù)運(yùn)算符(包括自增自減運(yùn)算符)、賦值運(yùn)算符、逗號(hào)運(yùn)算符。步驟二講授一、算術(shù)運(yùn)算符和算術(shù)表達(dá)式1、算術(shù)運(yùn)算符(+、-、*、/、%)整除的結(jié)果為整數(shù),結(jié)果向0取整,實(shí)質(zhì)就是舍去小數(shù).%,要求操作數(shù)均為整型。余數(shù)的符號(hào)與被除數(shù)符號(hào)相同。例如:-8%5=-3;8%-5=32、算術(shù)表達(dá)式注意:C語(yǔ)言算術(shù)表達(dá)式的書(shū)寫(xiě)形式-數(shù)學(xué)表達(dá)式的書(shū)寫(xiě)形式區(qū)別:(1)-(4)。3、(算術(shù))運(yùn)算符的優(yōu)先級(jí)與結(jié)合性(附錄B)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第6頁(yè)。先按運(yùn)算符的“優(yōu)先級(jí)別”高低次序執(zhí)行;優(yōu)先級(jí)別相同,則按規(guī)定的“結(jié)合方向”處理。為了清晰起見(jiàn)可用圓括號(hào)“()”強(qiáng)制?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第6頁(yè)。例1:表達(dá)式a-b*c等價(jià)于a-(b*c)。例2:a-b+c,到底是(a-b)+c還是a-(b+c)?(b先與a運(yùn)算還是先與c參與運(yùn)算?)例3:分析x=y=z=3+5二、賦值運(yùn)算符、賦值表達(dá)式賦值運(yùn)算符、賦值表達(dá)式賦值運(yùn)算符賦值表達(dá)式。一般形式:〈變量〉〈賦值符〉〈表達(dá)式〉賦值表達(dá)式的求解過(guò)程:賦值+整個(gè)賦值表達(dá)式的值。例如:x=10+y;說(shuō)明:(1)左變量(2)不具“等”含義(3)類(lèi)型轉(zhuǎn)換(4)賦值表達(dá)式值復(fù)合賦值運(yùn)算符復(fù)合賦值表達(dá)式形式:變量<雙目運(yùn)算符>=表達(dá)式等價(jià):變量=變量<雙目運(yùn)算符>表達(dá)式例如:n+=1等價(jià)于n=n+1;x*=y+1等價(jià)于x=x*(y+1)賦值運(yùn)算符、賦值表達(dá)式舉例。(1)a=5(2)a=b=5(3)a=(b=4)+(c=3)(4)假如a=12,分析:a+=a-=a*a(答案:-264)三、自增、自減運(yùn)算符單目運(yùn)算符,使變量的值增1或減1。如:++i,i++(等價(jià)i=i+1)--i,i—(等價(jià)<=>i=i-1)注意:(1)-(4);(前置運(yùn)算):先自增、減,再參與運(yùn)算;(后置運(yùn)算):先參與運(yùn)算,(整個(gè)表達(dá)式運(yùn)算結(jié)束后)再自增、減。四、逗號(hào)運(yùn)算符、逗號(hào)表達(dá)式逗號(hào)運(yùn)算符(順序求值運(yùn)算符),逗號(hào)表達(dá)式的一般形式:表達(dá)式1,…表達(dá)式n五、數(shù)據(jù)類(lèi)型的轉(zhuǎn)換1、自動(dòng)隱式轉(zhuǎn)換。規(guī)則:類(lèi)型不同,轉(zhuǎn)換為相同類(lèi)型,然后運(yùn)算低類(lèi)型向高類(lèi)型轉(zhuǎn)換(圖)賦值轉(zhuǎn)換?!?”右邊類(lèi)型=>左邊類(lèi)型,然后賦值例:表達(dá)式:10+’a’+1.5-8765.1234*’b’;floata=3.14;inti=a;2、強(qiáng)制類(lèi)型轉(zhuǎn)換。(類(lèi)型)表達(dá)式。步驟三課堂提問(wèn)討論a=3*5,a*4<=>?答:(a=3*5),(a*4)步驟四課堂小結(jié)1、算術(shù)、賦值、自增/減運(yùn)算符及它們構(gòu)成的表達(dá)式2、運(yùn)算符的優(yōu)先級(jí)、結(jié)合性規(guī)律。步驟五布置作業(yè)仔細(xì)閱讀附錄B及其說(shuō)明,掌握優(yōu)先級(jí)規(guī)律。(經(jīng)常查閱)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第7頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第7頁(yè)。第4講

王克剛講授2其它演示:控制格式,表3-1,3-2(printf()格式字符)例3.1-3.12教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言程序設(shè)計(jì)通常采用三種不同的程序結(jié)構(gòu):順序,選擇(分支),循環(huán)(重復(fù))。順序結(jié)構(gòu)是最簡(jiǎn)單、最基本的程序結(jié)構(gòu)。通過(guò)本章學(xué)習(xí),可以開(kāi)始簡(jiǎn)單的C程序設(shè)計(jì)。步驟二講授一、C語(yǔ)句概述C程序的總體層次結(jié)構(gòu):程序、模塊,函數(shù),語(yǔ)句。語(yǔ)句:是向計(jì)算機(jī)發(fā)出的用來(lái)完成一定操作任務(wù)的指令。C語(yǔ)言語(yǔ)句分類(lèi):控制語(yǔ)句(9種)表達(dá)式語(yǔ)句(典型的賦值,函數(shù)調(diào)用、空語(yǔ)句)復(fù)合語(yǔ)句(相當(dāng)一條語(yǔ)句,哪里有語(yǔ)句,哪里就可以用復(fù)合語(yǔ)句)二、輸入/輸出及其C語(yǔ)言的實(shí)現(xiàn)(補(bǔ)充)計(jì)算機(jī)由主機(jī)(CPU、內(nèi)存),外圍設(shè)備(輸入/輸出設(shè)備),接口組成主機(jī)向外部設(shè)備-“輸出”,外部設(shè)備向主機(jī)-“輸入”。輸入/輸出相對(duì)主機(jī)而言。《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第8頁(yè)。C語(yǔ)言本身不提供輸入/輸出語(yǔ)句,輸入/輸出操作由函數(shù)實(shí)現(xiàn)?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第8頁(yè)。三、格式輸入/輸出printf函數(shù)(格式輸出函數(shù))格式:printf(格式控制字符串,輸出表列)格式控制字符串:(格式控制項(xiàng)、普通字符)輸出表列:一般是一個(gè)表達(dá)式,簡(jiǎn)單地,可以是變量。格式控制字符d、o、x/X、u、c、s、f、e/E、g/G構(gòu)成控制項(xiàng)的各種常見(jiàn)形式。表3-1,3-2。注意:不要死記硬背,要總結(jié)規(guī)律。一般形式:%±m(xù)nh/l格式字符scanf函數(shù)(格式輸入函數(shù))格式:scanf(格式控制字符串,輸入表列-地址列表)格式控制字符串:含義與printf類(lèi)似輸入表列-地址列表:變量的地址或字符數(shù)組的首地址格式控制字符、格式控制項(xiàng)與printf類(lèi)似,一般使用更加簡(jiǎn)單形式。一般調(diào)用形式為:scanf("格式控制字符串",地址表列);其中:格式控制的含義同printf函數(shù);輸入項(xiàng)地址表由若干個(gè)地址組成,代表每一個(gè)變量在內(nèi)存中的地址。功能:讀入各種類(lèi)型的數(shù)據(jù),接收從輸入設(shè)備按輸入格式輸入的數(shù)據(jù)并存入指定的變量地址中。格式控制:包含三類(lèi)符號(hào)⑴空白字符:(空格、Tab或\t、\n),輸入時(shí)不必一一對(duì)應(yīng);⑵普通字符:(非格式轉(zhuǎn)換說(shuō)明符、非空白符、非%),輸入時(shí)必須一一對(duì)應(yīng);⑶格式轉(zhuǎn)換說(shuō)明符:注意:scanf函數(shù)規(guī)定,組成輸入項(xiàng)表的輸入對(duì)象須是地址量;如: scanf(“%d,%d,%d”,&a,&b,&c);scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);①第一個(gè)輸入語(yǔ)句,正確的輸入數(shù)據(jù)流為:123,456,789<enter>,處理的結(jié)果為: 123→a,456→b,789→c②同理對(duì)第二個(gè)輸入語(yǔ)句,正確的輸入數(shù)據(jù)流應(yīng)是:a=123,b=456,c=789<enter>該輸入數(shù)據(jù)流中除123,456,789被賦給相應(yīng)變量外,其余都被丟棄scanf()中的格式字符格式字符說(shuō)明d以帶符號(hào)的十進(jìn)制形式輸入整數(shù)o以八進(jìn)制無(wú)符號(hào)形式輸入整數(shù)x以十六進(jìn)制無(wú)符號(hào)形式輸入整數(shù)c以字符形式輸入單個(gè)字符s輸入字符串。以非空字符開(kāi)始,以第一個(gè)空格結(jié)束f,e,g,E,G以小數(shù)形式或指數(shù)形式輸入單、雙精度數(shù),注意:數(shù)據(jù)讀入結(jié)束情況:遇空格、TAB、回車(chē);遇非法輸入;指定寬度結(jié)束。四、字符輸入/輸出函數(shù)putchar函數(shù)一般形式:putchar(字符表達(dá)式);getchar函數(shù)一般形式:getchar();《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第9頁(yè)。五、順序結(jié)構(gòu)程序設(shè)計(jì)舉例《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第9頁(yè)。順序結(jié)構(gòu)程序設(shè)計(jì),是C語(yǔ)言的基本結(jié)構(gòu),程序運(yùn)行時(shí)按照語(yǔ)句編寫(xiě)的順序依次執(zhí)行,語(yǔ)句的執(zhí)行次序和它們的語(yǔ)句順序一致,在順序結(jié)構(gòu)中,每個(gè)語(yǔ)句都被執(zhí)行一次,而且只被執(zhí)行一次。習(xí)題1:輸入三角形的三邊長(zhǎng),求三角形面積。分析:三邊為a,b,c,面積area2=s(s-a)(s-b)(s-c),其中s=(a+b+c)/2程序:#include<math.h>main(){floata,b,c,s,area; sacnf(%f,%f,%f”,&a,&b,&c); s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);printf(“area=%7.2f\n”,area);}習(xí)題2:求ax2+bx+c=0方程的根。a,b,c由鍵盤(pán)輸入,設(shè)b2-4ac>0。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)格式輸入函數(shù)scanf()步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第10頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第10頁(yè)。

王克剛講授2多媒體演示3種形式if語(yǔ)句及流程圖例4.1-4.3第5講教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言1.選擇結(jié)構(gòu)(分支結(jié)構(gòu)):根據(jù)條件,在幾個(gè)可選擇分支中進(jìn)行選擇。2.選擇結(jié)構(gòu)最重要的是“選擇結(jié)構(gòu)的條件”。C語(yǔ)言中的條件是采用能產(chǎn)生邏輯值“真、假”的關(guān)系運(yùn)算和邏輯運(yùn)算來(lái)表示的。步驟二講授一、關(guān)系運(yùn)算符關(guān)系運(yùn)算符及其優(yōu)先次序。關(guān)系運(yùn)算構(gòu)造判斷條件舉例。二、邏輯運(yùn)算符邏輯運(yùn)算符及其優(yōu)先次序。邏輯運(yùn)算表達(dá)式中非0為“真”,邏輯值“真”為1,邏輯值“假”為0。邏輯運(yùn)算構(gòu)造判斷條件舉例?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第11頁(yè)。三、if語(yǔ)句《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第11頁(yè)。用if語(yǔ)句可以構(gòu)成分支結(jié)構(gòu)。它根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段。C語(yǔ)言提供了三種形式的if語(yǔ)句:if語(yǔ)句的簡(jiǎn)單形式,有時(shí)也稱(chēng)單分支結(jié)構(gòu),它的形式是:if(表達(dá)式)語(yǔ)句if語(yǔ)句用來(lái)判斷給定的條件是否滿(mǎn)足,根據(jù)結(jié)果(真或假)來(lái)選擇執(zhí)行相應(yīng)的語(yǔ)句。它的執(zhí)行過(guò)程是,如果表達(dá)式為真(非0),則執(zhí)行其后所跟的語(yǔ)句,否則不執(zhí)行該語(yǔ)句。if-else結(jié)構(gòu)if-else型分支有時(shí)也稱(chēng)雙分支結(jié)構(gòu),它的形式是:if(表達(dá)式)語(yǔ)句1else語(yǔ)句2它的執(zhí)行過(guò)程是,如果表達(dá)式的值為真(非0),就執(zhí)行語(yǔ)句1,否則,執(zhí)行語(yǔ)句2。3、if-else-if語(yǔ)句if-else-if形式是條件分支嵌套的一種特殊形式,經(jīng)常用于多分支處理。它的一般形式為:if(表達(dá)式1)語(yǔ)句1elseif(表達(dá)式2)語(yǔ)句2elseif(表達(dá)式3)語(yǔ)句3……elseif(表達(dá)式n)語(yǔ)句nelse語(yǔ)句n+1它的執(zhí)行過(guò)程是,如果表達(dá)式1為真,則執(zhí)行語(yǔ)句1;否則,如果表達(dá)式2為真,則執(zhí)行語(yǔ)句2,…;否則,如果表達(dá)式n為真,則執(zhí)行語(yǔ)句n,如果n個(gè)表達(dá)式都不為真,則執(zhí)行語(yǔ)句n+l。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)3種形式if語(yǔ)句步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第12頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第12頁(yè)。第6講

王克剛講授2switch-case語(yǔ)句5.5應(yīng)用舉例掌握if語(yǔ)句進(jìn)行掌握switch-case語(yǔ)句掌握選擇結(jié)構(gòu)例題語(yǔ)句switch-case語(yǔ)句switch-casebreak語(yǔ)句多媒體演示switch-case語(yǔ)句流程圖例4.4-4.15教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言1.復(fù)習(xí)關(guān)系運(yùn)算、邏輯運(yùn)算、if語(yǔ)句2.引入if語(yǔ)句的嵌套和多分支結(jié)構(gòu)switch語(yǔ)句實(shí)現(xiàn)步驟二講授一、if語(yǔ)句的嵌套在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句稱(chēng)為if語(yǔ)句的嵌套形式如下:其一般形式可表示如下:if(表達(dá)式)if語(yǔ)句或者為:if(表達(dá)式)if語(yǔ)句《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第13頁(yè)。else《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第13頁(yè)。if語(yǔ)句在嵌套內(nèi)的if語(yǔ)句可能又是if-else型的,這將會(huì)出現(xiàn)多個(gè)if和多個(gè)else重疊的情況,這時(shí)要特別注意if和else的配對(duì)問(wèn)題。為了避免這種二義性,C語(yǔ)言規(guī)定,else總是與它前面最近的if配對(duì)。最好使內(nèi)嵌if語(yǔ)句也包含else部分,這樣if的數(shù)目和else的數(shù)目相同,從內(nèi)層到外層一一對(duì)應(yīng),不致出錯(cuò)。如果if與else的數(shù)目不一樣,應(yīng)盡量把嵌套的部分放在否定的部分,或?yàn)閷?shí)現(xiàn)程序設(shè)計(jì)者的企圖,可以加花括弧來(lái)確定配對(duì)關(guān)系。二、switch-case語(yǔ)句(多分支選擇語(yǔ)句/開(kāi)關(guān)語(yǔ)句)switch語(yǔ)句的一般形式如下:switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1case常量表達(dá)式2:語(yǔ)句2…………case常量表達(dá)式n:語(yǔ)句n……default:語(yǔ)句n+1}switch語(yǔ)句的執(zhí)行過(guò)程是:根據(jù)switch后面的表達(dá)式的值,找到某個(gè)case后的常量表達(dá)式與之相等時(shí),就以此作為一個(gè)入口,執(zhí)行此case后的語(yǔ)句,及以下各個(gè)case或default后的語(yǔ)句,直到switch的結(jié)束或遇到break語(yǔ)句為止。若所有的case中的常量表達(dá)式的值都不與switch后的表達(dá)式的值匹配,則執(zhí)行default的語(yǔ)句。三、switch-case說(shuō)明(1)switch后面括弧內(nèi)的“表達(dá)式”,ANSIC標(biāo)準(zhǔn)允許它為任何類(lèi)型。(2)當(dāng)表達(dá)式的值與某一個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語(yǔ)句,若所有的case中的常量表達(dá)式的值都沒(méi)有與表達(dá)式的值匹配的,就執(zhí)行default后面的語(yǔ)句。(3)每一個(gè)case的常量表達(dá)式的值必須互不相同,否則就會(huì)出現(xiàn)互相矛盾的現(xiàn)象(對(duì)表達(dá)式的同一個(gè)值,有兩種或多種執(zhí)行方案)。(4)各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。例如,可以先出現(xiàn)“default:…”,再出現(xiàn)“case'D':…”,然后是“case'A':…”。(5)執(zhí)行完一個(gè)case后面的語(yǔ)句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行。“case常量表達(dá)式”只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。在執(zhí)行switch語(yǔ)句時(shí).根據(jù)switch后面表達(dá)式的值找到匹配的入口標(biāo)號(hào),就從此標(biāo)號(hào)開(kāi)始執(zhí)行下去,不再進(jìn)行判斷。因此,應(yīng)該在執(zhí)行一個(gè)case分支后,使流程跳出switch結(jié)構(gòu),即終止switch語(yǔ)句的執(zhí)行。可以用一個(gè)break語(yǔ)句來(lái)達(dá)到此目的,將上面的switch結(jié)構(gòu)改寫(xiě)如下:(6)多個(gè)case可以共用一個(gè)執(zhí)行語(yǔ)句,如:輸入年份和月份,給出這個(gè)月有幾天。(7)在使用switch語(yǔ)句時(shí)注意case和后面的表達(dá)式之間要有空格,如果沒(méi)有空格在編譯時(shí)不會(huì)發(fā)現(xiàn)錯(cuò)誤,但運(yùn)行時(shí)結(jié)果不對(duì)。四、分支程序例子例1寫(xiě)程序,判斷某一年是否是閏年。例2求一元二次方程ax2+bx+c=0的根。例3運(yùn)輸公司對(duì)用戶(hù)計(jì)算運(yùn)費(fèi)。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)switch-case語(yǔ)句步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第14頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第14頁(yè)。

王克剛講授21、了解goto語(yǔ)句和語(yǔ)句標(biāo)號(hào)的使用2、掌握while當(dāng)型循環(huán)3、掌握do…while直到型循環(huán)while當(dāng)型循環(huán)do…while直到型循環(huán)利用while、do…while語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)多媒體演示流程圖例5.1-5.6第7講教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言問(wèn)題1:假如全班60人,欲從鍵盤(pán)上輸入每人的數(shù)學(xué)成績(jī),然后計(jì)算出平均成績(jī);問(wèn)題2:編程計(jì)算n!。重復(fù)執(zhí)行一組語(yǔ)句是程序設(shè)計(jì)要求的基本功能之一。在C語(yǔ)言中可以用以下語(yǔ)句來(lái)實(shí)現(xiàn)循環(huán):(1)if和goto(2)while(3)do-while(4)fora)重復(fù)執(zhí)行就是循環(huán)。重復(fù)工作是計(jì)算機(jī)特別擅長(zhǎng)工作之一。b)重復(fù)執(zhí)行不是簡(jiǎn)單地重復(fù),每次重復(fù),操作的數(shù)據(jù)(狀態(tài)、條件)都可能發(fā)生變化。c)重復(fù)的動(dòng)作是受控制的,C語(yǔ)言提供三種循環(huán)控制語(yǔ)句,構(gòu)成了三種基本的循環(huán)結(jié)構(gòu)。步驟二講授一、goto語(yǔ)句以及用goto語(yǔ)句構(gòu)成循環(huán)語(yǔ)法:gotolabel;其中:label是語(yǔ)句標(biāo)號(hào),它命名的規(guī)則同變量名;語(yǔ)義:使程序無(wú)條件地轉(zhuǎn)向標(biāo)號(hào)為label的語(yǔ)句去執(zhí)行;《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第15頁(yè)。結(jié)構(gòu)化程序主張限制使用goto語(yǔ)句,但也不是絕對(duì)禁止使用goto語(yǔ)句。《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第15頁(yè)。說(shuō)明:①與if語(yǔ)句構(gòu)成循環(huán)結(jié)構(gòu);②從循環(huán)體中跳轉(zhuǎn)到循環(huán)體外,可以使用break語(yǔ)句和continue語(yǔ)句跳出本層循環(huán)和結(jié)束本次循環(huán),只是需要從多層循環(huán)的內(nèi)層循環(huán)跳到外層循環(huán)時(shí)采用goto語(yǔ)句。二、while語(yǔ)句(當(dāng)型循環(huán))

語(yǔ)法:while(exp)循環(huán)體語(yǔ)句;語(yǔ)義:當(dāng)exp為真時(shí),執(zhí)行循環(huán)體;為假時(shí),執(zhí)行循環(huán)語(yǔ)句的后續(xù)語(yǔ)句;如:用while語(yǔ)句構(gòu)成循環(huán),求sum=1+2+…+100程序如下:main(){inti=1,sum=0;while(i<=100){sum+=i;i++;}printf(“%d”,sum);}說(shuō)明:1)

循環(huán)體可以用復(fù)合語(yǔ)句;2)

在while語(yǔ)句前應(yīng)有為測(cè)試表達(dá)式(exp)中的循環(huán)控制變量賦初值的語(yǔ)句,以確保循環(huán)的正常開(kāi)始;3)循環(huán)體內(nèi)應(yīng)有改變循環(huán)控制變量的語(yǔ)句,以確保循環(huán)進(jìn)行有限次后正常結(jié)束;如:i=1;while(i<=100)sum=sum+1;(死循環(huán))4)

while循環(huán)的特點(diǎn)是先判斷后執(zhí)行,故循環(huán)有可能一次都不被執(zhí)行;如:i=3;while(i<3)printf(“i=%d\n”,i);三、do-while語(yǔ)句(直到型循環(huán))1、do-while語(yǔ)句的一般形式2、do-while執(zhí)行過(guò)程(流程圖)3、do-while說(shuō)明:例、計(jì)算ex=1+x+++……直到最后一項(xiàng)的絕對(duì)值小于10-6時(shí)停止計(jì)算,x由鍵盤(pán)輸入步驟三課堂提問(wèn)討論步驟四課堂小結(jié) while語(yǔ)句循環(huán)步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第16頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第16頁(yè)。

王克剛講授23、多媒體演示流程圖例5.7-5.14第8講教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言復(fù)習(xí)goto、while、do…while循環(huán)結(jié)構(gòu)、引入新的循環(huán)結(jié)構(gòu)、進(jìn)一步加深學(xué)生對(duì)循環(huán)結(jié)構(gòu)的理解。步驟二講授一、for語(yǔ)句(當(dāng)型循環(huán))for語(yǔ)句的一般形式(給出while循環(huán)的對(duì)應(yīng)結(jié)構(gòu))for循環(huán)執(zhí)行過(guò)程(流程圖)例5-11求非波那契數(shù)列a0,a1,a2,…a20。例5-12求1++…+直到最后一項(xiàng)的值小于10-3,如果累加到第20項(xiàng)(即n=19)時(shí),最后一項(xiàng)的值還不小于10-3也不再計(jì)算,要求打印出n的值、最后一項(xiàng)值、多項(xiàng)式之和。《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第17頁(yè)。3、for語(yǔ)句最容易理解、最常用的形式《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第17頁(yè)。4、for語(yǔ)句說(shuō)明(6點(diǎn))。C語(yǔ)言的for語(yǔ)句功能強(qiáng)大,使用靈活。二、幾種循環(huán)的比較循環(huán)結(jié)構(gòu)的基本組成部分(4部分)幾種循環(huán)的比較。一般相互可以替代,但具體形式有些差異。例:將50-100之間的不能被3整除的數(shù)輸出(用三種循環(huán)結(jié)構(gòu)實(shí)現(xiàn))三、循環(huán)的嵌套一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱(chēng)為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。雙重循環(huán)的執(zhí)行過(guò)程是:先執(zhí)行外循環(huán),當(dāng)外循環(huán)控制變量取初值后,執(zhí)行內(nèi)循環(huán),在內(nèi)循環(huán)中內(nèi)層循環(huán)控制變量從初值變化到終值的過(guò)程中,外層的循環(huán)控制變量始終不變,直到內(nèi)循環(huán)執(zhí)行完畢,到了外循環(huán),外層的循環(huán)控制變量才變,而后再執(zhí)行內(nèi)循環(huán),在內(nèi)循環(huán)中內(nèi)層循環(huán)控制變量又從從初值變化到終值,……如此下去,直到外循環(huán)控制變量超過(guò)終值,整個(gè)雙重循環(huán)才執(zhí)行完畢。例編程輸出乘法九九表。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第18頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第18頁(yè)。第9講

王克剛講授25-9應(yīng)用舉例1、掌握break;continue;2、通過(guò)應(yīng)用例子進(jìn)一步掌握循環(huán)結(jié)構(gòu)break;continue;功能,區(qū)別。通過(guò)應(yīng)用例子進(jìn)一步掌握循環(huán)結(jié)構(gòu)多媒體演示流程圖例6.6-6.8教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言復(fù)習(xí)3種循環(huán)結(jié)構(gòu)、循環(huán)的比較,引出break;continue;。步驟二講授一、break和continue語(yǔ)句break語(yǔ)句用break語(yǔ)句可以使流程跳出switch結(jié)構(gòu),繼續(xù)執(zhí)行switch語(yǔ)句下面的一個(gè)語(yǔ)句。實(shí)際上,break語(yǔ)句還可以用來(lái)從循環(huán)體內(nèi)跳出循環(huán)體,即提前結(jié)束循環(huán),接著執(zhí)行循環(huán)下面的語(yǔ)句break語(yǔ)句說(shuō)明例6-10:從鍵盤(pán)上連續(xù)輸入字符,并統(tǒng)計(jì)其中大寫(xiě)字母的個(gè)數(shù),直到輸入“換行”字符。continue語(yǔ)句(翻譯為“繼續(xù)”(循環(huán)))一般形式為:《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第19頁(yè)。continue;《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第19頁(yè)。其作用為結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。continue語(yǔ)句和break語(yǔ)句的區(qū)別是:continue語(yǔ)句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行。而break語(yǔ)句則是結(jié)束整個(gè)循環(huán)過(guò)程,不再判斷執(zhí)行循環(huán)的條件是否成立。二、應(yīng)用舉例例:從鍵盤(pán)上輸入字符數(shù)字,邊輸入邊在屏幕上顯示出來(lái),當(dāng)輸入星號(hào)“*”時(shí)輸入結(jié)束。例:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。例:輸出以下圖案。*************例:判斷m是否素?cái)?shù)。例:求100~200間的全部素?cái)?shù)。步驟三課堂提問(wèn)討論注意到求100~200間的全部素?cái)?shù)的例子:外層n的循環(huán),循環(huán)變量的修正是:“n=n+2”(即就是每次加2),為什么?步驟四課堂小結(jié)break;continue;功能,區(qū)別步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第20頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第20頁(yè)。王克剛講授2掌握數(shù)組的基本概念熟練掌握一維數(shù)組的定義、初始化和引用3、掌握冒泡排序法1、一維數(shù)組定義、初始化、引用2、求最大值、冒泡排序法多媒體演示流程圖例7.2-7.3第10講教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言基本數(shù)據(jù)類(lèi)型-構(gòu)造類(lèi)型的數(shù)據(jù)-數(shù)組數(shù)組、數(shù)組元素、數(shù)組的下標(biāo)、數(shù)組的維數(shù)例如:inta[10];一維數(shù)組可以看作一個(gè)數(shù)列,向量。例如:floatb[3][3];二維數(shù)組可以看作一個(gè)矩陣。步驟二講授一、數(shù)組和數(shù)組元素《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第21頁(yè)。數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),處于這種結(jié)構(gòu)中的變量具有相同的性質(zhì),并按一定的順序排列,C數(shù)組中每個(gè)分量稱(chēng)為數(shù)組元素,每個(gè)元素都有一定的位置,所處的位置用下標(biāo)來(lái)表示。數(shù)組的特點(diǎn)是:數(shù)組元素排列有序且數(shù)據(jù)類(lèi)型相同。所以,在數(shù)值計(jì)算與數(shù)據(jù)處理中,數(shù)組常用于處理具有相同類(lèi)型的、批量有序的數(shù)據(jù)?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第21頁(yè)。C語(yǔ)言中,數(shù)組的元素用數(shù)組名及其后帶方括號(hào)[]的下標(biāo)表示。二、一維數(shù)組1、一維數(shù)組的定義和使用(1)一維數(shù)組的定義一維數(shù)組的定義方式為:類(lèi)型說(shuō)明數(shù)組名[常量表達(dá)式];一維數(shù)組定義說(shuō)明。(1)-(5)(2)一維數(shù)組元素的引用數(shù)組元素的表示形式為:數(shù)組名[下標(biāo)]其中,下標(biāo)是一個(gè)整型表達(dá)式。2、一維數(shù)組的初始化數(shù)組初始化的一般形式為:類(lèi)型說(shuō)明數(shù)組名[數(shù)組長(zhǎng)度]={常量表達(dá)式l,常量表達(dá)式2,…};一維數(shù)組的初始化的幾種形式(1)(2)(3)三、一維數(shù)組的應(yīng)用例子例6-2:從鍵盤(pán)輸入10個(gè)整型數(shù)據(jù),找出其中的最小值并顯示出來(lái)。例6-5:采用“冒泡法”對(duì)任意輸入的10個(gè)整數(shù)按由小到大的順序排序。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)1、一維數(shù)組定義、初始化、引用2、求最大值、冒泡排序法步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第22頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第22頁(yè)。王克剛講授2多媒體演示流程圖例6.6-6.22第11講教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言復(fù)習(xí)一維數(shù)組概念,數(shù)組定義、初始化、元素引用方法。引入二維數(shù)組。步驟二講授一、一維數(shù)組的應(yīng)用例子例1:比較交換法(也叫順序排序法)從大到小排序程序。例2:選擇排序法從大到小排序程序。例3:將一維數(shù)組中的n個(gè)數(shù)置逆輸出。(以7個(gè)數(shù)為例)二、二維數(shù)組(注意:類(lèi)比一維數(shù)組)二維數(shù)組的定義《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第23頁(yè)。二維數(shù)組的初始化的幾種形式(1)-(5)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第23頁(yè)。二維數(shù)組元素的引用二維數(shù)組應(yīng)用舉例例6-19一個(gè)3×4的矩陣,要求編寫(xiě)程序求出第i行、第j列元素的值。例6-20打印楊輝三角形。思考:下標(biāo)是從1開(kāi)始使用的,哪些元素在此例子中未使用?它們的值是多少?(隨機(jī)值)例6-21輸入一個(gè)3×3的數(shù)組,將其行和列互換(也稱(chēng)為矩陣轉(zhuǎn)置)。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)選擇法和比較法排序步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第24頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第24頁(yè)。第12講王克剛講授27.3字符數(shù)組附加應(yīng)用舉例1、熟練掌握字符數(shù)組定義、初始化、引用2、掌握字符串與字符數(shù)組3、掌握常用字符串處理函數(shù)1、字符串與字符數(shù)組2、字符串處理函數(shù)字符串和字符串函數(shù)的使用多媒體演示流程圖例6.23-6.36教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言復(fù)習(xí)數(shù)組概念,數(shù)組定義、初始化、元素引用方法。引入字符數(shù)組(元素為字符)。步驟二講授一、字符數(shù)組字符數(shù)組,字符數(shù)組的每個(gè)元素是一個(gè)字符;一維字符數(shù)組可以存放字符串;二維字符數(shù)組可以存放多個(gè)字符串。字符數(shù)組可以逐個(gè)元素處理,若存放的是字符串,那么還可以直接調(diào)用字符串處理函數(shù)處理。1、字符數(shù)組的定義、初始化及引用-與一般數(shù)組類(lèi)似。2、字符串與字符數(shù)組字符串與字符數(shù)組。存放的內(nèi)容。字符數(shù)組的初始化(除了一般數(shù)組的初始化方法外,增加了一些方法)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第25頁(yè)。例7-8.兩種字符數(shù)組初始化方法的區(qū)別-有無(wú)串結(jié)束標(biāo)志。參閱p94?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第25頁(yè)。字符數(shù)組的輸入輸出(兩種形式:逐個(gè)字符輸入/輸出,整串輸入/輸出)例7-9:逐個(gè)字符輸入/輸出。參閱p94。例7-10:整串輸入/輸出。P95.3、字符串(字符數(shù)組)處理函數(shù)(1)字符串輸入,輸出函數(shù):gets、puts(2)字符串處理函數(shù):strcat、strcpy、strcmp、strlen、strlwr、strupr例7-11:字符串輸入/輸出應(yīng)用舉例(P.96)例7-12:求字符串長(zhǎng)度示例(P97)例7-13:字符串連接示例(P97)例7-14:字符串復(fù)制示例(P98)例7-15:字符串比較示例(P99)二、應(yīng)用舉例例7-16:由鍵盤(pán)任意輸入一個(gè)字符串和一個(gè)字符,要求從該字符串中刪除所指定的字符。例7-17:由鍵盤(pán)輸入三個(gè)字符串,找出其中的最大串。(字符串庫(kù)函數(shù)的應(yīng)用)步驟三課堂提問(wèn)討論例7-16,講義和教材程序?qū)Ρ?、思考。步驟四課堂小結(jié)字符串處理函數(shù)步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第26頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第26頁(yè)。王克剛講授2掌握函數(shù)定義、調(diào)用、聲明函數(shù)的概念、定義和調(diào)用方法函數(shù)的概念,形參/實(shí)參/返回值的概念多媒體演示流程圖例7.1-7.8第13講教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言一個(gè)C語(yǔ)言源程序可由一個(gè)主函數(shù)和若干個(gè)其他函數(shù)組成。由主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用。步驟二講授一、函數(shù)概述1、C語(yǔ)言的函數(shù)。C語(yǔ)言的函數(shù)是子程序的總稱(chēng),包括函數(shù)和過(guò)程。C語(yǔ)言函數(shù)可以分為庫(kù)函數(shù)、用戶(hù)自定義函數(shù)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第27頁(yè)。2、C語(yǔ)言的程序由函數(shù)組成,函數(shù)是C語(yǔ)言程序的基本單位,程序的總體功能通過(guò)函數(shù)的調(diào)用來(lái)實(shí)現(xiàn)。其中,main起點(diǎn)(圖)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第27頁(yè)。3、使用函數(shù)的意義(補(bǔ)充)(1)-(4)4、函數(shù)的一些概念:主函數(shù)、其它函數(shù);主調(diào)函數(shù)、被調(diào)函數(shù);庫(kù)函數(shù)、用戶(hù)自定義函數(shù);無(wú)參函數(shù)、有參函數(shù);無(wú)返回值函數(shù)、有返回值函數(shù)二、函數(shù)的一般形式-函數(shù)應(yīng)當(dāng)先定義,后調(diào)用。函數(shù)定義的一般形式及說(shuō)明(1)(2)三、函數(shù)的參數(shù)和返回值形式參數(shù)實(shí)際參數(shù)參數(shù)的傳遞。實(shí)參傳遞給形參(1)傳值(2)傳址。注意問(wèn)題:(1)-(4),圖示。由于尚未學(xué)習(xí)指針,所以傳址用數(shù)組舉例函數(shù)返回值。return語(yǔ)句及說(shuō)明。四、函數(shù)的調(diào)用函數(shù)調(diào)用的一般形式及說(shuō)明(單獨(dú)語(yǔ)句/表達(dá)式中、參數(shù)相容)函數(shù)調(diào)用時(shí)數(shù)據(jù)的傳遞-參數(shù)傳遞、函數(shù)的返回值、全局變量函數(shù)的聲明步驟三課堂提問(wèn)討論步驟四課堂小結(jié)函數(shù)的概念、定義和調(diào)用方法步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第28頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第28頁(yè)。第14講王克剛講授21、掌握函數(shù)嵌套調(diào)用2、了解函數(shù)遞歸調(diào)用函數(shù)嵌套調(diào)用函數(shù)遞歸調(diào)用多媒體演示流程圖例7.9-7.11教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言復(fù)習(xí)函數(shù)的概念、定義和調(diào)用方法,引出嵌套調(diào)用和遞歸調(diào)用。步驟二講授函數(shù)的嵌套調(diào)用和遞歸調(diào)用函數(shù)允許嵌套調(diào)用和遞歸調(diào)用。遞歸調(diào)用是嵌套調(diào)用的特例。一、函數(shù)的嵌套調(diào)用C語(yǔ)言的函數(shù)定義都是互相平行、獨(dú)立的,也就是說(shuō)在定義函數(shù)時(shí),一個(gè)函數(shù)內(nèi)不能包含另一個(gè)函數(shù)。C語(yǔ)言程序不能嵌套定義函數(shù),但可以嵌套調(diào)用函數(shù),也就是說(shuō),在調(diào)用一個(gè)函數(shù)的過(guò)程中,又可以調(diào)用另一個(gè)函數(shù),二、函數(shù)的遞歸調(diào)用在C語(yǔ)言程序中,有時(shí)可以看到一個(gè)函數(shù)直接或間接地調(diào)用自身的現(xiàn)象,這種現(xiàn)象就是函數(shù)的遞歸調(diào)用。遞歸調(diào)用有兩種方式:直接遞歸調(diào)用和間接遞歸調(diào)用?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第29頁(yè)。在C程序設(shè)計(jì)中提倡使用遞歸調(diào)用來(lái)實(shí)現(xiàn)復(fù)雜問(wèn)題的求解。必須注意,遞歸不是“循環(huán)定義”,任何遞歸定義必須滿(mǎn)足如下條件:《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第29頁(yè)。(1)被定義項(xiàng)在定義中的應(yīng)用(即作為定義項(xiàng)的出現(xiàn))具有更小的“尺度”,即需要求解的問(wèn)題可以分解為一個(gè)相對(duì)簡(jiǎn)單的子問(wèn)題。(2)被定義項(xiàng)在最小“尺度”上的定義不是遞歸的,即最終有一個(gè)子問(wèn)題不是遞歸,必須有確定的值。例:求1!+2!+3!+4!+…+20!例:用遞歸調(diào)用的方法求n!。例:編程求Fibonacci數(shù)列的第n項(xiàng)。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)1、

函數(shù)的嵌套調(diào)用2、

函數(shù)的遞歸調(diào)用步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第30頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第30頁(yè)。王克剛講授2掌握變量作用域、生命期局部和全局變量,內(nèi)部和外部函數(shù)變量作用域、生命期多媒體演示例7.12-7.22第15講教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言復(fù)習(xí)函數(shù)定義、調(diào)用、參數(shù)傳遞方式,提出各個(gè)函數(shù)同名變量問(wèn)題,進(jìn)而引入變量作用域概念。在函數(shù)調(diào)用過(guò)程中,不僅要注意實(shí)參和形參的數(shù)據(jù)結(jié)合,而且要注意各個(gè)變量的作用域和生存期。步驟二講授一、變量的作用域(有效范圍、可見(jiàn)性)變量的作用域:變量的有效范圍或者變量的可見(jiàn)性。變量定義的位置決定了變量的作用域。變量從作用域(變量的有效范圍,可見(jiàn)性)的角度可以分為:局部變量,全局變量。(圖)1、局部變量(函數(shù)體內(nèi)變量、形參變量、復(fù)合語(yǔ)句內(nèi)變量)-互不干預(yù)、動(dòng)態(tài)分配《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第31頁(yè)。例7-12:各函數(shù)局部變量同名的應(yīng)用示例。《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第31頁(yè)。2、全局變量(所有函數(shù)之外-文件作用域、程序作用域)全局變量可以和局部變量同名-坐井觀(guān)天例7-13:全局變量、局部變量同名的應(yīng)用示例。例7-14:全局變量、局部變量的應(yīng)用示例。二、變量的存儲(chǔ)類(lèi)別(生存期、生命期)變量從空間上分為局部變量、全局變量。從變量存在的時(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-15:寄存器局部變量的應(yīng)用例7-16:靜態(tài)局部變量的應(yīng)用示例三、內(nèi)部函數(shù)和外部函數(shù)默認(rèn)是外部函數(shù)四、函數(shù)應(yīng)用舉例例7-18~7-22步驟三課堂提問(wèn)討論步驟四課堂小結(jié)1、

局部變量和全局變量的作用域2、

變量的存儲(chǔ)類(lèi)別有動(dòng)態(tài)存儲(chǔ)方式和靜態(tài)存儲(chǔ)方式3、

關(guān)鍵字有auto、static、register、extern步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第32頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第32頁(yè)。第17講王克剛講授21、了解編譯過(guò)程和編譯預(yù)處理2、掌握宏定義、文件包含宏定義、文件包含帶參數(shù)宏定義多媒體演示定義格式例題教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言復(fù)習(xí)程序?qū)崿F(xiàn)過(guò)程,引入實(shí)際編譯兩個(gè)階段:編譯預(yù)處理,編譯,更廣義的編譯還包括連接。編譯預(yù)處理,編譯指令步驟二講授一、宏定義1、不帶參數(shù)的宏定義用一個(gè)指定的標(biāo)識(shí)符(即名字)來(lái)代表一個(gè)字符串,它的一般形式為:《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第33頁(yè)。#define標(biāo)識(shí)符字符串《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第33頁(yè)。這種方法使用戶(hù)能以一個(gè)簡(jiǎn)單的名字代替一個(gè)長(zhǎng)的字符串,因此把這個(gè)標(biāo)識(shí)符(名字)稱(chēng)為“宏名”,在預(yù)編譯時(shí)將宏名替換成字符串的過(guò)程稱(chēng)為“宏展開(kāi)”。#define是宏定義命令。2、帶參數(shù)的宏定義帶參數(shù)的宏定義不是進(jìn)行簡(jiǎn)單的字符串替換,還要進(jìn)行參數(shù)替換,其定義的一般形式為:#define宏名(參數(shù)表)字符串二、“文件包含”處理所謂“文件包含”處理是指一個(gè)源文件可以將另外一個(gè)源文件的全部?jī)?nèi)容包含進(jìn)來(lái),即將另外的文件包含到本文件之中。C語(yǔ)言提供了#include命令用來(lái)實(shí)現(xiàn)“文件包含”的操作,其一般形式為:#include<文件名>或#include"文件名"三、條件編譯一般情況下,源程序中的所有行都參加編譯,但特殊情況下可能需要根據(jù)不同的條件編譯源程序中的不同部分,也就是說(shuō)對(duì)源程序的一部分內(nèi)容給定一定的編譯條件。這種方式稱(chēng)作“條件編譯”。條件編譯命令主要包括以下幾種形式:l#ifdef標(biāo)識(shí)符程序段1#else程序段2#endif它的含義是如果指定的標(biāo)識(shí)符已經(jīng)被#define定義過(guò),則只編譯程序段1,否則編譯程序段2。2#ifndef標(biāo)識(shí)符程序段1#else程序段2#endif含義是如果指定的標(biāo)識(shí)符沒(méi)有被#define定義過(guò),則編譯程序段1,否則編譯程序段2。3#if表達(dá)式程序段1#else程序段2#endif它的含義是如果指定的表達(dá)式的值為真,則編譯程序段1,否則編譯程序段2。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)宏定義、文件包含步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第34頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第34頁(yè)。王克剛講授21、掌握指針的基本概念,變量訪(fǎng)問(wèn)方式2、掌握指針變量定義、賦值、引用。3、掌握指針作為函數(shù)參數(shù)。4、掌握掌握指針與數(shù)組的聯(lián)系指針的基本概念;指針變量定義、賦值、引用指針作為函數(shù)參數(shù)指針的基本概念指針與數(shù)組的聯(lián)系多媒體演示圖示例題第18講教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言?xún)?nèi)存空間或變量的地址-指針存放地址的變量(地址變量)-指針變量步驟二講授一、地址和指針的概念內(nèi)存、內(nèi)存地址-物理存儲(chǔ)器的概念(補(bǔ)充)變量、變量名、變量的地址、變量值-高級(jí)語(yǔ)言的存儲(chǔ)器概念指針、變量的指針、指針變量系統(tǒng)訪(fǎng)問(wèn)變量的兩種方式直接訪(fǎng)問(wèn)-按變量名、按地址(本質(zhì)按地址)間接訪(fǎng)問(wèn)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第35頁(yè)。在C語(yǔ)言中,將地址形象化地稱(chēng)為“指針”。意思是通過(guò)它能找到以它為地址的內(nèi)存單元。一個(gè)變量的地址稱(chēng)為該變量的“指針”。如果有一個(gè)變量專(zhuān)門(mén)用來(lái)存放另一變量的地址(即指針),則它稱(chēng)為“指針變量”?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第35頁(yè)。二、變量的指針和指向變量的指針變量1、指針變量的定義定義指針變量的一般形式為:基類(lèi)型*指針變量名說(shuō)明:(1)指針變量基類(lèi)型-指針變量指向數(shù)據(jù)的類(lèi)型(2)指針變量存放地址值,本身占用空間2字節(jié)2、指針變量的引用兩個(gè)有關(guān)的運(yùn)算符:&:取地址運(yùn)算符。*:指針運(yùn)算符(或稱(chēng)“間接訪(fǎng)問(wèn)”運(yùn)算符)。3、指針變量作為函數(shù)參數(shù)函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),還可以是指針類(lèi)型。它的作用是將一個(gè)變量的地址傳送到另一個(gè)函數(shù)中。三、數(shù)組的指針和指向數(shù)組的指針變量數(shù)組的指針是指數(shù)組的起始地址,數(shù)組元素的指針是數(shù)組元素的地址。引用數(shù)組元素可以用下標(biāo)法(如a[3]),也可以用指針?lè)?,即通過(guò)指向數(shù)組元素的指針找到所需的元素。使用指針?lè)苁鼓繕?biāo)程序質(zhì)量高(占內(nèi)存少,運(yùn)行速度快)。1、指向數(shù)組元素的指針定義一個(gè)指向數(shù)組元素的指針變量的方法,與以前介紹的指向變量的指針變量相同。2、通過(guò)指針引用數(shù)組元素有定義inta[10],*p=&a;則如果p的初值為&a[0],則:(1)p+i和a+i就是a[i]的地址。(2)*(p+i)或*(a+i)是p+i或a+i所指向的數(shù)組元素,即a[i]。(3)指向數(shù)組的指針變量也可以帶下標(biāo),如p[i]與*(p+i)等價(jià)。根據(jù)以上敘述,引用一個(gè)數(shù)組元素,可以用:①下標(biāo)法,如a[i]形式。②指針?lè)?,?(a+i)或*(p+i)(4)當(dāng)指針指向一串連續(xù)的存儲(chǔ)單元時(shí),可以對(duì)指針進(jìn)行加上或減去一個(gè)整數(shù),這種操作稱(chēng)為指針的移動(dòng)。例如p++;或p--;都可以使指針移動(dòng)。移動(dòng)指針后,指針不應(yīng)超出數(shù)組元素的范圍。(5)指針不允許進(jìn)行乘、除運(yùn)算,移動(dòng)指針時(shí),不允許加上或減去一個(gè)非整數(shù),對(duì)指向同一串連續(xù)存儲(chǔ)單元的兩個(gè)指針只能進(jìn)行相減操作。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)指針的基本概念;指針變量定義、賦值、引用指針作為函數(shù)參數(shù)步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第36頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第36頁(yè)。第19講王克剛講授21、掌握用數(shù)組名作函數(shù)參數(shù)2、了解指向多維數(shù)組的指針和指針變量3、掌握字符串的指針和指向字符串的指針變量字符串的指針和指向字符串的指針變量指向多維數(shù)組的指針和指針變量多媒體演示圖示例題教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言上節(jié)課介紹了指針變量的定義及其賦值。一個(gè)變量有地址,一個(gè)數(shù)組包含若干元素,每個(gè)數(shù)組元素都在內(nèi)存中占用存儲(chǔ)單元,它們都有相應(yīng)的地址。指針變量既然可以指向變量,當(dāng)然也可以指向數(shù)組和數(shù)組元素(把數(shù)組起始地址或某一元素的地址放到一個(gè)指針變量中)。步驟二講授-指針基礎(chǔ)一、數(shù)組的指針和指向數(shù)組的指針變量3、用數(shù)組名作函數(shù)參數(shù)在C語(yǔ)言中,調(diào)用函數(shù)時(shí)虛實(shí)結(jié)合的方法都是采用“值傳遞”方式,當(dāng)用變量名作為函數(shù)參數(shù)時(shí)傳遞的是變量的值,當(dāng)用數(shù)組名作為函數(shù)參數(shù)時(shí),由于數(shù)組名代表的是數(shù)組起始地址,因此傳遞的值是數(shù)組首地址,所以要求形參為指針變量。實(shí)參數(shù)組后代表一個(gè)固定的地址,或者說(shuō)是指針型常量,而形參數(shù)組并不是一個(gè)固定的地址值。作為指針變量,在函數(shù)調(diào)用開(kāi)始時(shí),它的值等于實(shí)參數(shù)組起始地址,但在函數(shù)執(zhí)行期間,它可以再被賦值?!禖程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第37頁(yè)。4、指向多維數(shù)組的指針和指針變量《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第37頁(yè)。設(shè)已定義二維數(shù)組a:inta[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};(1)a是二維數(shù)組名,是二維數(shù)組的起始地址(設(shè)地址為2000)。也可以說(shuō),a指向a數(shù)組第0行,a也是0行首地址。(2)a+1是a數(shù)組第1行首地址,或者說(shuō)a+1指向第1行(地址為2008)。(3)a[0],a[1],a[2]是二維數(shù)組中三個(gè)一維數(shù)組(即三行)的名字,因此它們也是地址(分別是0行,1行,2行的首地址)。(4)a[i]+j是i行j列元素的地址,*(a[i]+j)是i行j列元素的值。如a[0]+2和*(a[0]+2)分別是0行2列元素的地址和元素的值。(5)a[i]與*(a+i)無(wú)條件等價(jià),這兩種寫(xiě)法可以互換。如a[2]和*(a+2)都是2行首地址,即2行0列元素的地址,即&a[2][0]。(6)a[i][j],*(a[i]+j),*(*(a+i)+j)都是i行j列元素的值。(7)區(qū)別行指針與列指針的概念。例如a+1和a[1]都代表地址2008。但a+1是行指針,它指向一個(gè)一維數(shù)組。a[1](即*(a+1))是列指針,它指向一個(gè)元素,它是1行0列元素的地址。(8)可以定義指向一維數(shù)組的指針變量,如:int(*p)[4];/*稱(chēng)p為行指針*/二、字符串的指針和指向字符串的指針變量1、字符串的表示形式(1)用字符數(shù)組實(shí)現(xiàn)(2)用字符指針實(shí)現(xiàn)2、對(duì)使用字符指針變量與字符數(shù)組的討論主要有以下幾點(diǎn):(1)字符數(shù)組由若干個(gè)元素組成,每個(gè)元素中存放一個(gè)字符,而字符指針變量中存放的是地址(字符串的首地址),決不是將字符串放到字符指針變量中。(2)對(duì)字符數(shù)組只能對(duì)各個(gè)元素賦值,不能對(duì)字符數(shù)組賦值。而對(duì)字符指針變量,可以賦值,取得的是字符串的首地址。(3)在定義一個(gè)數(shù)組時(shí),在編譯時(shí)即已分配內(nèi)存單元,有固定的地址。而定義一個(gè)字符指針變量時(shí),給指針變量分配內(nèi)存單元,在其中可以存放一個(gè)地址值,也就是說(shuō),該指針變量可以指向一個(gè)字符型數(shù)據(jù),但如果未對(duì)它賦以一個(gè)地址值,則它并未具體指向哪一個(gè)字符數(shù)據(jù)。(4)指針變量的值是可以改變的。(5)用指針變量指向一個(gè)格式字符串,可以用它代替printf函數(shù)中的格式字符串。3、字符串指針作函數(shù)參數(shù)將一個(gè)字符串從一個(gè)函數(shù)傳遞到另一個(gè)函數(shù),可以用地址傳遞的辦法,即用字符數(shù)組名或用指向字符串的指針變量作參數(shù)。和前面介紹的數(shù)組一樣,函數(shù)的首部有三種說(shuō)明形式,而且形參也是指針變量。在被調(diào)用的函數(shù)中可以改變字符串的內(nèi)容,在主調(diào)函數(shù)中可以得到改變了的字符串。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)字符串的指針和指向字符串的指針變量步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第38頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第38頁(yè)。第20講王克剛講授21、掌握函數(shù)的指針和指向函數(shù)的指針變量2、了解返回指針值的函數(shù)3、了解指針數(shù)組和指向指針的指針函數(shù)的指針和指向函數(shù)的指針變量指針數(shù)組和指向指針的指針多媒體演示圖示例題教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言復(fù)習(xí)指針基本概念,指針變量定義、初始化、引用。本節(jié)介紹指針變量的應(yīng)用-數(shù)組的指針。數(shù)組:相同類(lèi)型元素構(gòu)成的有限、有序的序列。數(shù)組元素的指針-數(shù)組元素的地址數(shù)組的指針-數(shù)組的地址,數(shù)組的起始地址,第一個(gè)元素的地址(首地址)。C語(yǔ)言用數(shù)組名代表數(shù)組的起始地址(首地址)。例如:inta[10];數(shù)組的指針-a或&a[0],步驟二講授一、函數(shù)的指針和指向函數(shù)的指針變量1、用函數(shù)指針變量調(diào)用函數(shù)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第39頁(yè)??梢杂弥羔樧兞恐赶蛘妥兞?、字符串、數(shù)組,也可以指向一個(gè)函數(shù)。一個(gè)函數(shù)在編譯時(shí)被分配給一個(gè)入口地址。這個(gè)入口地址就稱(chēng)為函數(shù)的指針??梢杂靡粋€(gè)指針變量指向函數(shù),然后通過(guò)該指針變量調(diào)用此函數(shù)。說(shuō)明:《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第39頁(yè)。指向函數(shù)的指針變量的一般定義形式為:數(shù)據(jù)類(lèi)型標(biāo)識(shí)符(*指針變量名)(類(lèi)型參數(shù)l,類(lèi)型參數(shù)2…);2、把指向函數(shù)的指針變量作函數(shù)參數(shù)函數(shù)的指針變量也可以作為參數(shù),以便實(shí)現(xiàn)函數(shù)地址的傳遞,也就是將函數(shù)名傳給形參。二、返回指針值的函數(shù)一個(gè)函數(shù)不僅可以帶回簡(jiǎn)單類(lèi)型的數(shù)據(jù),而且可以帶回指針型的數(shù)據(jù),即地址。三、指針數(shù)組和指向指針的指針1、指針數(shù)組的概念一個(gè)數(shù)組,其元素均為指針類(lèi)型數(shù)據(jù),稱(chēng)為指針數(shù)組,也就是說(shuō),指針數(shù)組中的每一個(gè)元素都是指針變量,指針數(shù)組的定義形式為:類(lèi)型標(biāo)識(shí)符*數(shù)組名[數(shù)組長(zhǎng)度說(shuō)明]2、指向指針的指針指針變量也有地址,這地址可以存放在另一個(gè)指針變量中。如果變量p中存放了指針變量q的地址,那末p就指向指針變量q。指向指針數(shù)據(jù)的指針變量,簡(jiǎn)稱(chēng)為指向指針的指針。定義一個(gè)指向某種數(shù)據(jù)類(lèi)型的指針數(shù)據(jù)的指針變量,形式如下:類(lèi)型**指針變量名;3、main函數(shù)的命令行參數(shù)實(shí)際上,main函數(shù)可以有參數(shù),例如:main(intargc,char**argv)argc和argv就是main函數(shù)的形參。main函數(shù)是由系統(tǒng)調(diào)用的,當(dāng)處于操作命令狀態(tài)下,輸入main所在的文件名(經(jīng)過(guò)編譯、聯(lián)接后得到的可執(zhí)行文件名),系統(tǒng)就調(diào)用main函數(shù)。它的實(shí)參從命令行得到。命令行的一般形式為:命令名參數(shù)1參數(shù)2…參數(shù)n步驟三課堂提問(wèn)討論步驟四課堂小結(jié)函數(shù)的指針和指向函數(shù)的指針變量步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第40頁(yè)。

《C程序設(shè)計(jì)》教案《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第40頁(yè)。第21講王克剛講授210-6指向結(jié)構(gòu)體類(lèi)型數(shù)據(jù)的指針掌握結(jié)構(gòu)體類(lèi)型、變量的定義及初始化,結(jié)構(gòu)體變量的引用了解結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體指針。結(jié)構(gòu)體類(lèi)型、變量的定義及初始化,結(jié)構(gòu)體變量的引用結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體指針多媒體演示圖示例題教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言例子:新生入學(xué)登記表步驟二講授一、概述二、定義結(jié)構(gòu)體類(lèi)型變量的方法1.先聲明結(jié)構(gòu)體類(lèi)型再定義變量名聲明一個(gè)結(jié)構(gòu)體類(lèi)型的一般形式為:struct結(jié)構(gòu)體名{成員表列};對(duì)各成員都應(yīng)進(jìn)行類(lèi)型聲明,即類(lèi)型名成員名2.在聲明類(lèi)型的同時(shí)定義變量這種形式的定義的一般形式為:struct結(jié)構(gòu)體名{成員表列《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第41頁(yè)。}變量名表列;《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第41頁(yè)。3.直接定義結(jié)構(gòu)類(lèi)型變量其一般形式為:struct{成員表列}變量名表列;即不出現(xiàn)結(jié)構(gòu)體名。三、結(jié)構(gòu)體變量的引用引用結(jié)構(gòu)體變量中成員的方式為:結(jié)構(gòu)體變量名.成員名四、結(jié)構(gòu)體變量的初始化和其他類(lèi)型變量一樣,對(duì)結(jié)構(gòu)體變量可以在定義時(shí)指定初始值。五、結(jié)構(gòu)體數(shù)組1、定義結(jié)構(gòu)體數(shù)組和定義結(jié)構(gòu)體變量的方法相仿,只需說(shuō)明其為數(shù)組即可。2、結(jié)構(gòu)體數(shù)組的初始化定義數(shù)組時(shí),元素個(gè)數(shù)可以不指定,即寫(xiě)成以下形式:數(shù)組名[]={…},{…},{…};當(dāng)然,數(shù)組的初始化也可以用以下形式:先聲明結(jié)構(gòu)體類(lèi)型,然后定義數(shù)組為該結(jié)構(gòu)體類(lèi)型,在定義數(shù)組時(shí)初始化。從以上可以看到,結(jié)構(gòu)體數(shù)組初始化的一般形式是在定義數(shù)組的后面加上:={初值表列};3、結(jié)構(gòu)體數(shù)組應(yīng)用舉例通過(guò)簡(jiǎn)單的例子來(lái)說(shuō)明結(jié)構(gòu)體數(shù)組的定義和引用。六、指向結(jié)構(gòu)體類(lèi)型數(shù)據(jù)的指針1、指向結(jié)構(gòu)體變量的指針以下三種形式等價(jià):①結(jié)構(gòu)體變量.成員名②(*p).成員名③p->成員名2、指向結(jié)構(gòu)體數(shù)組的指針可以使用指向數(shù)組或數(shù)組元素的指針和指針變量。同樣,對(duì)結(jié)構(gòu)體數(shù)組及其元素也可以用指針或指針變量來(lái)指向。3、用結(jié)構(gòu)體變量和指向結(jié)構(gòu)體的指針作函數(shù)參數(shù)將一個(gè)結(jié)構(gòu)體變量的值傳遞給另一個(gè)函數(shù),有3種方法:(1)用結(jié)構(gòu)體變量的成員作參數(shù)。(2)用結(jié)構(gòu)體變量作實(shí)參。(3)用指向結(jié)構(gòu)體變量(或數(shù)組)的指針作實(shí)參,將結(jié)構(gòu)體變量(或數(shù)組)的地址傳給形參。步驟三課堂提問(wèn)討論步驟四課堂小結(jié)結(jié)構(gòu)體類(lèi)型、變量的定義及初始化,結(jié)構(gòu)體變量的引用步驟五布置作業(yè)《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第42頁(yè)。

《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第42頁(yè)。第22講王克剛講授2的定義及引用的定義及引用鏈表的建立、輸出、插入和刪除多媒體演示圖示例題教學(xué)內(nèi)容及過(guò)程設(shè)計(jì)步驟一引言C語(yǔ)言定義的數(shù)據(jù)類(lèi)型有固定的類(lèi)型說(shuō)明符、數(shù)據(jù)長(zhǎng)度及數(shù)據(jù)組織和存儲(chǔ)形式,程序設(shè)計(jì)者可在程序中直接用它們來(lái)定義數(shù)據(jù)對(duì)象。然而在實(shí)際應(yīng)用中只有這些數(shù)據(jù)類(lèi)型是不夠的,人們常需要定義一種新的數(shù)據(jù)類(lèi)型來(lái)滿(mǎn)足問(wèn)題求解的需要。為了滿(mǎn)足這類(lèi)問(wèn)題的需要,C語(yǔ)言允許用戶(hù)自定義和種不同的數(shù)據(jù)類(lèi)型,并用它們來(lái)定義與之相關(guān)的對(duì)象步驟二講授一、用指針處理鏈表1、鏈表概述2、處理動(dòng)態(tài)鏈表所需的函數(shù)鏈表結(jié)構(gòu)是動(dòng)態(tài)地分配存儲(chǔ)的,即在需要時(shí)才開(kāi)辟一個(gè)結(jié)點(diǎn)的存儲(chǔ)單元。(1)malloc函數(shù)(2)calloc函數(shù)(3)free函數(shù)注意:以前的C版本提供的malloc和calloc函數(shù)得到的是指向字符型數(shù)據(jù)的指針。ANSIC提供的malloc和calloc函數(shù)規(guī)定為void*類(lèi)型。3、鏈表的建立、輸出、插入和刪除《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第43頁(yè)。(1)建立鏈表《C程序設(shè)計(jì)》教案全文共49頁(yè),當(dāng)前為第43頁(yè)。所謂建立鏈表是指從無(wú)到有地建立起一個(gè)鏈表,即一個(gè)一個(gè)地輸入各結(jié)點(diǎn)數(shù)據(jù),并建立起前后相連接的關(guān)系。(2)輸出鏈表(3)對(duì)鏈表的插入步驟如下:a)查找插入位置;b)插入新結(jié)點(diǎn),即新結(jié)點(diǎn)與插入點(diǎn)前后的結(jié)點(diǎn)連接。(4)對(duì)鏈表的刪除步驟如下:a)查找刪除結(jié)點(diǎn)的位置;b)刪除結(jié)點(diǎn),即將該結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn)與后一個(gè)結(jié)點(diǎn)連接。二、共用體1、共用體的概念定義共用體類(lèi)型變量的一般形式為:union共用體名{成員表列}變量表列;結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。2、共用體變量的引用方式只有先定義了共用體變量才能引用它。不能引用共用體變量

溫馨提示

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

評(píng)論

0/150

提交評(píng)論