《C語言程序設(shè)計》教學(xué)大綱
課程名稱:
| C語言程序設(shè)計
|
|
|
課程編號:
| 420003
| 408003
| 436003
|
適用專業(yè):
| 網(wǎng)絡(luò)工程
| 計算機科學(xué)與技術(shù)
| 軟件工程
|
課程類別:
| 專業(yè)必修
|
|
|
課程學(xué)分:
| 4
|
|
|
總學(xué)時:
| 72
|
|
|
其中:理論學(xué)時
| 42
|
|
|
實驗學(xué)時
| 30
|
|
|
先修課程:
| 無
|
一、課程的性質(zhì)、目的與任務(wù)
《C語言程序設(shè)計》是網(wǎng)絡(luò)工程專業(yè)、計算機科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)的必修課,目的是使學(xué)生掌握一門高級程序設(shè)計語言,學(xué)會利用C語言解決一般應(yīng)用問題,并為后續(xù)的專業(yè)課程奠定程序設(shè)計基礎(chǔ)。主要任務(wù)是介紹C語言中的數(shù)據(jù)類型,運算,語句結(jié)構(gòu)及其程序設(shè)計的基本方法?!禖語言程序設(shè)計》是一門實踐性很強的課程,必須通過上機操作才能掌握所學(xué)的知識,所以要特別強調(diào)講授與上機操作相結(jié)合,要保證學(xué)生有充分的上機條件。
通過本課程的學(xué)習(xí),要求學(xué)生達到:
1.掌握賦值語句的使用方法及各種類型數(shù)據(jù)的輸入輸出;
2.掌握實現(xiàn)選擇和循環(huán)的編程方法,學(xué)習(xí)調(diào)試程序;
3.掌握一維、二維數(shù)組的定義、賦值和輸入輸出方法,掌握字符數(shù)組和字符串函數(shù)的使用,掌握與數(shù)組有關(guān)的算法(如排序算法)等;
4.掌握定義函數(shù)及調(diào)用函數(shù)的方法,初步掌握全局變量和局部變量的概念和使用方法;
5.通過實驗進一步掌握指針的概念,學(xué)會定義和使用指針變量,能正確使用指向數(shù)組的指針變量,能正確使用指向字符串的指針變量;
6.掌握結(jié)構(gòu)體類型變量的定義和使用,掌握結(jié)構(gòu)體類型數(shù)組的概念和使用;
7.掌握文件以及文件指針的概念,初步學(xué)會使用文件的打開、關(guān)閉、讀、寫等文件操作函數(shù)。
二、課程教學(xué)基本內(nèi)容與要求
第一章 C語言概述及程序設(shè)計基礎(chǔ)
(一)基本教學(xué)內(nèi)容
1.1 C語言程序設(shè)計的基本特點;
1.2 C語言程序設(shè)計的基本結(jié)構(gòu);
1.3 算法的概念及描述方法;
1.4 結(jié)構(gòu)化程序的結(jié)構(gòu)與描述工具;
1.5 程序編輯、編譯方法;
(二)基本要求
教學(xué)目的:了解C語言的歷史背景、C語言的特點、C語言源程序的結(jié)構(gòu)、理解算法的概念、特點;理解并掌握結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)和N-S結(jié)構(gòu)流程圖、掌握C程序的上機步驟,開發(fā)環(huán)境及其基本操作方法。
教學(xué)重點:C程序的基本結(jié)構(gòu);C程序的編輯、編譯工具使用。
教學(xué)難點:使用流程圖對算法的描述
第二章 簡單的C語言編程
(一)基本教學(xué)內(nèi)容
標識符、常量與變量的概念與定義;
2.1標識符
2.3常量與變量
2.4基本數(shù)據(jù)類型
2.5 C語言語句
2.6運算表達式與賦值語句
2.7位運算
2.8格式化輸入輸出語句
2.9字符數(shù)據(jù)的輸入與輸出
(二)基本要求
教學(xué)目的:了解標識符、常量與變量的概念;了解C語言中數(shù)據(jù)類型;了解表達式的概念及C語言中各種表達式的特點;理解數(shù)據(jù)類型轉(zhuǎn)換,理解并掌握運算符的優(yōu)先級與結(jié)合性,掌握位運算工作原理,掌握輸入/輸出格式。
教學(xué)重點:常量與變量的特點和區(qū)別;各種運算符的運算規(guī)則與優(yōu)先級;各種表達式的運算結(jié)果;數(shù)據(jù)輸入/輸出;位運算。
教學(xué)難點:各種運算符的使用;各種表達式的計算;位運算。
第三章 選擇結(jié)構(gòu)程序設(shè)計
(一)基本教學(xué)內(nèi)容
3.1 關(guān)系運算符和關(guān)系表達式;
3.2 邏輯運算符及邏輯表達式
3.3 條件運算符與條件表達式
3.4 if語句的結(jié)構(gòu)與執(zhí)行原理;
3.5 Switch語句的結(jié)構(gòu)與執(zhí)行原理;
3.6 復(fù)雜的分支結(jié)構(gòu)程序設(shè)計;
(二)基本要求
教學(xué)目的:了解關(guān)系運算符與關(guān)系表達式;了解邏輯運算符與邏輯表達式;理解并掌握If語句與Switch語句的使用;理解并掌握復(fù)雜的分支結(jié)構(gòu)程序設(shè)計
教學(xué)重點:if語句與switch語句的格式與執(zhí)行原理;復(fù)雜分支結(jié)構(gòu)程序的設(shè)計;
教學(xué)難點:嵌套的if語句;
第四章 循環(huán)結(jié)構(gòu)程序設(shè)計
(一)基本教學(xué)內(nèi)容
4.1 while語句
4.2 do...while語句
4.3 for語句
4.4三種循環(huán)語句的比較
4.5改變循環(huán)執(zhí)行的狀態(tài)
4.6多重循環(huán)
(二)基本要求
教學(xué)目的:了解Goto語句及用Goto語句構(gòu)成循環(huán);了解While語句、Do-While語句和For語句的語法和用法;理解Break語句與Continue語句的語法和用法;理解并掌握循環(huán)語句的工作原理與設(shè)計思想。
教學(xué)重點:for循環(huán)的格式與循環(huán)條件;while循環(huán)的格式與循環(huán)條件;do-while循環(huán)的格式與循環(huán)條件;嵌套循環(huán)的使用。
教學(xué)難點:嵌套循環(huán)定義與運行規(guī)則;while與do-while中死循環(huán)的預(yù)防。
第五章 數(shù)組
(一)基本教學(xué)內(nèi)容
5.1 數(shù)組的概念與定義;
5.2 數(shù)組和數(shù)組元素;
5.3 一維數(shù)組的定義、數(shù)據(jù)間關(guān)系及數(shù)組的使用;
5.4 二維數(shù)組的定義、數(shù)據(jù)間關(guān)系及數(shù)組的使用;
5.5 字符數(shù)組的應(yīng)用;
(二)基本要求
教學(xué)目的:了解一維數(shù)組的定義與引用;了解二維數(shù)組的定義與引用;理解并掌握字符數(shù)組的應(yīng)用;
教學(xué)重點:一維數(shù)組的定義、初始化、引用;二維數(shù)組的定義、初始化、引用;字符的存儲與數(shù)組的關(guān)系。
教學(xué)難點:二維數(shù)組的使用;字符串與數(shù)組的關(guān)系。
第六章 函數(shù)和編譯預(yù)處理
(一)基本教學(xué)內(nèi)容
6.1模塊化程序設(shè)計
6.2函數(shù)的定義
6.3函數(shù)的調(diào)用
6.4函數(shù)的嵌套調(diào)用與遞歸調(diào)用
6.5數(shù)組做函數(shù)參數(shù)
6.6變量的作用域
6.7變量的存儲類別
6.8內(nèi)部函數(shù)和外部函數(shù)
(二)基本要求
教學(xué)目的:了解函數(shù)的定義;了解函數(shù)的參數(shù)和函數(shù)調(diào)用;理解函數(shù)的嵌套調(diào)用;理解遞歸的概念;理解數(shù)組作為函數(shù)的參數(shù);理解變量的作用域及存儲類別;理解宏定義、文件包含及條件編譯。
教學(xué)重點:函數(shù)的定義、調(diào)用、參數(shù);遞歸的原理;變量的作用域;編譯預(yù)處理。
教學(xué)難點:函數(shù)的遞歸;變量的作用域;編譯預(yù)處理。
第七章 結(jié)構(gòu)體與共用體
(一)基本教學(xué)內(nèi)容
7.1結(jié)構(gòu)體類型及變量的定義
7.2結(jié)構(gòu)體變量的初始化和引用
7.3結(jié)構(gòu)體數(shù)組
7.4共用體
7.5枚舉類型
7.6用typedef定義用戶自定義類型
(二)基本要求
教學(xué)目的:了解結(jié)構(gòu)體類型的定義;了解結(jié)構(gòu)體變量的引用、初始化;理解結(jié)構(gòu)體數(shù)組;理解指針與結(jié)構(gòu)體數(shù)組;理解鏈表的概念與鏈表的相關(guān)操作;理解共用體與用戶自定義類型。
教學(xué)重點:結(jié)構(gòu)體定義;結(jié)構(gòu)數(shù)組;鏈表。
教學(xué)難點:鏈表的增、刪、改、遍歷操作;共用體與結(jié)構(gòu)體的區(qū)別。
第八章 指針
(一)基本教學(xué)內(nèi)容
8.1相關(guān)概念
8.2指針變量的定義和使用
8.3指針變量做函數(shù)參數(shù)
8.4數(shù)組的指針和指向數(shù)組的指針變量
8.5字符串的指針和指向字符串的指針變量
8.6函數(shù)的指針和指向函數(shù)的指針變量
8.7返回指針值的函數(shù)
8.8指針數(shù)組和指向指針的指針
8.9指向結(jié)構(gòu)體類型數(shù)據(jù)的指針
8.10用指針處理鏈表
(二)基本要求
教學(xué)目的:了解指針與地址的概念;理解變量的指針和指針變量的指針變量;理解數(shù)組的指針與指向數(shù)組的指針變量;理解字符串的指針與指向字符串的指針變量;理解指針與函數(shù);理解指針數(shù)組;理解多級指針。
教學(xué)重點:指針與地址的概念;數(shù)組的指針及指向數(shù)組的指針變量;指向二維數(shù)組的指針;二級指針。
教學(xué)難點:指向二維數(shù)組的指針;指向字符串的指針。
第九章 文件
(一)基本教學(xué)內(nèi)容
9.1 C文件的概念
9.2打開與關(guān)閉文件
9.3順序讀寫文件數(shù)據(jù)
9.4隨機讀寫文件數(shù)據(jù)
9.5文件檢測函數(shù)
(二)基本要求
教學(xué)目的:理解文件類型指針;理解文件的相關(guān)操作。
教學(xué)重點:文件類型指針;文件的讀寫操作。
教學(xué)難點:文件操作;
三、課程各章節(jié)學(xué)時分配
序號
| 內(nèi)容
| 理論學(xué)時
| 實驗學(xué)時
|
計科
| 網(wǎng)工
| 軟工
| 計科
| 網(wǎng)工
| 軟工
|
1
| C語言概述及程序設(shè)計基礎(chǔ)
| 2
| 2
| 2
|
|
|
|
2
| 簡單的C語言編程
| 4
| 4
| 4
| 2
| 2
| 2
|
3
| 選擇結(jié)構(gòu)程序設(shè)計
| 2
| 2
| 2
| 2
| 2
| 2
|
4
| 循環(huán)結(jié)構(gòu)程序設(shè)計
| 6
| 6
| 6
| 6
| 6
| 6
|
5
| 數(shù)組
| 6
| 6
| 6
| 4
| 4
| 4
|
6
| 函數(shù)
| 6
| 6
| 6
| 4
| 4
| 4
|
7
| 結(jié)構(gòu)體與共用體
| 4
| 4
| 4
| 4
| 4
| 4
|
8
| 指針
| 8
| 8
| 8
| 6
| 6
| 6
|
9
| 文件
| 4
| 4
| 4
| 2
| 2
| 2
|
合計
| 42
| 42
| 42
| 30
| 30
| 30
|
四、本課程課外學(xué)習(xí)與修學(xué)指導(dǎo)
由于該課程是上述三個專業(yè)的第一門語言課程,涉及程序設(shè)計的基本思想、算法的實現(xiàn)、各種數(shù)據(jù)類型的應(yīng)用,且具有很強的實踐性,所以要學(xué)好本課程,必須做到理論與實踐緊密結(jié)合,才能達到較好的學(xué)習(xí)效果。要求學(xué)生多上機實驗,掌握程序的編寫、調(diào)試,為后續(xù)課程的學(xué)習(xí)奠定良好的程序設(shè)計基礎(chǔ)。
五、本課程考核方式及成績評定標準
考核方式:閉卷考試
成績評定標準:本課程的考核是平時成績和期終考試成績相結(jié)合,平時成績的評定包括作業(yè)、課堂提問,平時成績占課程考核成績的20%,實驗占20%,期末考試成績占60%。
其中期未考試總分100分,基礎(chǔ)題占50%,中等難度題占40%,較難題占10%??荚囶}型主要有:選擇題、填空題、程序填空題、程序分析題、程序設(shè)計題等。
六、教材及參考書
教材:《C語言程序設(shè)計》,羊四清、易葉青主編,北京:中國水利水電出版社,2012.1
主要參考書:
[1]譚浩強著.《C程序設(shè)計》(第三版).北京:清華大學(xué)出版社,2005
[2]楊路明主編.《C語言程序設(shè)計》.北京:北京郵電大學(xué)出版社,2005
[3]譚浩強著.《C程序設(shè)計題解與上機指導(dǎo)》.北京:高等教育出版社,2005
[4]楊路明主編.《C語言程序設(shè)計上機指導(dǎo)與習(xí)題解答》.北京:北京郵電大學(xué)出版社,2005
大綱撰寫人:闕清賢
大綱審閱人: 羅如為
教學(xué)副主任:
編寫日期:2012.6