課程介紹
通過學習C語言程序設計,掌握高級語言程序設計的基本知識,掌握面向過程程序設計和軟件開發的基本方法,學會用C語言解決本專業的實際問題,提高分析問題和解決問題的能力。
1、課程性質,
《C語言程序設計》是電子信息相關專業的專業能力模塊課程。
2、課程與系列産品或項目設計與開發流程的關聯
3、課程目标
通過“籃球賽計時計分系統程序設計”等5個案例的學習與實踐,培養學生運用C語言程序設計的知識,解決常用嵌入式系統程序開發問題的能力。
4、與前後續課程的關系
後續課程:《模塊電路功能編程》、《機器人編程與控制》。
學習方法與技巧
1.大學生活豐富多彩,會令你一生都難忘,但難忘有很多種,你可以學了很多東西而難忘,也會因為什麼都沒學到而難忘!
2.計算機專業是一個很枯燥的專業,但即來之、則安之,隻要你努力學,也會發現其中的樂趣的。
3.記住:萬丈高樓平地起!基礎很重要,尤其是專業基礎課,隻有打好基礎才能學得更深。
4.C語言是基礎,很重要,如果你不學好C語言,那麼什麼高級語言你都學不好。
5.C語言與C++語言是兩回事。就像大熊貓和小熊貓一樣,隻是名字很像。
6.請先學習專業課《數據結構》、《計算機組成原理》,不要剛開始就拿着一本VC在看,你連面向對象都搞不清楚,看VC沒有任何用處。
7.對編程有一定的認識後,就可以學習C++了。(是C++而不是VC,這兩個也是兩碼事。C++是一門語言,而VC教程則是講解如何使用MFC類庫,學習VC應建立在充分了解C++的基礎之上。看VC的書,是學不了C++語言的。)
8.學習編程的秘訣是:編程,編程,再編程;
9.認真學習每一門專業課,那是你今後的飯碗。
10.在學校的實驗室就算你做錯一萬次程序都不會有人罵你,如果在公司你試試看!所以多去實驗室上機,做得多了,畢業後就錯得少了
11.從現在開始,在寫程序時就要養成良好的習慣。
12.不要漏掉書中任何一個練習題——請全部做完并記錄下解題思路。
13.你會買好多參考書,那麼請把書上的程序例子親手輸入到電腦上實踐,即使配套光盤中有源代碼。
14.VC、C#、.NET這些東西都會過時,不會過時的是數據結構和優秀的算法!
15.記住:書到用時方恨少。不要讓這種事發生在你身上,在學校你有充足的時間和條件讀書,多讀書,如果有條件多讀原版書,你要知道,當一個翻譯者翻譯一本書時,他會不知不覺把他的理念寫進書中,那本書就會變得像雞肋!
16.我還是強調認真聽專業課,因為有些課像《數據結構》、《編譯原理》、《操作系統》等等,這種課老師講一分鐘能讓你明白的内容,你自己看要看好幾個月,有的甚至看了好幾年都看不明白。
17.抓住在學校裡的各種實踐的機會,要為自己積累經驗,就業時經驗比什麼都有用。
18.多去圖書館,每個學校的圖書館都有很多好書等你去看!
19.編程不是技術活,而是體力活。
20.如果你決定了要當一個好的程序員,那麼請你放棄遊戲,除非你是那種每天隻要玩遊戲就能寫出好程序的天才!
21.你要有足夠的韌性和毅力!有個高手出一一道題測試你的韌性和毅力:找個10000以内的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
22.找到隻屬于你自己的學習方法。不要盲目的追随别人的方法,适合自己的才是最好的!
編輯推薦
《C語言課程設計》:程序設計能力是當代理工類大學生的必備能力,當學生學習了C語言之後,編程能力還遠不能達到開發實際應用程序的要求,特别是對其中的指針、結構體、鍊表和文件部分的理解和應用都比較弱。《C語言課程設計》通過将C語言的主要知識點進行綜合,選取經典實例,按照項目開發的運行模式進行講解,并針對提高學生C語言程序設計能力,強化編寫較大的應用軟件能力等方面進行訓練。
《C語言課程設計》分為3部分,共12個訓練題目,從項目的概述、主要功能、主要知識點、主要算法、設計思想等方面進行描述。第l部分主要是對C語言的基本數據結構和基本算法進行訓練;第2部分主要是針對C語言中結構體與文件數據結構的綜合應用,第3部分主要介紹了C語言在TurboC環境下繪制圖形界面的操作方法和常用函數,這部分内容一般在C語言的課堂教學中沒有涉及。書中還以五子棋遊戲和俄羅斯方塊遊戲的實現為例,講解圖形界面繪制程序的基本流程。
配套資源:
《C語言課程設計》可免費提供相關教學索材的網絡下載。
文摘
插圖:
第1部分基本數據結構應用
實訓1萬年曆
1.1系統概要
系統實現萬年曆的功能,并以交互的方式顯示。适用于從公元1年1月1日至公元10000年之間所有日期的顯示。在屏幕上任意輸入某一年,系統可輸出該年的年曆;在屏幕上任意輸入某年的某月,都會以一個二維數組的形式顯示該月所有天數以及每天所對應的星期值;在屏幕上任意輸入一個年、月、日,都會顯示出該天是星期幾。
1.2基本功能要求
(1)提供系統操作的主界面;
(2)查詢某年某月某日(陽曆)是星期幾;
(3)判斷某年是否是閏年;
(4)查詢某月的最大天數;
(5)打印某年的全年日曆或某年某月的月曆。
選做功能:
可探讨具有陰曆功能的萬年曆。
1.3主要知識點
通過對C語言中的關系表達式、邏輯表達式、選擇結構、循環結構、數組和函數等程序設計的基本語法和語義結構的綜合訓練,掌握程序設計的基本方法、常用技巧。
目錄
第1部分基本數據結構應用
實訓1萬年曆
1.1系統概要
1.2基本功能要求
1.3主要知識點
1.4系統設計思路
1.5部分程序代碼
實訓2雙向鍊表功能應用
2.1系統概要
2.2基本功能要求
2.3主要知識點
2.3.1基本概念
2.3.2建立動态鍊表
2.3.3鍊表的輸出
2.3.4鍊表的删除操作
2.3.5鍊表的插入操作
2.3.6雙向鍊表
2.4系統設計思路
2.5部分程序代碼
實訓3完全=叉樹
3.1系統概要
3.2基本功能要求
3.3主要知識點
3.4系統設計思路
3.5部分程序代碼
實訓4龜兔賽跑
4.1系統概要
4.2基本功能要求
4.3主要知識點
4.4系統設計思路
4.5部分程序代碼
實訓5人機蘋果大戰
5.1系統概要
5.2基本功能要求
5.3主要知識點
5.4系統設計思路
5.5部分程序代碼
第2部分綜合應用
實訓6通訊錄
6.1系統概要
6.2基本功能要求
6.3主要知識點
6.4系統設計思路
6.5部分程序代碼
實訓7學生成績管理系統
7.1系統概述
7.2基本功能要求
7.3主要知識點
7.4系統程序結構
7.5部分程序代碼
實訓8學生檔案管理系統
8.1系統概要
8.2基本功能要求
8.3主要知識點
8.4系統設計思路
8.4.1系統模塊劃分
8.4.2系統數據結構
8.4.3函數設計
8.5部分程序代碼
第3部分圖形界面部分
實訓9簡單的C語言圖形編程
9.1系統概要
9.2基本功能要求
9.3主要知識點
9.3.1字符屏幕函數
9.3.2圖形函數
9.4系統程序結構及主要算法
9.5系統主要函數源程序代碼
實訓10C語言圖形界面編程
10.1系統概要
10.2基本功能要求
10.3主要知識點
10.4系統設計思路
10.4.1系統運行流程圖
10.4.2數據結構和函數的設計
10.5主要函數代碼
實訓11五子棋遊戲
11.1系統概要
11.2基本功能要求
11.2.1功能
11.2.2基本功能模塊描述
11.3主要知識點
11.4系統設計思路
11.5程序僞代碼
實訓12俄羅斯方塊遊戲程序
12.1系統概要
12.2基本功能要求
12.3主要知識點
12.4系統設計思想
12.5部分程序代碼
參考文獻
序言
21世紀影響世界的三大關鍵技術:以計算機和網絡為代表的信息技術;以基因工程為代表的生命科學和生物技術;以納米技術為代表的新型材料技術。信息技術居三大關鍵技術之首。國民經濟的發展采取信息化帶動現代化的方針,要求在所有領域中迅速推廣信息技術,導緻需要大量的計算機科學與技術領域的優秀人才。
計算機科學與技術的廣泛應用是計算機學科發展的原動力,計算機科學是一門應用科學。因此,計算機學科的優秀人才不僅應具有堅實的科學理論基礎,而且更重要的是能将理論與實踐相結合,并具有解決實際問題的能力。培養計算機科學與技術的優秀人才是社會的需要、國民經濟發展的需要。
制定科學的教學計劃對于培養計算機科學與技術人才十分重要,而教材的選擇是實施教學計劃的一個重要組成部分,《21世紀計算機科學與技術實踐型教程》主要考慮了下述兩方面.
一方面,高等學校的計算機科學與技術專業的學生,在學習了基本的必修課和部分選修課程之後,立刻進行計算機應用系統的軟件和硬件開發與應用尚存在一些困難,而《2l世紀計算機科學與技術實踐型教程》就是為了填補這部分空白。将理論與實際聯系起來,使學生不僅學會了計算機科學理論,而且也學會應用這些理論解決實際問題。
另一方面,計算機科學與技術專業的課程内容需要經過實踐練習,才能深刻理解和掌握。因此,本套教材增強了實踐性、應用性和可理解性,并在體例上做了改進——使用案例說明。
實踐型教學占有重要的位置,不僅體現了理論和實踐緊密結合的學科特征,而且對于提高學生的綜合素質,培養學生的創新精神與實踐能力有特殊的作用。因此,研究和撰寫實踐型教材是必需的,也是十分重要的任務。優秀的教材是保證高水平教學的重要因素,選擇水平高、内容新、實踐性強的教材可以促進課堂教學質量的快速提升。在教學中,應用實踐型教材可以增強學生的認知能力、創新能力、實踐能力以及團隊協作和交流表達能力。
實踐型教材應由教學經驗豐富、實際應用經驗豐富的教師撰寫。此系列教材的作者不但從事多年的計算機教學,而且參加并完成了多項計算機類的科研項目,他們把積累的經驗、知識、智慧、素質融合于教材中,奉獻給計算機科學與技術的教學。
我們在組織本系列教材過程中,雖然經過了詳細的思考和讨論,但畢竟是初步的嘗試,不完善甚至缺陷不可避免,敬請讀者指正。