




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《程序設計基礎》教案
第一章程序設計和C語言課題C語言概述教案號 1教學目的1、了解C語言出現(xiàn)的歷史背景2、掌握C語言程序的結構、書寫格式和上機步驟教材分析教學重點C語言程序的結構教學難點上機步驟課時安排2教學方法講授與演示法相結合 教具計算機、投影儀教學內(nèi)容及過程設計一新課引入從計算機應用基礎中學過的計算機語言及語言處理系統(tǒng)引出C語言。二講授新課一、C語言出現(xiàn)的背景二、C語言的特點語言簡潔、緊湊,使用方便、靈活;運算符豐富數(shù)據(jù)類型多(整型、實型、字符型、數(shù)組類型、指針類型、結構體類型、共用體類等)具有結構化的控制語句語法不太嚴格,自由度大既是高級語言,又具有低級語言的功能成目標代碼質(zhì)量高,程序執(zhí)行效率可移植性好三、C語言程序構成(采用程序?qū)嵗右哉f明,并提倡良好的程序設計書寫風格)C語言是由函數(shù)構成的,至少有一個main()函數(shù);每個函數(shù)由函數(shù)首部和函數(shù)體組成;函數(shù)體由說明語句、執(zhí)行語句組成;每個C程序從main()函數(shù)開始執(zhí)行,并在main()中結束;每個語句和數(shù)據(jù)定義的最后必須加分號;C程序無輸入、輸出語句:輸入功能由scanf()函數(shù)完成;輸出功能由printf()函數(shù)完成;可加注釋/*……*/四、上機步驟(上機環(huán)境:TurboC2.0).進入環(huán)境2.編輯源程序3.保存源程序4.編譯源程序5.執(zhí)行程序,查看結果 6.退出C環(huán)境三課堂小結1、C語言的構成要素,main函數(shù)在程序中的作用2、上機操作的過程備注安排上機實驗,熟悉TC環(huán)境及簡單的C語言程序構成頁碼 1
第二章算法——程序的靈魂
第二章算法——程序的靈魂第三章 最簡單的第三章 最簡單的C程序設計―-順序程序設計備注 頁碼 備注 頁碼 課題用指針處理鏈表教案號24教學目的領會存儲動態(tài)分配和釋放,領會鏈表的基本概念。教材分析教學重點存儲動態(tài)分配和釋放,鏈表的概念教學難點存儲動態(tài)分配和釋放,鏈表的概念課時安排2教學方法講授與演示法相結合教具計算機、投影儀教學內(nèi)容及過程設計(3)C編譯程序必須給數(shù)組分配存放其全部元素的存儲空間,而對鏈表不必也不可能預先分配全部存儲空間,因為C編譯程序元法確定鏈表中的元素的個數(shù)。2.用自引用結構實現(xiàn)鏈表結構需要解決三個問題(1)必須指出鏈表第一個結點的位置,否則無法存取該鏈表中的結點實現(xiàn)方法:定義一個指向該結構對象的指針,或定義一個該結構類型的變量,使其指向鏈表的第一個結點即可。如:structnode*head;(2)在建立一鏈表時,如何獲得下一個新的結點的存放空間。實現(xiàn)方法:用C編譯系統(tǒng)提供的庫函數(shù)malloc(size)動態(tài)分配存儲空間得到。除此之外,還可用calloc函數(shù)。如:structnode*p1,*p2;■■■p2=(structnode*)malloc(size(structnode));或:p2=(structnode*)calloc(1,size(structnode));if(p2==NULL)exit(0);p1—>next=p2;/*此處設p1指向新結點的上一結點*/另外:free函數(shù)可用于釋放內(nèi)存區(qū)。如:free(p);表示釋放由p指向的內(nèi)存區(qū),使這部分內(nèi)存區(qū)能被其他變量使用。(3)要明確指出鏈表的鏈尾。實現(xiàn)方法:通常把最后結點中的成員項next置為空指針NULL即可。三、簡單鏈表例:建立一個如下圖所示的簡單鏈表,并輸出各結點中的數(shù)據(jù)。99101——?99103——?9910789.5-9085第九章用戶自己建立數(shù)據(jù)類型第九章用戶自己建立數(shù)據(jù)類型課題用指針處理鏈表教案號24教學目的領會存儲動態(tài)分配和釋放,領會鏈表的基本概念。教材分析教學重點存儲動態(tài)分配和釋放,鏈表的概念教學難點存儲動態(tài)分配和釋放,鏈表的概念課時安排2教學方法講授與演示法相結合教具計算機、投影儀教學內(nèi)容及過程設計#defineNULL0structstrudent{longnum;floatscore;structstudent*next;};main(){structstudenta,b,c,*head,*p;head=&a;a.num=99101;a.score=89.5;a.next=&b;b.num=99103;b.score=90;b.next=&c;c.num=99107;c.score=85;c.next=NULL;p=head;do{printf(“%ld%5.1f\n”,p->num,p->score);p=p->next;}while(p!=NULL);}四、鏈表的建立五、鏈表的輸出例11.9編寫一個輸出鏈表的函數(shù)print。voidprint(structstudent*head){structstudent*p;printf(“\nNow,These%drecordsare:\n”,n);p=head;if(head!=NULL)do{printf(“%ld%5.1f\n”,p->num,p->score);p=p->next;}while(p!=NULL);備注上機練習頁碼49
課題用指針處理鏈表教案號24教學目的領會存儲動態(tài)分配和釋放,領會鏈表的基本概念。教材分析教學重點存儲動態(tài)分配和釋放,鏈表的概念教學難點存儲動態(tài)分配和釋放,鏈表的概念課時安排2教學方法講授與演示法相結合教具計算機、投影儀教學內(nèi)容及過程設計六、鏈表的刪除操作七、鏈表的插入操作例11.11寫一個函數(shù)insert插入一結點。分析:插入點可能有以下三種情況:在鏈表中間、表頭、表尾。structstudent*insert(structstudent*head,structstudent*stud){structstudent*p0,*p1,*p2;p1=head;p0=stud;if(head==NULL){head=p0;p0->next=NULL;}else{while((p0->num>p1->num)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p0->num<=p1->num)if(head==p1){head=p0;p0->next=p1;}else{p2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}return(head);}三課堂小結本課主要學習了結構變量與指針的應用,利用指針引用結構成員;并介紹了鏈表的概念,作為鏈表結點的結構類型,及存儲動態(tài)分配與釋放的使用,靜態(tài)鏈表的建立及其他操作,同學們在對鏈表操作時,應分析可能的情況,并畫出鏈表的示意圖。本章我們只學習了單向鏈表,在后續(xù)課程中還將學習其他類型的鏈表。。四布置作業(yè)(P330)9備注上機練習頁碼50
課題共用體、枚舉類型和typedef教案號25教學目的1、掌握共用體類型的說明、共用體變量的定義、成員的引用2、領會枚舉類型變量的定義,了解typedef的作用教材分析教學重點掌握共用體類型的說明、共用體變量的定義、成員的引用教學難點共用體變量的賦值及所占存儲空間、成員的引用課時安排2教學方法講授與演示法相結合教具計算機、投影儀教學內(nèi)容及過程設計一復習引導結構體變量所獲得的存儲空間是各成員項所占空間之和。二講授新課一、共用體(聯(lián)合)聯(lián)合(共同體)也是一種構造類型的數(shù)據(jù)結構。在一個“聯(lián)合”內(nèi)可以定義多種不同的數(shù)據(jù)類型因為有時我們需要使幾種不同類型的變量放到同一內(nèi)存單兀中。允許利用同一存儲區(qū)域來存儲、處理不同類型的數(shù)據(jù)。使幾個不同的變量共占同一段內(nèi)存的結構,稱為“聯(lián)合”(共同體)類型的結構。1、共用體的概念使幾個不同類型的變量共占同一段內(nèi)存的結構。共用體類型的定義形式:union共用體名{ 數(shù)據(jù)類型1 變量名1;數(shù)據(jù)類型2 變量名2;■■■ ■■■數(shù)據(jù)類型n 變量名n;};例如:uniondata{inti;charch;floatf;}a,b;其中,變量a,b的成員i,ch,f共用一段空間。變量a,b的空間分別為4字節(jié)。2、共用體變量的引用共用體變量名.成員名如:a.i 或 a.f3、共用體變量的特點同一內(nèi)存段瞬時只能存放成員表中的一種,此時其他成員不起作用;共用體變量的地址及各成員的地址相同;即 &a、&a.i、&a.ch、&a.f均是同一地址。備注頁碼51
課題共用體、枚舉類型和typedef教案號25教學目的1、掌握共用體類型的說明、共用體變量的定義、成員的引用2、領會枚舉類型變量的定義,了解typedef的作用教材分析教學重點掌握共用體類型的說明、共用體變量的定義、成員的引用教學難點共用體變量的賦值及所占存儲空間、成員的引用課時安排2教學方法講授與演示法相結合教具計算機、投影儀教學內(nèi)容及過程設計(3)不能用共用體變量名進行賦值、初始化等操作;如:union{inti;charch;floatf;}a={1,'a',1.5};X(4)共用體與結構體可以嵌套使用。(5)不能用共用體變量作為函數(shù)參數(shù),也不能使函數(shù)帶回共用體變量,但可用指向共用體變量的指針作函數(shù)的參數(shù)。二、枚舉類型1、枚舉類型的概念列舉出所有可能的取值的一種數(shù)據(jù)結構。2、枚舉類型的定義enum枚舉名{枚舉值表};例:enumweekday{sun,mon,tue,wed,thu,fri,sat};enumweekdayweek_end,workday;或enumweekday{sun,mon,tue,wed,thu,fri,sat}workday;或enum{sun,mon,tue,wed,thu,fri,sat}week_end;3、枚舉類型變量的賦值和使用.枚舉值是常量,不是變量;sun=5;mon=2;sun=mon;X.枚舉類型是有序數(shù)據(jù)類型,枚舉元素是有值的;例:main(){enumweekday{sun,mon,tue,wed,thu,fri,sat}a,b,c;a=sun;b=mon;c=tue;printg“%d,%d,%d”,a,b,c);}運行結果為:0,1,2可改變枚舉元素的值。enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat}day;備注頁碼52
課題共用體、枚舉類型和typedef教案號25教學目的1、掌握共用體類型的說明、共用體變量的定義、成員的引用2、領會枚舉類型變量的定義,了解typedef的作用教材分析教學重點掌握共用體類型的說明、共用體變量的定義、成員的引用教學難點共用體變量的賦值及所占存儲空間、成員的引用課時安排2教學方法講授與演示法相結合 教具計算機、投影儀教學內(nèi)容及過程設計.枚舉元素可比較;例:默認時,mon>sun.只能將枚舉值賦予枚舉變量;例:a=sun;b=mon; 是正確的而a=0; b=1; 是錯誤的但b=(enumweekday)1;是正確的.枚舉兀素不是字符串常量,使用時不要加引號。.由于C編譯程序?qū)⒚杜e量作為整型數(shù)來處理,所以可使用常數(shù)的地方,都可以使用枚舉常量。三、用typedef定義類型C語言不僅提供了豐富的數(shù)據(jù)類型,而且還允許用戶自己定義類型說明符,即允許用戶為數(shù)據(jù)類型取別名。類型定義符typedef可用來完成此項功能。typedef可完成為類型取別名.typedef的一般形式:typedef舊類型名新類型名;:typedeffloatreal;reala,f;再如:typedefchar*pointer;pointerp,string="example”;但我們必須明白:首先,定義的新名只是原名的一個別名,并不是建立一個新的數(shù)據(jù)類型;其次,新名和原名同時存在并有效,即原名并不失去效用,在程序中仍可使用;最后,用新名和原名定義的對象具有相同的性質(zhì)和效果。三課堂小結本課主要學習了共用體、枚舉類型及用typedef定義類型。在使用共用體變量時,要和結構體變量做好區(qū)分。四布置作業(yè)《C語言習題集》同步練習第9章習題備注頁碼53第十章對文件的輸入輸出第十章對文件的輸入輸出課題文件教案號26教學目的1、掌握標準設備輸入/輸出函數(shù)的使用2、掌握緩沖文件系統(tǒng)的使用教材分析教學重點標準設備輸入/輸出函數(shù)(部分)的使用,文件的使用教學難點文件的使用課時安排2教學方法講授與演示法相結合 教具計算機、投影儀教學內(nèi)容及過程設計一、講授新課C語言把文件看成是一個字符(字節(jié))的序列。按數(shù)據(jù)的組織形式,分為ASCII文件和二進制文件。前者每一個字節(jié)存放一個ASCII字符,后者把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲形式輸出到磁盤上存放。前者占空間多,需要轉(zhuǎn)換,后者節(jié)省空間和轉(zhuǎn)換時間,但一個字節(jié)不對應一個字符,不能直接輸出字符形式。C語言中可利用高級I/O庫函數(shù)來存取文件,存取文件的過程與其他語言中的處理過程類似。通常按如下順序進行:■■打開文件■■讀寫文件(若干次)■■■關閉文件這個處理順序表明:一個文件被存取之前首先要打開它,只有文件被打開后才能進行讀/寫操作,文件讀/寫完畢后必須關閉。一、文件的打開在操作系統(tǒng)中,每一個文件都有一個名字以供識別,如存儲在磁盤上的C源程序文件fileLc,file2.c等。文件名是文件的外部名,通過它可以找到文件的實際存儲設備、位置、大小、特性等諸如此類的相關信息。這些信息只能由操作系統(tǒng)的文件管理系統(tǒng)掌握與管理,因此要存取文件必須通過操作系統(tǒng)的文件系統(tǒng)。這意味著一個C語言程序沒有直接通過文件的外部名存取一個外部文件的能力,程序中要存取文件必須與文件系統(tǒng)取得聯(lián)系,把要存取文件的有關信息和要求,諸如文件的名字、讀文件還是寫文件、以何種方式讀/寫等告訴文件系統(tǒng),由文件系統(tǒng)在設備中建立、尋找、定位文件,分配存取文件的緩沖區(qū),做好存取文件要求的一切準備工作。上述存取文件的有關信息和要求都由程序通過I/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南地礦職業(yè)學院《醫(yī)學免疫學與病院生物學》2023-2024學年第一學期期末試卷
- 長春東方職業(yè)學院《交互用戶體驗分析》2023-2024學年第一學期期末試卷
- 甘肅林業(yè)職業(yè)技術學院《園林樹木學》2023-2024學年第一學期期末試卷
- 西北農(nóng)林科技大學《中國古代文學作品(一)》2023-2024學年第一學期期末試卷
- 廣東工程職業(yè)技術學院《比較文學研究》2023-2024學年第一學期期末試卷
- 蘇州市昆山市2024年數(shù)學八上期末達標測試試題含解析
- 四年級數(shù)學(四則混合運算帶括號)計算題專項練習與答案
- 上海電機學院《食品質(zhì)量與安全檢測技術》2023-2024學年第一學期期末試卷
- 河南省鄭州市鄭州外國語2024-2025學年八上物理期末質(zhì)量檢測模擬試題含解析
- 廣西桂林市灌陽縣2024-2025學年物理八上期末檢測模擬試題含解析
- 意外險產(chǎn)品組合策略分析-洞察闡釋
- 政府采購政策培訓課件
- 浙江省金華市十校2024-2025學年高二下學期期末考試英語試題
- 2025年上海市(秋季)高考語文真題詳解
- 銀行綜合服務方案(3篇)
- 2024-2025學年下學期高一數(shù)學人教A版期末必刷??碱}之頻率與概率
- 設備易損配件管理制度
- 青霉素過敏反應的急救
- 2025-2030中國鋁業(yè)發(fā)展狀況與投資戰(zhàn)略研究報告
- 國外警用槍支管理制度
- 2025年國家醫(yī)療器械抽檢品種檢驗方案
評論
0/150
提交評論