第一篇:《C語言程序設計》課程教學的探討
《C語言程序設計》課程教學的探討 文/劉在英張麗曉
作者簡介:劉在英(1977.-),男,山東人,碩士,副教授,研究方向:圖像與大數據處理。張麗曉(1979.-),女,河北人,博士研究生,講師,研究方向:數據挖掘。
摘要:本文提出了《C語言程序設計》課程教學中存在的一些問題,并針對性的給出了課程教學改革的實施方案,主要包括編制詳細的教學設計方案,改變傳統的教學方式,建立嚴格的學生考核機制,加強教學方法的改革,建立新型的實驗教學模式等。關鍵詞:C語言程序設計;教學方法;考核機制;
中圖分類號:TP31文獻標志碼:A文章編號:2095-9214(2015)08-0096-02
一、引言
《C語言程序設計》是計算機相關專業的一門基礎課程,是培養學生計算思維能力、程序設計與實現能力的入門課程,同時也是《數據結構與算法分析》等課程的先導課程;C語言也是IT企業中常用的編程語言。因此,該課程的教學對學生后續課程的學習和今后的工作都會產生重要的影響。對于初學者而言,因為邏輯思維能力較弱,所以在學習過程中積極性不高,學習效率低下,難以提高其編程語言解決實際問題的能力。經過多年的授課,筆者對《C語言程序設計》的課程教學進行了一些探討和實踐
二、教學中存在的問題 1.教學主體以教師為主
在傳統的教學中,教學主體往往以教師為主,高等院校對教師的考核注重“科研”,因此很多教師容易忽視“教學”的重要性。在《C語言程序設計》的教學中教師方面的問題主要包括:①課程的知識點較多,存在教學內容與教學時數之間的矛盾;②教師的教學方法、方式陳舊,難以激發學生主動學習的興趣;③教師在教學中大多重課堂教學,輕實驗教學;④任課教師往往沒有工程實踐經歷,其綜合業務水平有待提高。2.教學中沒有充分調動學生學習的積極性
《C語言程序設計》的課程學習是在新生入學的第一學期,這對課程的教學也帶來一定的消極影響,主要體現在:①學生學習目的不明,動力不足,很多學生以為進入了大學主要是鍛煉社會交往能力;②學生的邏輯思維能力較弱,想象空間較窄,遇到挫折容易產生厭學情緒;③由于受傳統應試教育的影響,學生大多重教輕學,重理論輕實踐,考試能力強,編程能力弱,不能用計算思維解決實際問題。
三、教學改進的舉措
針對上述問題,筆者摒棄以單向性知識傳授為主的教學模式,主張講課教師應以課程的內容和學生的知識積累為基礎,積極引導學生創造性地運用知識和能力,自主地發現、分析和解決問題,學生在研討中學習知識、培養能力和提高素質。具體的教學實施方案包括: 1.編制詳細的教學設計方案
為幫助學生提高自主學習和創新的能力,需要制定詳細的教學設計方案,該方案是課程教學具體實施的主線,它相當于一場晚會的節目演出單,講課教師是導演和主持人,而學生是主角和演員。教學設計方案主要包括:教學日期和時數、教學內容和主題、實驗內容、教學方法、教學手段和作業安排等。2.優化教學內容
該課程存在教學內容較多而教學時數受限,全面而細致的講解所有的內容已不合時宜。教學內容的優化應滿足教學目標的要求,滿足學生的學習需要,激發學生的學習興趣[1]。因此,我們按照“少而精、寬而新,突出核心的知識點”的原則優化教學內容,體現教學內容的先進性、實用性。按照學習進度,給學生安排相應階段的學習任務,有些內容要求學生自主完成。3.改變傳統的教學方式
傳統的“填鴨式”教學方式效果并不好[2],因此,我們在教學引入并主要采用了“討論式”教學,以充分調動學生學習的積極性,具體的做法包括:①每次授課結束前,布置預習思考題,要求學生在課下充分預習,課上圍繞思考題展開討論,每次課分組討論1-3次,每次2-5分鐘;學生課堂討論、發言或回答問題的時間約占總學時的20%;②隨機抽查回答問題與各組指派同學回答問題相結合,回答問題不以正確性為唯一依據,也注重表達過程的清晰度和邏輯性,尤其鼓勵問題回答者闡述自己的觀點或提出問題。統計表明,學生回答問題次數平均水平有6-8次;③將學生在課堂教學過程中的表現按評分標準將其分值記入到平時成績檔案中。
4.加強教學方法的改革
在教學中應以學生為中心,引導學生走向知識,通過合理施壓,注重師生的互動交流,培養學生善于總結、發現問題和主動學習的能力[3-4]。在《C語言程序設計》的課程教學中,我們對教學方法做了如下改革:①“案例教學法”貫穿教學全過程,“學生信息管理系統”貫穿了該課程的全部章節,是學生在學習過程中的“長期任務”;②“任務驅動法”引導學生學習,“長期任務”可以分解為多個對應于知識點的“短期任務”,有助于學生逐步提高編程能力;③用“負反饋教學法”解決學生學習中問題,有效的提高學生的學習效率;④弱化語法,以“算法為先”實現實際問題的求解;⑤并用“多媒體”教案擴大課堂信息量,精心制作與教材配套的CAI課件和習題。5.建立新型的實驗教學模式
為了激發學生學習的積極性,我們通過建立新型的實驗教學模式[5],包括:①為增強學生學習的體驗感,減少了基礎驗證型實驗比例,增加綜合型實驗和設計性實驗的比例;②建立以小組為單位的實驗完成機制,培養學生的團隊合作能力;③加強實驗報告的規范,增強學生的職業崗位意識;④建立定期的課外討論機制,教師定期發布討論主題,學生以小組為單位進行準備,然后通過專題討論和點評,并將學生的表現記入平時成績檔案;⑤鼓勵實驗動手能力的較強的同學自己設計實驗項目,并依據結果給予其一定的平時成績獎勵。6.健全嚴格的學生考核機制
傳統的考核以筆試為主,學生為了應對考試采取死記硬背的方式,為此我們建立嚴格全面的考核機制,包括:①建立學生學習小組,分組原則是小組內部異質化,小組之間同質化;②建立每個學生平時學習成績檔案,學生的平時表現與分值相對應;③制定公平合理的成績評定方案:學期總評成績=平時成績×60% +期末考試成績×40%,平時成績=小組成績*小組人數*組員在項目組的貢獻百分比(組員的貢獻百分比是在教師給出小組成績之前,經過該小組的全體成員一致同意后提交給任課教師),這種考核方式可以促進學生的團隊協作精神和競爭意識;而期末考試側重于通過編程以解決實際問題,從而促使學生平時多思考、多上機實踐,有助于提高他們的邏輯思維和編程能力。7.積極開展第二課堂教學
四、結束語
以上是我們在《C語言程序設計》課程教學方面所做的探索和嘗試,學生的邏輯思維和實踐編程能力得到了較明顯的提升:①在全國和上海市的計算機二級C語言考試中,本專業學生的通過率逐年提高;②學生參加上海市和全國的C語言程序設計大賽獲得良好的成績;③近年來學生對本課程教學反應和評價良好,本課程被評為學校的重點課程。(作者單位:上海杉達學院信息科學與技術學院)
基金項目:上海市教育委員會產學研項目;上海杉達學院重點課程建設項目。
第二篇:《C語言程序設計》課程教學設計
《C語言程序設計》課程教學設計
理學院電子科學系計算機基礎教研室 趙永梅
《C語言程序設計》是大學計算機基礎教學系列中的核心課程之一,是計算機及信息類專業本科生必修的一門專業基礎課。它講述了C語言的語法、數據類型、結構化程序設計方法等方面的內容,從而形成一個比較完整的、系統的計算機及信息類專業計算機程序設計基礎教學內容,是學員從技術的角度學習計算機的主要基礎課,具有不可替代的基礎性、先導性和全局性作用。
一、課程教學對象分析
本課程的教學對象是培訓部計算機類專業一、二年級本科層次學員。所有教學對象都應該已經學習過《大學計算機基礎》,但由于學員的計算機基礎的較大差異,針對教學對象的實際情況,應當根據教育部高等學校計算機科學與技術教學指導委員會《關于進一步加強高等學校計算機基礎教學的意見》暨計算機基礎課程教學基本要求,給以適當的分類、分層次教學,即一般要求和較高要求,使學員掌握C語言的簡單程序設計的基本技術和方法。
二、課程基本理念
本課程以培養復合型的專業技術人才為目標,全面貫徹素質教育和創新教育思想,著力提高人才培養質量。通過本課程的學習應使學員掌握正確的程序設計方法與思想。具有初步的利用計算機分析問題、解決問題的意識與能力,為學員將來到社會從事專業應用軟件的開發打下重要基礎。
三、課程設計思路
以本課程的基本理念為指導,對課程目標分別從知識與技能、過程與方法、情感態度與價值觀等方面進行了具體明確的闡述。課程內容與教學要求主要闡述學員學習本課程必須掌握的內容要點及達到的基本要求,并注明了重點和難點。在實施建議部分,分別對課程教學實施、課程考核評價、教材選編使用、課程資源開發與利用以及教學保障等提出了明確建議。本課程是一門實踐性很強的課程,應改變傳統的注重語法規則的應試型教學模式,合理安排教學實踐環節,加強程序設計技能的教學,以培養學員的專業技能,突出學員學習的主體地位。可通過與實際應用結合緊密的例題,增設小型工程應用項目的研究或運用案例式教學,提高學員編程的技巧。
四、課程教學目標
以《計算機程序設計》的課程標準為參考,根據教育部新的精神和要求,通過課堂教學與實踐教學,讓學員了解《C語言程序設計》這門課程的性質、地位和在工程應用中的價值;熟練掌握C語言的語法,掌握程序設計的基本思想和方法,具備良好的程序設計風格和程序的調試技能。能夠利用軟件工程的思想,運用數據結構基本知識和算法,解決實際生活中或者專業課中涉及到的實際問題,從而培養學員分析問題、解決問題的能力。
五、課程教學內容
(一)教學內容
根據《C語言程序設計》課程標準,參照相關專業人才培養方案以及后續課程的開設情況,講授8個教學單元的教學內容。
第一單元:C語言概述
教學內容:C語言的特點、C語言源程序簡介、C語言源程序的基本結構、C程序的編輯、編譯、鏈接和運行
學時分配:講課2學時,實習2學時
目的和要求:了解C語言及其特點、掌握C語言源程序基本結構、掌握C語言源程序集成開發環境
重 點:C語言源程序的基本結構。難 點:C語言源程序集成開發環境。第二單元:基本數據類型及其運算 教學內容:C語言的基本數據類型及其分類、變量與常量、各種運算符及其表達式
學時分配:講課4學時,實習2學時
目的和要求:了解C語言的數據類型、掌握常量與變量的概念和使用方法、掌握C語言中的整型數據、浮點型數據和字符型數據的表示方法、掌握各種運算符和表達式的使用方法、掌握各類數值型數據之間混合運算的方法
重 點:基本數據類型及其分類 難 點:各種運算符和表達式的使用 第三單元: 結構化程序設計
教學內容:算法的概念及特性、算法的描述、結構化程序設計方法、C的語句、賦值語句、數據的輸入與輸出、順序結構程序設計、關系運算、邏輯運算和條件運算、if語句、switch語句、while、do?while、for、break、continue語句、循環結構程序設計
學時分配:講課22學時,實習6學時
目的和要求:理解算法的概念和特性、掌握用N-S圖描述算法、初步了解結構化程序設計的思想、掌握用N-S圖描述三種基本結構、掌握C語句的種類和特點、掌握數據輸入、輸出的方法、掌握順序結構程序設計方法、掌握關系運算、邏輯運算和條件運算、掌握if語句和switch語句的執行過程、掌握選擇結構程序設計方法、掌握三種循環語句的執行過程和區別、掌握break和continue語句的用法、掌握循環結構程序設計方法。
重 點:算法的概念及特性、C的語句、邏輯運算,if語句和switch語句構成選擇結構、三種循環語句
難 點:掌握用N-S圖描述算法、數據的輸入與輸出、switch語句的執行過程、循環結構程序設計
第四單元:函 數
教學內容:函數的定義與聲明、函數的調用與返回、數組作為函數的參數、變量的存儲類別、內部函數和外部函數
學時分配:講課4學時、實習2學時
目的和要求:理解函數的基本概念、掌握函數的定義、聲明、調用和返回、掌握數組作為函數的參數的特性、掌握變量的作用域及存儲方式、了解內部函數和外部函數的使用方法及區別
重 點: 函數的定義和調用,數組作函數的參數 難 點: 函數的遞歸調用和嵌套調用 第五單元:數 組
教學內容:數組的概念、一維數組的定義、引用和初始化、二維數組的定義、引用和初始化、字符數組的定義、引用和初始化、字符串處理函數
學時分配:講課6學時、實習2學時
目的和要求:理解數組的基本概念、掌握數組的定義、初始化和數組元素的引用方法、掌握字符數組和字符串處理函數的使用、掌握與數組有關的常用算法(冒泡排序和選擇排序)
重 點:數組的定義、初始化和數組元素的引用 難 點:二維數組和字符數組的應用 第六單元:結構體和共用體
教學內容:結構體類型及其使用方法、指向結構體類型數據的指針、用指針處理鏈表、共用體類型及其使用方法、枚舉類型及其使用方法、用typedef定義新類型
學時分配:講課4學時、實習2學時
目的和要求:理解結構體、共用體類型和枚舉類型的概念、掌握結構體、共用體和枚舉類型數據的使用、了解用指針處理鏈表的方法和意義、掌握typedef命令的使用方法
重 點:結構體、共用體類型和枚舉類型數據的使用方法 難 點:指針處理鏈表的方法 第七單元:指 針 教學內容:指針的概念、指針與變量、指針與數組、指針與字符串、指針與函數
學時分配:講課6學時、實習2學時
目的和要求:理解指針的概念、掌握指針變量的定義、引用方法及運算、掌握通過指針訪問數組的方法、掌握通過指針處理字符串的方法、掌握使用指針作為函數的參數、掌握函數指針、掌握指針數組和指向指針的指針
重 點:指針的概念、指針作函數的參數、數組的指針和字符串的指針
難 點:函數的指針、指針數組和指針的指針 第八單元:文 件
教學內容:文件類型指針、文件的打開與關閉、文件的讀寫 學時分配:講課2學時,實習2學時
目的和要求:掌握文件概念及文件的打開與關閉、掌握文件的順序和隨機讀寫、了解文件的出錯檢測
重 點:文件的打開、關閉和讀寫函數的使用 難 點:文件類型指針
(二)教學實踐
本課程是一門實踐性很強的課程,上機實習是教學過程中的一個重要環節,目的是使學員熟練掌握C程序編輯、編譯、鏈接和運行的基本步驟,提高學員在TURBOC環境下,運用C語言對具體問題進行程序設計的能力。按照課程標準,本課程共安排20 學時的上機實習。
為了更好地開展教學實踐,給每位學員統一發放了與主講教材配套的上機指導書《C程序設計上機實踐指導書》,以輔助理論教學,提高學員的程序設計的能力。
實踐教學內容與課時分配如下: 實驗1: TURBOC 2.0環境下的基本操作 課時分配:2學時 實驗目的:
(1)掌握TURBOC 2.0的基本操作;
(2)掌握TURBOC 2.0環境下編輯、編譯、鏈接和運行程序的基本方法;
(3)初步了解C語言源程序的基本結構。實驗2 :基本數據類型及其運算 課時分配:2學時 實驗目的:
(1)掌握C語言的基本數據類型,學會變量的定義和賦值;(2)熟練掌握C語言有關運算符、表達式的使用方法;
(3)進一步熟悉C語言程序的編輯、編譯、鏈接和運行的基本步驟。實驗3: 順序結構程序設計 課時分配:2學時 實驗目的:
(1)熟練掌握各種基本類型數據的輸入、輸出方法;(2)熟練掌握賦值語句的使用方法;
(3)熟練掌握格式輸入、輸出函數的使用方法。實驗4 :選擇結構程序設計 課時分配:2學時 實驗目的:
(1)掌握關系表達式、條件表達式以及邏輯表達式;(2)熟練運用if語句的不同形式編寫程序;(3)掌握switch語句的使用方法。實驗5: 循環結構程序設計 課時分配:2學時 實驗目的:
(1)熟練掌握while,do?while,for語句的使用;(2)掌握在程序設計中用循環方法實現的一些常用算法;(3)進一步熟悉調試程序的方法。實驗6: 函數 課時分配:2學時 實驗目的:
(1)掌握實參和形參在函數間進行“值傳遞”的對應關系和傳遞方法;
(2)掌握函數的嵌套調用和遞歸調用;(3)理解變量的存儲類別和作用域。實驗7: 數組 課時分配:2學時 實驗目的:
(1)掌握數值型數組的初始化和輸入、輸出的方法;(2)掌握字符數組的初始化和字符串的輸入、輸出方法;(3)掌握數組下標的表示方法。實驗8: 結構體與共用體 課時分配:2學時 實驗目的:
(1)掌握結構體類型和結構體變量的定義和使用方法;(2)學會構造合理的數據結構解決實際問題的方法;(3)理解動態內存分配的概念;(4)掌握簡單鏈表的定義和操作;(5)掌握共用體數據的定義和使用方法;(6)掌握枚舉類型數據的定義和使用方法。實驗9: 指針 課時分配:2學時 實驗目的:
(1)理解指針和地址的概念;掌握指針變量的定義和使用方法;(2)掌握用指針處理數組的方法;(3)掌握字符串指針的使用方法;(4)掌握函數的指針的使用方法;(5)掌握指針數組和指針的指針的使用方法;(6)掌握指針變量的運算。實驗10: 文件 課時分配:2學時 實驗目的:
(1)掌握文件的打開和關閉方法以及文件的讀寫方法;(2)了解文件的定位以及出錯的檢測。
六、教學方法手段
(一)教學方法
通過對基礎知識的講解,突出基本概念、基本思想的講授和基本技能的訓練,結合案例精講多練,注重講解與實際應用結合緊密的例題,加強實踐練習。在教學過程中,貫穿“講授式”、“啟發式”、“案例式”、和“研討式” 等教學方法。
注意教學方法的靈活性,教學過程中,借助現有的多媒體設備,靈活運用教學方法,再現問題情景,增加互動氛圍,培養學員分析問題、解決問題的能力和探究意識。
作業量每次3-5題,難度應當適中,教員應做到定時批閱,及時講評。
注重實踐環節。實習課(20學時),在教員指導下,單人單機自主進行。實習內容根據程序設計基本技能中的要求合理設計,依次實施。
適當增加一些小型項目或以大作業的形式,使學員進一步加強學習的自主性,培養解決綜合問題的能力。
(二)備課與課堂設計 1.備課
按照人才培養方案、課程標準和教學基本要求,在開課前需要深刻理解本課程各單元的主要教學內容,以課程教學組為基本單位組織集體備課,統一教學要求、統一授課標準、統一課程進度。認真撰寫教案、制作課件并對針對重點如何突出、難點如何突破進行討論與試教練講。
2.課堂設計
將課程的全部教學內容分解落實到有限的25次課堂面授(50學時)和10次自主上機實習(20機時)之中去。在開課之前適當時候組織學員進行摸底考試,并且在開課后的兩周之內及時組織召開教學聯系會,全面了解學員對C語言的掌握情況和掌握程序設計方法的情況,以便因材施教,有的放矢。
七、教學評價
本門課程采用筆試與上機考試(機試)成績相結合的方式評價。筆試成績占70%,上機考試成績占30%。
第三篇:C語言程序設計課程教學設計
C語言程序設計課程教學設計
蘇小紅
一 課程內容體系 :
基本描述
課程名稱: C 語言程序設計
英文譯名 : C PROGRAMMING LANGUAGES 總 學 時: 50 ; 講課學時: 30 ; 實驗學時 : 0 ; 上機學時 : 30 授課對象 :非計算機專業 本科生 授課單位 :計算機科學與技術學院 主講教師 :蘇小紅等
先修課程 :高等數學,計算方法 課程要求 :必修課 課程分類 :專業基礎課 開課學期 : 2
教學定位 :
本課程為專業基礎課,屬我校所有理工科專業本科教學計劃中的主要必修課程之一。在計算機教育方面,C 語言是為數不多的與國外保持內容同步的課程之一,可見,它在本科生教學中的地位之重要不言而喻。由于 C 語言是許多后續專業課程的基礎,因此,在本科生教學體系中中,C 語言教學僅是起點,而非終點。本著面向未來的精神,本課程的教學宗旨是要努力把 C 語言從應試課程轉變為一種實踐工具,主要目的不再局限于使學生單純地了解和掌握 C 語言的基本語法規范,而是要致力于培養學生運用 C 語言解決實際問題的編程能力,以 C 語言為工具,介紹程序設計的基本思想和方法,培養學生無論以后在學習、工作中使用什么語言編程,都能靈活應用這些思想和方法的能力。
知識點與學時分配 :
第 1 章 程序設計 ABC(1 學時)
計算機與人之間的關系、計算機與程序設計語言之間的關系、程序設計語言的故事、程序設計語言的工作機理。
第 2 章 數據類型、運算符與表達式(3 學時)
為什么引入數據類型、C 語言基本數據類型、常量、變量、算術運算符、關系運算符、邏輯運算符、賦值運算符、增 1 減 1 運算符、強制類型轉換運算符、位運算符、逗號運算符、運算符的優先級和結合性、各種運算表達式。
第 3 章 簡單的 C 程序設計(2 學時)
C 語句分類、表達式語句、復合語句和空語句、字符輸入輸出函數、格式輸入輸出函數。第 4 章 程序的控制結構(5 學時)
算法的概念及其描述方法、條件語句、循環語句、流程轉移控制語句(goto、continue 和 break)、自頂向下、逐步求精的結構化程序設計方法。第 5 章 函數(4 學時)
程序結構的藝術、函數定義、函數調用、函數返回值、函數原型、參數傳遞、變量的作用域和存儲類,函數封裝、模塊分解原則、模塊化程序設計方法。第 6 章 數組(4 學時)
一維數組、二維數組、向函數傳遞一維數組、向函數傳遞二維數組、字符數組、字符串處理函數。第 7 章 指針(4 學時)
指針的概念、為什么引入指針的概念、變量的指針作函數參數、字符指針做函數參數、指針和數組之間的關系、指針數組、代碼風格、防御性程序設計。第 8 章 結構體和共用體(4 學時)
結構體類型、結構體變量、結構體數組、向函數傳遞結構體指針、共用體類型。第 10 章 文件操作(2 學時)
計算機中的流、文件、基本文件操作、高級文件操作。復習總結(1 學時)
第四篇:《C語言程序設計》課程教學大綱
《C語言程序設計》課程教學大綱
一、課程教學目的
本課程系統學習C語言的基本知識和基本語法,較好地訓練學生解決問題的邏輯思維能力以及編程思路和技巧,使學生具有較強的利用 C 語言編寫軟件的能力,為培養學生有較強軟件開發能力打下良好基礎。
二、課程教學要求
通過本課程的學習,應熟練掌握 C 語言中的基本知識、各種語句及程序控制結構,熟練掌握 C 語言的函數、數組、指針、結構體、鏈表等數據結構的基本算法;并能熟練地運用 C 語言進行結構化程序設計;具有較強的程序修改調試能力;具備較強的邏輯思維能力和獨立思考能力。
三、課時分配
本學科計劃學時為246學時,其中理論與實訓課時比例為7:3。
四、課程教學重、難點
課程教學重點:掌握C語言變量類型及不同類型常量的表示;標準的輸入輸出函數的使用;運算符及常用數學函數的使用;控制流程、數組和指針的使用;結構體、鏈表的構造使用;函數結構、函數參數傳遞及遞歸等方面的知識;基本的文件操作。難點:指針的使用、結構體鏈表的構造和使用及函數的參數傳遞。
五、課程教學方法(或手段)
本課程實踐性較強,故采用講授和上機操作相結合的方式進行教學。
六、課程教學內容 第一章 C語言概述 1.教學內容
(1)編程歷史的回顧、程序設計介紹(過程式,面向對象,函數式,邏輯式);(2)C語言的歷史背景、特點;(3)C語言源程序的格式和程序結構;(4)C程序的上機步驟。2.重、難點提示
(1)重點:掌握簡單的 C程序格式,包括main()函數、數據說明、函數開始和結束標志等;
(2)難點:編程入門以及對語言的理解。第二章 算法 1.教學內容
(1)算法的概念及特性;評價算法優劣的方法(時間和空間);(2)簡單算法舉例;
(3)算法的表示(自然語言、流程圖、N-S流程圖);(4)結構化程序設計的基本思想及基本步驟。2.重、難點提示
(1)重點: 算法流程圖三種基本結構(以后各章學習中利用流程圖強化對程序的理解);
(2)難點: 算法概念以及對結構化程序設計思想的理解。第三章 數據類型、運算符與表達式 1.教學內容
(1)基本數據類型及其常量的表示法(字符和字符串常量),各種數制(八、十、十六進制)的整型數和長整型數,實型數(float和double);
(2)變量的類型說明、初始化及引用;(3)運算符與表達式: 2.重、難點提示
(1)重點: 掌握 C的幾種基本數據類型,不同類型數據間的混合運算規則;不同運算符的使用特點,清楚每種運算符的優先級與結合性;各種表達式的含義與使用要點。
(1)難點:不同類型數據間的混合運算;運算符的優先級與結合性。第四章 最簡單的 C 程序設計 — 順序程序設計 1.教學內容
(1)C程序結構和語句的構成;
(2)順序結構程序的設計:賦值語句的使用要點;(3)數據的輸入與輸出: 2.重、難點提示
(1)重點: 順序結構程序的表達式語句形式; 輸入/輸出函數的表示與調用方法; 利用流程圖加深對順序結構程序的理解。
(2)難點: 格式輸入與輸出表示中各種格式字符的表示含義。
第五章 選擇結構程序設計 1.教學內容
(1)關系運算符和關系表達式;(2)邏輯運算符和邏輯表達式;
(3)if語句(if;if?else?;if?else if?else?);(4)switch和break語句。2.重、難點提示
(1)重點:關系、邏輯運算符及其表達式的語法形式;掌握if語句;switch語句; 利用流程圖加深對選擇結構程序的理解。
(1)難點: 關系與邏輯運算符表達式的結果判定; if語句嵌套的層次判定;程序中使用break語句運行結果的判定。第六章 循環控制 1.教學內容
(1)用goto語句構成循環、for語句、while語句和do?while語句;(2)循環嵌套;
(3)break,continue語句。2.重、難點提示
(1)重點:掌握while語句與do while語句的結構,for語句的結構,其使用方法;常見的循環嵌套形式;正確區分for語句、do?while語句與while語句;break語句和continue的應用及其區別;
(2)難點:分析總結常用的程序設計方法及算法特點,并能編寫相應的程序。第七章 數組 1.教學內容
⑴ 數組的含義與存儲特點; ⑵ 數組的定義與使用; ⑶ 字符數組。2.重、難點提示
(1)重點:掌握一維數組、二維數組;字符數組與字符串的概念與定義方法,常用的字符串處理函數。
(2)難點:數組下標的起始數問題;利用數組形式進行程序設計的一般方法與典型算法。
第八章 函數 1.教學內容 ⑴ 函數的定義;
⑵ 函數的調用(一般調用、嵌套調用、遞歸調用),return語句; ⑶ 參數的傳遞方式:形式參數與實在參數; ⑷ 局部變量與全局變量; ⑸ 變量的動態存儲與靜態存儲; ⑹ 內部函數與外部函數。2.重、難點提示
(1)重點: 掌握函數定義的一般形式;函數的調用的幾種形式;函數嵌套調用的一般過程;數組名作為函數的參數的一些特點;局部變量與全局變量的概念及它們的使用特點。
(2)難點:不同的函數參數傳遞方法在程序中應用的結果判定;利用函數調用方法實現程序設計中涉及的參數定義、參數傳遞以及返回值問題;函數調用的理解。第九章 預處理命令 1.教學內容
⑴ 預處理的概念與特點; ⑵ 符號常數和宏的定義; ⑶ “文件包含”處理。2.重、難點提示
(1)重點:宏定義的方法;“文件包含”與預處理的應用。(2)難點:宏定義的方法。第十章 指針 1.教學內容
⑴ 指針與地址的概念;
⑵ 指針變量的定義,初始化;指針變量的引用(取地址運算符&及指針運算符*);指針變量作為函數參數的應用;
⑶ 指針與數組(數組的指針和指向數組的指針變量); ⑷ 字符串的指針和指向字符串的指針變量;
⑸ 函數的指針和指向函數的指針變量、返回指針值的指針函數; ⑹ 指針數組和指向指針的指針;
⑺ 對main()函數命令行參數的基本了解。2.重、難點提示
(1)重點:指針變量定義、初始化和引用;數組的指針和指向數組的指針變量;字符串的指針和指向字符串的指針變量;指針數組與指向指針的指針。
(2)難點:指針概念深刻理解;區別指向數組的指針和指針數組;指向指針的指針; 有關指針的數據類型定義和指針的相關運算。第十一章 結構體與共用體 1.教學內容
⑴ 定義結構體類型變量的方法;
⑵ 結構體變量的引用與結構體變量的初始化; ⑶ 結構體數組與指向結構體數據的指針; ⑷ 指向結構體類型數據的指針及用指針處理鏈表; ⑸ 共用體; ⑹ 枚舉類型;
⑺ 用typedef定義類型。2.重、難點提示
(1)重點:掌握結構體類型變量的定義方法;結構體類型變量的引用方法;結構體類型變量如何在定義的同時初始化; 通過圖示正確理解鏈表的概念和形態,共同體的含義、共同體類型變量的定義方法。
(2)難點:結構體與共用體概念的掌握;各種結構體結構的定義。第十二章 位運算 1.教學內容
⑴ 運算符和位運算; ⑵ 位運算舉例; ⑶ 位段。2.重、難點提示
(1)重點:掌握各種位運算符,運算規則和優先級。(2)難點:各種位運算符的運算規則和優先級。第十三章 文件 1.教學內容
⑴ 文件類型指針; ⑵ 文件的打開與關閉; ⑶ 文件的讀寫; ⑷ 文件的定位。2.重、難點提示
(1)重點:掌握文件操作的相關標準函數;(2)難點:文件的讀寫和定位操作。
七、實驗教學內容
實驗項目(一):C 語言中控制語句的使用(1)項目類別:必做(2)項目性質:綜合性(3)項目主要目的要求:
掌握各類控制語句的書寫格式,能在具體問題解決時給出合適的程序控制結構;用分支結構實現程序的條件控制;用循環結構實現程序中重復執行操作的控制。(4)主要儀器:計算機(5)實驗考核方法:隨堂考查 實驗項目(二):C 語言中數組的使用(1)項目類別:必做(2)項目性質:綜合性(3)項目主要目的要求:
掌握數組這種構造類型的特點,如何用數組數據對象并對數據對象進行處理;熟練掌握一維數組的定義、引用、初始化,用一維數組來對字符進行處理;掌握二維數組的定義、引用、初始化,用二維數組實現矩陣的有關方法算法。(4)主要儀器:計算機(5)實驗考核方法:隨堂考查 實驗項目(三):C 語言中函數的使用(1)項目類別:必做(2)項目性質:綜合性(3)項目主要目的要求:
C語言中用函數來實現子功能模塊,掌握系統函數的調用方法及用戶自定義函數的定
義、調用方法;用自定義函數來實現一個具體問題;用自定義函數的嵌套調用來實現一個復雜問題。
(4)主要儀器:計算機(5)實驗考核方法:隨堂考查 實驗項目(四):C 語言中指針的使用(1)項目類別:必做(2)項目性質:綜合性(3)項目主要目的要求:
掌握指針變量的運用,通過指針引用數組元素的方法,函數指針變量作函數的參數;在程序中進行指針變量的運算操作,指針變量作函數的參數;數組元素的指針。(4)主要儀器:計算機(5)實驗考核方法:隨堂考查
實驗項目(五):C 語言中結構體與鏈表的使用(1)項目類別:必做(2)項目性質:綜合性(3)項目主要目的要求:
掌握結構體類型變量的定義和使用;結構體類型數組的概念和應用;鏈表的創建與使用;檢共用體的概念與使用。(4)主要儀器:計算機(5)實驗考核方法:隨堂考查
實驗項目(六):C 語言中文件的使用(1)項目類別:必做(2)項目性質:綜合性(3)項目主要目的要求:
掌握文件以及緩沖文件系統、文件指針的概念;學會使用文件打開、關閉、讀、寫等文件操作函數;學會用緩沖文件系統對文件進行簡單的操作。(4)主要儀器:計算機(5)實驗考核方法:隨堂考查
八、課程考核方式 1.考核方式:
閉卷考試 2.成績構成:
平時+期末
九、選用教材和參考書目
[1]《C程序設計》(第三版),譚浩強編,清華大學出版社,2007。
[2]《數據結構—用C語言描述》(第二版),唐策善編,高等教育出版社,2004。[3]《程序設計基礎與C語言》(第一版),梁力.郭曉玲.高浩編,西安電子科技大學出版社,2001。
[4]《C語言程序設計》(第二版)劉德恒編,電子工業出版社,2001。
第五篇:c語言程序設計課程教學大綱2012
《C語言程序設計》課程教學大綱
課程編號:
適用專業:機械制造、數控、焊接 專業責任教學單位:機電工程系 總學時:36學時 考核形式:閉卷 筆試 課程類型:專業基礎課 選讀方式:必修課 教學目的:
我們的時代是一個離不開計算機的時代,對于機械制造、數控、焊接專業學生,程序設計是學生必備的技能之一。C語言是一種廣泛使用的結構化程序設計語言,它既具有高級語言的特點,又具有低級語言的特點,它的通用性與靈活性使得它比一般的程序設計語言更加通俗易懂。
本課程從介紹C語言的基礎知識入手,引入“模塊化程序設計”思想,強調實例教學,并結合大量的上機實踐,要求學生在模仿、實踐中逐步學會編寫程序,提高閱讀程序的能力及實際操作能力和技能,為以后更好的理解程序,學習程序,開發軟件打好基礎。
主要教學內容及要求:
第一部分 進入C語言程序世界(2學時)
1、要求:了解C語言的特點,掌握C程序的結構組成,算法的概念及其表示方法,熟悉VC編程環境使用。
2、內容:
1.1 了解C語言程序的結構 1.2 設計簡單的C語言程序 1.3 C程序的調試與運行 1.4 計算機語言的發展
3、重點:C程序的結構、VC編程環境、算法的概念及其表示、編寫最簡單的C程序。難點:編寫簡單的C程序。
第二部分 編制C程序設計的基礎知識(2學時)
1、要求:熟練掌握C語言基本數據類型和表達式,掌握并熟練運用常用的I/O函數。
2、內容: 2.1 常量與變量
2.2 C語言的基本數據類型 2.3 C語言的常用運算符與表達式
3、重點:C語言基本類型、C語言常用表達式。難點:C語言表達式運算符優先級的判斷。第三部分 順序結構程序設計(2學時)
1、要求:了解三種結構程序設計的思想,掌握順序化結構程序設計的方法。
2、內容:
3.1 結構化程序設計的三種基本結構 3.2 數據的輸入與輸出 3.3順序結構程序設計舉例
3、重點:順序結構程序設計,printf與scanf函數的使用。難點:printf與scanf函數的使用。
4、實驗:
實驗
一、輸入/輸出函數編程實訓 實驗
二、順序程序結構設計
第四部分 選擇結構程序設計(2學時)
1、要求:掌握選擇結構程序設計的方法,if語句,switch語句的應用。
2、內容:
4.1 選擇結構程序設計簡介 4.2 if語句的典型應用形式 4.3條件運算符和條件表達式 4.4 switch語句的應用 4.5 選擇結構程序設計應用
3、重點:選擇結構程序設計,if語句與switch語句的應用。難點:if語句與switch語句的使用。
4、實驗:
實驗
三、選擇結構程序設計
第五部分 循環結構程序設計(4學時)
1、要求:掌握循環結構程序設計的思路,while語句、do—while語句和 for語句的使用,循環語句嵌套,break和continue語句。
2、內容:
5.1 為什么使用循環
5.2 while語句與do...while語句 5.3 for語句實現循環 5.4 幾種循環的比較 5.5 多重循環(嵌套循環)5.6 break和continue語句 5.7 循環結構程序設計舉例
3、重點: while語句、do—while語句和 for語句的使用,循環語句嵌套,break語句。難點:循環語句的嵌套。
4、實驗:
實驗
四、循環結構程序設計
第六部分 應用數組設計程序(4學時)
1、要求:掌握數組的定義、引用和初始化,熟練運用數組解決同類型的多個變量問題。
2、內容: 6.1 數組的引入 6.2 一維數組 6.3 二維數組 6.4 字符數組 6.5 數組的應用
3、重點:一維數組、二維數組和字符數組的定義和應用。難點:二維數組、字符數組的應用。
4、實驗:
實驗五、一維數組的使用 實驗
六、字符數組的使用
第七部分 應用函數設計程序(4學時)
1、要求:掌握函數的定義及調用規則,理解實參和形參數據的傳遞方式,熟練運用函數實現模塊化程序設計,理解函數的嵌套調用和遞歸調用,內部函數與外部函數,理解變量的作
用范圍和存儲類別
2、內容: 7.1 函數的引入 7.2 函數的定義與調用 7.3 函數的嵌套調用和遞歸調用 7.4 函數應用實例
7.5 局部變量、全局變量及其存儲 7.6 內部函數和外部函數
3、重點:函數的定義與調用、遞歸和嵌套函數、變量的存儲類別和作用范圍。難點:函數的調用、遞歸函數的使用。
4、實驗:
實驗
七、函數的使用 第八部分 應用指針編制程序
1、要求:了解指針的概念及定義,掌握指針的使用方法,掌握指針和一維數組以及指針和二維數組的應用。掌握幾種特殊類型的指針。
2、內容: 8.1 指針概述 8.2 指針變量 8.3 指針與數組 8.4 指針與函數 8.5 指針數組 8.6 指向指針的指針
3、重點:指針變量的定義和使用、指針與變量、數組、函數指向應用。難點:指針變量作為函數參數、指針指向數組、函數的應用。
4、實驗:
實驗
八、指針的簡單使用 實驗
九、指針的高級使用
第九部分 結構體、共用體和枚舉類型的應用(4學時)
1、要求:理解并掌握結構體的基本概念和用法,掌握共用體和枚舉類型的基本概念及一般使用方法,了解用戶自定義類型。
2、內容:
9.1 結構體類型與結構體變量的定義 9.2 結構體變量的引用 9.3 結構體數組 9.4 結構體與指針 9.5 結構體與函數 9.6 結構體應用—鏈表 9.7 共同體 9.8 枚舉類型
9.9 用typedef定義類型
3、重點:結構體、共用體和枚舉類型的定義、引用和初始化 難點:結構體的概念和使用
4、實驗:
實驗
十、結構體和共用體的應用 第十部分 文件(2學時)
1、要求:理解文件的結構類型、文件指針的相關概念,掌握文件的打開、關閉、讀寫、定位等文件操作
2、內容: 10.1 文件概述 10.2 文件的常用操作 10.3 文件的應用舉例
3、重點:文件的打開與關閉,文件的讀寫 難點:文件類型指針的概念,文件的讀寫
4、實驗:
實驗
十一、文件的使用
第十一部分 C語言程序設計應用實例(4學時)
1、要求:成功完成“實現通訊錄的管理程序”與“貪吃蛇游戲編程實例”訓練。
2、內容:
11.1 實現通訊錄的管理程序 11.2 學生成績管理程序
11.3 圖形與游戲編程實例
3、重點:強化多種C語句、規則的混合使用,理解結構化程序設計的思路。難點:C語句規則的熟練使用,圖形庫函數的使用。本課程與其它課程的聯系與分工:
先修課程:《計算機應用基礎》、《高等數學》、《線性代數》
編寫者簽名:
****年**月**日 系部審核:
教務處批準:
年
月
****年**月**日
日