




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
(完整word版)《C語言程序設(shè)計》-譚浩強(第四版)教案C語言程序設(shè)計教案課程名稱:C語言程序設(shè)計教材:《C語言程序設(shè)計(第四版)》作者:譚浩強,清華大學(xué)出版社考核方式:總成績由課堂參與占10%,試驗報告占20%,期末考試占70%(閉卷考試)。C語言是近年來國內(nèi)外廣泛使用的一種計算機語言。C語言程序設(shè)計是計算機專業(yè)和信息管理專業(yè)的核心基礎(chǔ)課程,具有功能豐富、表達能力強、使用靈活方便、應(yīng)用面廣、目標程序效率高、可移植性好等優(yōu)點。學(xué)生學(xué)好C語言,對從事工業(yè)機器人編程非常有幫助。課程性質(zhì)和任務(wù):本課程是我校工業(yè)機器人、分布式發(fā)電與微電網(wǎng)專業(yè)的專業(yè)必修課,也是計算機系的數(shù)據(jù)結(jié)構(gòu)、C++、單片機編程等課程的前導(dǎo)課程,是一門實踐性很強的課程,既要掌握概念,又要動手編程,還要上機調(diào)試運行。同時,這門課程也是“湖南省非計算機專業(yè)學(xué)生計算機應(yīng)用能力水平考試”二級考試的主要語種之一。教學(xué)目標:通過理論和實踐教學(xué),使學(xué)生較好地掌握C語言各方面的知識,掌握基本的程序設(shè)計過程和技巧,具備初步的高級語言程序設(shè)計能力,并能熟練應(yīng)用VC++6.0集成環(huán)境進行C語言的編寫、編譯與調(diào)試,能應(yīng)用C語言解決一般編程問題的水平。教學(xué)基本目的和要求:一、程序設(shè)計和C語言重點:計算機程序、計算機語言、C語言編譯軟件的安裝、最簡單的C語言程序。二、算法:程序的靈魂重點:簡單的算法舉例、算法的特性、用流程圖表示算法。三、順序結(jié)構(gòu)程序設(shè)計重點:C語言的數(shù)據(jù)類型、C語句的種類、賦值語句、數(shù)據(jù)的輸入輸出及輸入輸出中最常用的控制格式。四、選擇結(jié)構(gòu)程序設(shè)計重點:關(guān)系運算符與邏輯運算符及其組成的具有邏輯值的表達式、二條分支語句的格式及基本應(yīng)用、多分支的選擇語句。五、循環(huán)結(jié)構(gòu)程序設(shè)計重點:C構(gòu)成循環(huán)的四種方法,尤其是后三種方法、break與continue語句的基本作用。難點:while語句、do-while語句、for語句、循環(huán)的嵌套、break與continue語句。六、數(shù)組4、指針操作靈活。5、具有高效性。6、可移植性強。7、易于擴充。8、具有豐富的函數(shù)庫。三、C程序基本結(jié)構(gòu)1、頭文件2、main函數(shù)3、變量定義4、語句和表達式5、注釋四、C語言的版本C89、C99、C11等版本。五、C語言的關(guān)鍵字auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while等。六、C語言的編譯過程預(yù)處理->編譯->匯編->鏈接重點:C語言的特點、基本結(jié)構(gòu)、版本和關(guān)鍵字;編譯過程。難點:C語言的版本和關(guān)鍵字的理解。《C語言程序設(shè)計》教案第9-10課時授課內(nèi)容:第3章最簡單的C程序設(shè)計——順序程序設(shè)計教學(xué)目的:舉例說明順序程序調(diào)序的基本流程、整型數(shù)據(jù)類型、整型數(shù)據(jù)的溢出。重點:整型數(shù)據(jù)類型;整型數(shù)據(jù)的溢出難點:整型數(shù)據(jù)類型;整型數(shù)據(jù)的溢出講授:一、順序程序設(shè)計舉例(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)存中占用的存儲單位長度是不同的。VC++6.0為字符型數(shù)據(jù)分配一個字節(jié)長度;為int型(基本型)分配4個字節(jié)的長度。2.存儲不同數(shù)據(jù)類型的方法也是不同的。四、整型數(shù)據(jù)(15分鐘)1.整型數(shù)據(jù)的分類:(1)基本整型(int型)。(2)短整型(shortint)。(3)長整型(longint)。2.整型變量的符號屬性:(1)有符號型和無符號型。(2)整型數(shù)據(jù)常見的存儲空間和值的范圍。3.整型數(shù)據(jù)的溢出。五、上機演示及實踐操作在講課的同時切換編譯界面調(diào)試整型數(shù)據(jù)溢出。教學(xué)安排:課后自我總結(jié)分析。備注:無?!禖語言程序設(shè)計》教案第11-12課時授課內(nèi)容:第3章最簡單的C程序設(shè)計——順序程序設(shè)計教學(xué)目的:舉例說明順序程序調(diào)序的基本流程、數(shù)據(jù)的表現(xiàn)形式及運算、不同數(shù)據(jù)類型的混合運算。重點:整型數(shù)據(jù)類型longint和shortint數(shù)據(jù)類型、運算符的優(yōu)級先級、不同數(shù)據(jù)類型的混合運算。難點:整型數(shù)據(jù)類型longint和shortint數(shù)據(jù)類型、運算符的優(yōu)級先級、不同數(shù)據(jù)類型的混合運算。講授:一、浮點型數(shù)據(jù)1.浮點型數(shù)據(jù)的存儲方式。2.浮點型數(shù)據(jù)的表現(xiàn)形式:浮點數(shù)據(jù)的指數(shù)形式。3.浮點型數(shù)據(jù)的類型:(1)單精度。(2)雙精度。(3)長雙精度。二、字符型數(shù)據(jù)1.字符常量表示:直接表示/轉(zhuǎn)義表示(特殊的轉(zhuǎn)義字符,一般字符也可以轉(zhuǎn)義表示)。2.特殊轉(zhuǎn)義字符對顯示/打印的控制作用。教學(xué)安排:課后自我總結(jié)分析。備注:無。重點:選擇結(jié)構(gòu)的嵌套;switch語句實現(xiàn)多分支選擇結(jié)構(gòu)難點:嵌套選擇結(jié)構(gòu)的流程圖繪制;switch語句的使用和注意事項講授一、選擇結(jié)構(gòu)的嵌套1、嵌套選擇結(jié)構(gòu)的流程圖繪制2、嵌套選擇結(jié)構(gòu)的實例分析二、switch語句1、switch語句的基本形式2、switch語句的注意事項a)case子句中必須是常量表達式b)case子句中不能有重復(fù)的常量值c)switch語句中必須有default子句d)break語句的作用e)switch語句的流程圖繪制3、switch語句的實例分析三、選擇結(jié)構(gòu)程序設(shè)計的實例1、計算BMI指數(shù)2、判斷考試成績等級3、判斷輸入的年份是否為閏年4、實現(xiàn)簡單的計算器功能教學(xué)安排課后自我總結(jié)分析備注引言:計算機重復(fù)執(zhí)行工作是其特長之一,C語言提供了多種循環(huán)結(jié)構(gòu)來實現(xiàn)重復(fù)執(zhí)行。一、if語句的嵌套1、if語句中包含一個或多個if語句稱為if語句的嵌套。2、為了體現(xiàn)程序設(shè)計者的思想,可加花括號來確定配對的關(guān)系。3、縮進增強代碼的可讀性,養(yǎng)成良好的編程風格。4、例4.5用if語句的嵌套實現(xiàn)階躍函數(shù)。二、用switch語句實現(xiàn)多分支選擇結(jié)構(gòu)1、switch語句的一般形式。2、例4.6用switch語句輸出考試成績的ABCD段等級。3、例4.7用switch語句處理菜單命令。三、選擇結(jié)構(gòu)程序設(shè)計綜合舉例例4.8判斷某一年是否是閏年,例4.9求二元二次方程的實根。四、上機演示及實踐操作在講課的同時切換軟件界面調(diào)試代碼。總結(jié)分析:掌握選擇結(jié)構(gòu)的嵌套和switch語句實現(xiàn)多分支選擇結(jié)構(gòu),能夠綜合運用選擇結(jié)構(gòu)進行程序設(shè)計。二、循環(huán)結(jié)構(gòu)程序設(shè)計重復(fù)執(zhí)行是循環(huán),C語言提供了while、do-while和for三種循環(huán)控制語句。一、while語句(當型循環(huán))1、while語句的一般形式是:while(condition){statement;}2、執(zhí)行過程是:先判斷條件,如果為真則執(zhí)行循環(huán)體,再次判斷條件,直到條件為假跳出循環(huán)。3、使用while注意的問題。例5-1:利用while語句,編寫程序計算1+2+3+…+100。二、do-while語句(直到型循環(huán))1、do-while語句的一般形式是:do{statement;}while(condition);2、do-while執(zhí)行過程:先執(zhí)行一次循環(huán)體,再判斷條件是否為真,如果為真則繼續(xù)執(zhí)行循環(huán)體,直到條件為假跳出循環(huán)。3、do-while說明:例5-4:利用do-while語句計算1+1/2+1/4+…+1/50。三、for語句(當型循環(huán))1、for語句的一般形式是:for(initialization;condition;increment){statement;}2、for循環(huán)執(zhí)行過程:先執(zhí)行初始化語句,再判斷條件是否為真,如果為真則執(zhí)行循環(huán)體和增量語句,再次判斷條件,直到條件為假跳出循環(huán)。《C語言程序設(shè)計》教案第19-20課時授課內(nèi)容:第5章(2)循環(huán)結(jié)構(gòu)程序設(shè)計教學(xué)目的:掌握條件運算符、條件表達式,以及要求掌握switch-case語句。重點:switch-case語句難點:switch-case語句的使用引言:a)復(fù)習(xí)關(guān)系運算、邏輯運算、if語句b)引入簡單的條件運算符及表達式,以及開關(guān)語句講授:一、條件運算符、條件表達式在if語句中,當表達式為“真”和“假”時,都只執(zhí)行一個賦值語句給同一個變量賦值時,可以使用簡單的條件運算符來處理。例如:if(a>b)max=a;elsemax=b;<=>max=a>b?a:b;(1)條件表達式的一般形式:表達式1?表達式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運輸公司對用戶計算運費。六、應(yīng)用舉例例6-14:從鍵盤輸入一個大于2的整數(shù)n,判斷是不是素數(shù)。例6-15:求100-200之間的所有素數(shù)。例6-16:輸出下三角99乘法表七、上機演示及學(xué)生操作在講課的同時切換軟件界面調(diào)試代碼課后自我總結(jié)分析備注:無教學(xué)安排:《C語言程序設(shè)計》教案第21-22課時授課內(nèi)容:第6章(1)一維組的應(yīng)用教學(xué)目的:掌握數(shù)組的基本概念,一維數(shù)組的定義、初始化、引用,以及最大值、冒泡排序、選擇排序算法。重點:一維數(shù)組的定義、初始化、引用,求最大值、冒泡排序、選擇排序算法;矩陣操作難點:冒泡排序、選擇排序算法引言:基本數(shù)據(jù)類型-構(gòu)造類型的數(shù)據(jù)-數(shù)組數(shù)組、數(shù)組元素、數(shù)組的下標、數(shù)組的維數(shù)例如:inta[10];一維數(shù)組可以看作一個數(shù)列,向量。講授:一、一維數(shù)組的定義、初始化、引用二、求一維數(shù)組中元素的最大值三、冒泡排序算法四、選擇排序算法五、矩陣操作六、應(yīng)用舉例例6-17:輸入10個整數(shù),將其中的奇數(shù)和偶數(shù)分別存入兩個數(shù)組中。例6-18:輸入10個學(xué)生的成績,輸出最高分及其序號。例6-19:輸入10個學(xué)生的成績,按照從高到低的順序輸出。七、上機演示及學(xué)生操作在講課的同時切換軟件界面調(diào)試代碼課后自我總結(jié)分析備注:無講授:一、定義和引用一維數(shù)組1.一維數(shù)組的定義類型為:數(shù)組名[整型常量表達式]。2.一維數(shù)組的下標從0開始。3.數(shù)組元素的引用方法為:數(shù)組名[下標]。例如,利用數(shù)組輸出1-10可以通過循環(huán)語句實現(xiàn),但需要注意數(shù)組下標越界的問題。4.一維數(shù)組的初始化有幾種形式,包括定義時賦初值、部分賦初值、數(shù)組元素全部置0、數(shù)組元素全部賦值(此時可以不指定長度)。5.給數(shù)組元素賦初值和給數(shù)組集合賦初值有異同。給數(shù)組元素賦初值可以使用inttemp[1]={9},而給數(shù)組集合賦初值可以使用inttemp[10]={1,2,3}。二、一維數(shù)組的應(yīng)用例子例6-2:用數(shù)組來處理斐波那契數(shù)列;例6-3:采用“冒泡法”對任意輸入的10個整數(shù)按由小到大的順序排序;例6-4:采用“選擇法”對任意輸入的10個整數(shù)按由大到小的順序排序。三、動態(tài)內(nèi)存分配法實現(xiàn)不定長一維數(shù)組有些情況下需要定義長度不定的數(shù)組,這時可以使用動態(tài)內(nèi)存分配法。例如,讀取不同聲音的語音數(shù)據(jù)序列。教學(xué)安排:課后自我總結(jié)分析。備注:《C語言程序設(shè)計》教案,第23-24課時,授課內(nèi)容為第6章(2)二維數(shù)組和多維數(shù)組的應(yīng)用。教學(xué)目的和要求:重點:二維數(shù)組定義、初始化、引用;雙重for循環(huán)讀取二維數(shù)組;二維數(shù)組1維和2維的分辨。難點:雙重for循環(huán)讀取二維數(shù)組、二維數(shù)組1維和2維的分辨。二、二維數(shù)組1.二維數(shù)組的應(yīng)用場景。2.二維數(shù)組的定義方法為:數(shù)組名[行數(shù)][列數(shù)]。3.二維數(shù)組元素的內(nèi)存分布是按行優(yōu)先存儲的。4.二維數(shù)組元素的引用方法為:數(shù)組名[行下標][列下標]。例如,可以通過構(gòu)造和打印單位矩陣來練習(xí)二維數(shù)組元素的引用,注意下標是從1開始使用的,未使用的元素的值是隨機的。5.二維數(shù)組的初始化有幾種形式,包括分行給二維數(shù)組賦值、將所有數(shù)組寫在一個花括號內(nèi)、對部分元素賦值、對全部元素賦初值(此時可以省略二維數(shù)組的1維長度,但不能省略2維長度)。6.雙重for循環(huán)法可以用來讀取二維數(shù)組。舉例:例6-4:將二維數(shù)組的行和列互換,存到另一個數(shù)組里;例6-5:找出矩陣所有元素中的最大值;例6-附加:分別計算矩陣的兩條對角線(主、輔對角線)上的元素之和。六、多維數(shù)組的應(yīng)用多維數(shù)組是指數(shù)組中每個元素又是一個數(shù)組,即數(shù)組的元素也可以是數(shù)組。多維數(shù)組的定義可以通過指定行列的方式來實現(xiàn)。例如,inta[3][4]表示定義了一個3行4列的二維數(shù)組a。在使用多維數(shù)組時,需要通過指定行列來引用元素,例如a[1][2]表示訪問數(shù)組a的第2行第3列的元素。不定長二維數(shù)組的實現(xiàn)在某些情境下,需要定義一個二維數(shù)組,但是數(shù)組的長度不定,這時需要定義一個長度不定的二維數(shù)組。例如讀取不同尺寸圖像點的像素值。可以通過動態(tài)分配內(nèi)存的方式來實現(xiàn)不定長二維數(shù)組的定義。具體實現(xiàn)方法可以參考動態(tài)內(nèi)存分配相關(guān)的函數(shù)。上機演示及學(xué)生操作在講課的同時,可以切換到軟件界面來演示代碼的調(diào)試過程,讓學(xué)生更加直觀地理解代碼的實際運行過程。同時,可以讓學(xué)生進行相關(guān)的上機操作,加深對多維數(shù)組和不定長二維數(shù)組的理解和應(yīng)用。講授完畢后,可以讓學(xué)生自我總結(jié)和分析所學(xué)內(nèi)容,以便更好地掌握知識點。同時,需要注意對學(xué)生的作業(yè)布置和批改,及時發(fā)現(xiàn)和糾正問題,確保教學(xué)效果。備注:本節(jié)課重點講解了多維數(shù)組的應(yīng)用和不定長二維數(shù)組的實現(xiàn)方法,同時還介紹了相關(guān)的上機演示和學(xué)生操作,以及課后的自我總結(jié)和分析。1.strcmp函數(shù)是用于比較兩個字符串的函數(shù)。2.strlen函數(shù)可以用來測試字符串的長度。3.strlwr函數(shù)可以將字符串轉(zhuǎn)換為小寫形式。4.strupr函數(shù)可以將字符串轉(zhuǎn)換為大寫形式。二、字符數(shù)組的應(yīng)用舉例例6.8:從鍵盤輸入一個字符串和一個字符,要求從該字符串中刪除指定的字符。例6.9:從鍵盤輸入三個字符串,找出其中的最大串。(使用字符串庫函數(shù))三、學(xué)習(xí)如何閱讀C標準函數(shù)手冊附錄FC庫函數(shù)1.使用預(yù)編譯頭文件include來包含頭文件。2.學(xué)習(xí)如何閱讀函數(shù)庫函數(shù)的函數(shù)類型和參數(shù)。四、字符數(shù)組函數(shù)的綜合練習(xí)1.打印楊輝三角形。2.有一個已排好序的數(shù)組,要求輸入一個數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。3.魔方陣,要求輸出1~n。4.找出二維數(shù)組的鞍點,即該位置上的元素在該行上最大,在該列上最小,也可能沒有鞍點。5.編寫一個程序,將兩個字符串連接起來,不使用strcat函數(shù)。五、上機演示和實踐操作在講課的同時,切換軟件界面進行代碼調(diào)試。教學(xué)安排:1.講解函數(shù)定義、調(diào)用、聲明,以及函數(shù)參數(shù)傳遞方式。2.介紹函數(shù)遞歸調(diào)用。3.演示函數(shù)的定義和調(diào)用,并進行實踐操作。課后自我總結(jié)分析:1.總結(jié)函數(shù)的定義、調(diào)用、聲明和參數(shù)傳遞方式。2.練習(xí)函數(shù)的實踐操作,加深理解。備注:本節(jié)課程需要學(xué)生掌握函數(shù)的基本概念和使用方法,為后續(xù)學(xué)習(xí)打下基礎(chǔ)。求學(xué)生平均成績本節(jié)課主要介紹如何通過傳遞數(shù)組地址來計算學(xué)生的平均成績。函數(shù)的聲明本節(jié)課主要介紹函數(shù)的聲明方法,以及如何在程序中正確使用函數(shù)聲明。函數(shù)的嵌套調(diào)用和遞歸調(diào)用本節(jié)課主要介紹函數(shù)的嵌套調(diào)用和遞歸調(diào)用的概念,并通過例子來說明如何正確使用這兩種調(diào)用方式。變量的作用域和生命周期本節(jié)課主要介紹變量的作用域和生命周期的概念,以及局部變量和全局變量的區(qū)別。同時,還介紹了變量的存儲類別,包括動態(tài)存儲變量和靜態(tài)存儲變量。指針概述及指針作為函數(shù)參數(shù)本節(jié)課主要介紹指針的概念,以及如何將指針作為函數(shù)參數(shù)傳遞。通過例子來說明如何正確使用指針作為函數(shù)參數(shù)。教學(xué)目的:學(xué)習(xí)指針的基本概念,包括變量訪問方式、指針變量的定義、賦值和引用,以及指針作為函數(shù)參數(shù)的使用方法。重點:指針的基本概念、指針變量定義、賦值、引用、指針作為函數(shù)參數(shù)。難點:指針的基本概念。講授:一、指針變量的定義1、定義格式:指針變量基類型*指針變量名;2、說明:(1)指針變量基類型:指針變量指向數(shù)據(jù)的類型。(2)指針變量存放地址值,本身占用空間2字節(jié)。二、指針變量的賦值1、將地址直接賦值給指針變量。例如:float*f=malloc(4);2、將變量地址賦值給指針變量。例如:floata,*p;p=&a;三、指針變量的引用1、&運算符(取地址運算符)。2、*運算符(指針運算符、間接訪問運算符)。例9-1,P137.指針變量定義、賦值、引用例子。四、指針變量作為函數(shù)的參數(shù)變量可以作為函數(shù)參數(shù),指針變量同樣可以作為函數(shù)參數(shù)。使用指針作為函數(shù)參數(shù),可以在函數(shù)中對指針所指向變量的值進行處理(修改)。指針作為函數(shù)參數(shù),本質(zhì)上同樣是單向傳值,但是由于傳遞的是地址值,所以可以通過地址值間接修改形參、實參共同指向的變量。例9-2:輸入a,b兩個數(shù)交換后輸出。在swap函數(shù)中使用兩個指針作為函數(shù)參數(shù),對兩個指針所指向變量值進行交換。結(jié)論:1、要在被調(diào)用函數(shù)中,修改主調(diào)函數(shù)的變量值應(yīng)當:(1)將主調(diào)函數(shù)變量的地址傳遞給被調(diào)用函數(shù),即傳遞變量的地址。(2)被調(diào)用函數(shù)的形參應(yīng)當使用指針變量接受主調(diào)函數(shù)的地址值。(3)在被調(diào)用函數(shù)中通過形參指針變量間接訪問,修改實參、形參地址所共同指向的變量。本例的操作是交換兩個指針變量所指向的變量。2、函數(shù)使用指針作為參數(shù),可以增加主調(diào)函數(shù)與被調(diào)函數(shù)之間數(shù)據(jù)溝通的渠道。課后自我總結(jié)分析:本節(jié)課學(xué)習(xí)了指針的基本概念,包括變量訪問方式、指針變量的定義、賦值和引用,以及指針作為函數(shù)參數(shù)的使用方法。重點掌握了指針的基本概念和指針變量的定義、賦值、引用、指針作為函數(shù)參數(shù)的使用方法,并且能夠靈活運用。難點在于指針的基本概念,需要認真理解和掌握。二、指針運算與引用數(shù)組元素1、在一定條件下可以對指針進行加減運算。2、指向數(shù)組元素時,可以對指針進行加減自增自減運算。三、通過指針引用數(shù)組元素1、可以使用下標法或指針法來引用數(shù)組元素。2、例8.7通過指針變量輸出整型數(shù)組a的10個元素。四、使用數(shù)組名和數(shù)組指針變量作為函數(shù)參數(shù)1、例8.8將數(shù)組a中n個整數(shù)按相反順序存放。2、例8.9將例8.8改寫為使用指針變量作為實參。3、例8.10使用指針法對10個整數(shù)按從大到小順序排序。五、指針指向多維數(shù)組1、可以使用多維數(shù)組的地址來獲取數(shù)組元素。2、可以使用指向多維數(shù)組元素的指針來引用數(shù)組元素。(1)可以使用指向數(shù)組元素的指針變量來輸出二維數(shù)組中的元素。(2)可以使用指向一維數(shù)組的指針變量來引用多維數(shù)組中的元素。3、可以使用指向數(shù)組的指針作為函數(shù)參數(shù)。例8.14計算班級學(xué)生的平均分和指定學(xué)生的成績,例8.15查找不及格學(xué)生的成績。六、字符指針的使用1、可以使用字符數(shù)組名和下標來引用字符串中的字符。2、也可以使用%s格式聲明來輸出字符串。3、可以使用字符指針變量來處理字符串。4、可以使用字符指針作為函數(shù)參數(shù)來處理字符串。5、字符數(shù)組和字符指針變量的區(qū)別在于存儲方式和賦值方式。有些操作對象只有在程序運行時才能確定,這種情況下編譯時無法為它們預(yù)留存儲空間,只能在程序運行時根據(jù)需要進行內(nèi)存分配,這種方法稱為動態(tài)內(nèi)存分配。所有的動態(tài)內(nèi)存分配都在堆區(qū)中進行。三、動態(tài)內(nèi)存分配1、內(nèi)存的動態(tài)分配是什么?內(nèi)存的動態(tài)分配是指在程序運行時根據(jù)需要進行內(nèi)存分配的方法,這種方法只能在堆區(qū)中進行。使用動態(tài)內(nèi)存分配需要確定以下幾個要求:內(nèi)存分配給誰?分配多大內(nèi)存?是否還有足夠內(nèi)存分配?內(nèi)存將用來存儲什么格式的數(shù)據(jù)?分配好的內(nèi)存在哪里?如果這五點都確定,那么內(nèi)存就能夠成功分配。其中,使用malloc函數(shù)可以從堆上分配內(nèi)存。2、如何使用malloc函數(shù)?使用malloc函數(shù)需要滿足上述五個要求,只有這些要求確定了,才能成功分配內(nèi)存。malloc函數(shù)的原型如下:void*malloc(uintsize)除了malloc函數(shù),還有其他幾個函數(shù)可以用來進行動態(tài)內(nèi)存分配,包括calloc函數(shù)、free函數(shù)和realloc函數(shù)。四、野指針是什么?野指針是指指向未知或無效內(nèi)存地址的指針。野指針的形成可能是因為指針未初始化、指針指向已被釋放的內(nèi)存、指針越界等原因。野指針的危害是很大的,可能會導(dǎo)致程序崩潰、數(shù)據(jù)丟失等問題。五、void指針類型是什么?void指針類型是指向空類型指針,而非指向任意類型的指針。void指針可以指向任何類型的數(shù)據(jù),但是不能直接訪問指針所指向的數(shù)據(jù),必須先進行類型轉(zhuǎn)換。課后自我總結(jié)分析:本節(jié)課主要
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國互聯(lián)網(wǎng)防水建筑材料行業(yè)營銷模式及發(fā)展競爭分析預(yù)測研究報告
- 2025年中國智能道路事件檢測系統(tǒng)市場調(diào)查研究報告
- 2025年中國旋轉(zhuǎn)密封市場調(diào)查研究報告
- 2025年中國斜面控制臺市場調(diào)查研究報告
- 2025-2030年中國主題公園行業(yè)發(fā)展格局及投資風險預(yù)測研究報告
- 2025-2030年中國丁辛醇產(chǎn)業(yè)市場運行態(tài)勢及投資風險研究預(yù)測研究報告
- 肇慶市實驗中學(xué)高中歷史三:第課理性之光高效課堂教學(xué)設(shè)計
- 新疆生產(chǎn)建設(shè)兵團興新職業(yè)技術(shù)學(xué)院《植物資源學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆理工學(xué)院《電氣工程及其自動化專業(yè)前沿》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆烏魯木齊仟葉學(xué)校2025年中考英語試題山東卷沖刺訓(xùn)練解析含答案
- 機器視覺基礎(chǔ)課件
- 學(xué)校學(xué)生評教表
- 部編版語文五年級下冊 第四單元復(fù)習(xí)課件
- 部編版小學(xué)六年級語文下冊全冊教案(詳案)
- 浙江省舟山市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細及行政區(qū)劃代碼
- 邏輯哲學(xué)論-英文版
- 特斯拉核心零部件供應(yīng)鏈梳理分析課件
- 城市設(shè)計導(dǎo)則SOM
- 減少老年住院患者口服藥缺陷次數(shù)的-PDCA-案例課件
- 九年級英語單詞默寫表(最新可打印)
- 學(xué)校辦學(xué)基本條件評估指標體系修訂
評論
0/150
提交評論