當前位置:首頁 » 編程語言 » c語言經典實訓項目推薦
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言經典實訓項目推薦

發布時間: 2022-12-24 02:33:38

Ⅰ 單片機c語言程序設計實訓100例:基於PIC+Proteus模擬的編輯推薦

《單片機C語言程序設計實訓100例:基於PIC+Proteus模擬》:一本凝聚了作者近兩年艱苦寫作經歷的書籍
一本忠實的讀者們期待已久的單片機技術開發書籍
一本涵蓋PIC單片機C語言程序設計大量核心源碼的書籍
一本帶領你進入PIC單片機C語言程序設計神奇之旅的書籍
一本可作為「代碼寶典或「代碼手冊」使用的書籍
◆豐富的C語言源程序全部基於MPLAB IDE+H1—TECHPICC/PICC 1 8/MCC 1 8開發環境
◆基於Proteus提供的實物電路案例模擬解決了實驗條件欠缺的問題
◆逐步遞進的案例設計及難易適中的實訓目標引領讀者進入爐火純青的程序設計境界
◆基礎設計類案例涵蓋PIC單片機最基本的埠編程、定時/計數器應用、中斷程序設計、A/D轉換、CCP程序設計、EEPRoM、FIash、USART及看門狗程序設計等
◆硬體應用類案例涉及單片機存儲器擴展、介面擴展、解碼、編碼、驅動、光電、機電、感測器、I2C及SP}介面器件、MMC、ATA、遙控等器件等
◆綜合設計類案例涉及消費類電子產品、儀器儀表及智能控制設備等相關技術,部分案例涉及IRDA/RS-485/M0dbus/CAN/Ethernet等技術應用

Ⅱ C語言的經典編程例子


程序員》推薦C++ 圖書三人談

主持人:熊節(透明),《程序員》雜志編輯,C-View成員
嘉 賓:孟岩(夢魘),聯想公司掌上設備事業部應用開發處任職,C-View成員。與侯捷先生合譯《C++ Standard Library》一書
金尹(惡魔),上海天宇公司CTO,在《程序員》連載有「自由與繁榮的國度」系列文章

透明:「學C++用哪本書入門」,這是被問得最多的一個問題。但是哪一本書是最好的入門書?似乎很難找到答案。《C++ Primer》太厚,《Effective C++》對讀者要求比較高,《Essential C++》又常常被批評為「太淺」。
其實說穿了:no silver bullet。想從一本書學會C++,那是不可能的。有朋友問我如何學C++,我會建議他先去找本數據結構書,把裡面的習題全部用C++做一遍,然後再去看《Effective C++》。myan經常說「要在學習初期養成好習慣」,我對此頗不以為然。
個人認為,《Essential C++》適合作教材,《C++ Primer》適合作參考書,《Effective C++》適合作課外讀物。

惡魔:很後悔當初買了《C++ Primer》。因為從我個人角度來看,它的功能效用基本是和《The C++ Programming Language》重合。當然對於入門來說,它還是很不錯的。但是《C++ Primer》太厚,一來導致看書極其不方便,二來系統學習需要花比較長的時間。對於目前這個越來越快餐化的時代來說,的確有很多不適合的地方,不過可以作為初學者的參考書。現在我以一塊K3 CPU的代價把它借給了別人,希望我那位同事能夠從中得到一些益處。
如果已經具備了C基礎,我建議看國內的書,例如錢能的《 C++大學教程(第二版) 》。(如果沒有C的基礎還是看譚浩強的C語言)。這本書對C講得還算比較清晰,有很多習題值得一做,特別是最後的struct和union兩個部分。其中的一些演算法比較拖沓和繁瑣(比如樹和鏈表的遍歷演算法),讀者可以嘗試修改這些例子,作為最後對C語言的一些總結測試。

夢魘:這個問題讓我想起四五年前的情形。今天對於C++有一點認識的人,多半是從那幾年就開始學C++了。那時根本沒有品牌觀念。從書店裡找一本C++書,如果看著還算明白,就買下來。我記得那時候宛延闓、張國鋒、麥中凡教授的書都受到很高的贊譽。我個人最早的一本C++書是Greg Perry的一本書,今天想起來,其實是一本打著C++旗號的C語言教程。對我作用最大的一本書是國防科技出版社出版的一本書,書名記不得了,作者叫斯蒂芬·布萊哈。
透明:還記得以前曾批評過一本C++書,是北航出的,整本書就沒有出現過class關鍵字。那本書,說穿了其實只是介紹了C語言和iostream庫的用法,根本不能算C++。而當時我常常推薦的一本書是電子科技大學張松梅老師的C++教程。那本書,直到今天來看也沒有太大的問題,唯一的缺憾就是由於年代久遠,許多東西已經過時了。而對於一本技術書籍來說,「過時」是最不可接受的。
總體來說,那時使用C++的人真是在「盲人摸象」。不過這也有好處,就是對C++的很多細節能搞清楚,以後看到經典好書時比較容易理解;當然壞處就是概念不清,甚至都不知道C++和Visual C++、Borland C++到底有什麼不一樣。

夢魘:整個90年代,其實大部分人對於C++的認識都似是而非。一開始是等同於Borland C++,後來是等同於Visual C++和MFC。所以一般來說,打著BC和VC旗號的書賣得很好,人們覺得這就是C++。而我比較幸運,布萊哈的那本書雖然從現在的眼光來看談不上高超,但基本路子是對的。可能是因為原書是給UNIX程序員的培訓教材,所以沒有讓我一開始就形成「C++ == VC++」的認識。
其實一直到1996年,我們那裡搞計算機的都是唯Borland C++馬首是瞻的,到了VC 4.0出來,一下子格局全變了。1997年VC5推出之後,書店裡MFC書鋪天蓋地,學MFC的人,頭抬得都比別人高一些。不過現在看來,那時候大部分的MFC書都是三流貨色。我曾經有一段時間認為,那一批程序員中間有不少被誤導了。根本原因就是相對的封閉。

透明:我覺得一本書的價值有兩方面:第一,教給你實用的技術;第二,促使你去思考。對於一本介紹VC(或者說MFC)使用方法的書,我根本不希望它能促使我有什麼思考,所以我就一定要求它在技術上精益求精完美無瑕。我剛開始用VC的時候,買的第一本書就是潘愛民老師翻譯的《VC技術內幕》(第四版),沒有受到那些「三流貨色」的誤導,應該說是很幸運的。

夢魘:1999年機械工業出版社開始出版「計算機科學叢書」,其中的《Thinking in C++》第一版受到了廣泛的歡迎。其實我一直不認為這本書很出色,雖然拿過一次大獎。然而我們都得承認,這本書在C++書籍領域里第一次建立了品牌觀念,很多初學者開始知道,不是隨便買哪一本都一樣的。再往後就是2000年的《 深入淺出MFC(第二版) 》第二版,以及侯先生在《程序員》上發表的那一篇《C++/OOP大系》,加上整個大環境的變化,品牌觀念深入人心,C++書籍市場終於開始逐漸與世界同步。
回想往事,我的感覺是,那個需要戰戰兢兢選擇入門書的時代已經過去,今天的C++初學者,大可以放心地買口碑好、自己讀起來思路順暢的書,入門不再是太大的問題。還有一些程序員已經學了幾年C++,但看到今天出版的一些新書,感覺比較陌生,這也不是什麼問題。侯先生經常說「凡走過必留下足跡」,所謂「走彎路」,未必不是一件好事。
至於具體的推薦表,就不好一概而論了。總之在我的印象里,《Essential C++》、《C++ Primer》、錢能教授的C++教程,都不錯。甚至有人一上來就看Bjarne Stroustrup的《The C++ Programming Language》,只要他喜歡,也沒什麼不可以。

透明:我同意你的觀點。不管怎麼說,編程是門實踐性非常強的學問。要想對C++對象模型有深入的了解,最好的辦法就是寫一串程序去看結果;要想學會OOP,也只能從項目中學。對於初學者,最好的學習方法就是不停地寫程序,寫真正有用的程序,寫到有問題的時候就去查書,於是自然就會知道哪本書好哪本書不好。不過我們的教育制度能不能讓大學里的學生們有這樣的學習機會,我表示懷疑。
以我的經驗,學C++有兩個門檻:入門和使用。完全看不懂C++,這是一個門檻,但是只要有一本合適的入門書,很快就能跨過。要想真正用上C++,卻不是件很容易的事情。尤其對於學生來說,接觸到的東西多是「玩具」,很難有實戰的機會。所以經常看見有人問「C++到底能做什麼」,這是C++學習中一個比較麻煩的問題。我們都是做了相當長時間的C++程序之後才看到一些真正經典的書,也正是因為走了相當長的彎路之後才知道這些書的經典之所在。所謂彎路,我想也是一種必須的積累。就算一開始就看《Essential C++》和《C++ Primer》,沒有兩三年的時間恐怕還是難有所得。

惡魔:有兩句十分有道理的話,一是我大學的C語言老師說的「寫程序不如說是抄程序」,另一句是一網友說的「好的設計來自借鑒,天才的設計來自剽竊」。對於我這個理性批判主義者來說,這兩句話的確不太適合。但是無論從哪個角度來講,對於初學者來說,剽竊大師的作品是通向成功的最快捷徑。
我個人認為,對於C++的初學者來說,首先要確定自己專業領域內主要使用的特性的方向。因為C++的特性如此眾多,初學者想貪多基本是不可能成功的。C++的編程範式基本可以分為ADT+PP、GP和OO三個方向。對於ADT+PP範式來說,初學者的主要問題不是學習C++,而是學習C的使用。對於這樣的初學者,國內的幾本書還是寫得比較清楚,符合中國人的習慣,比如譚浩強的《C語言教程》、錢能的《C++語言大學教程》。這兩本書我首推第一本,因為這一本我潛心研究了一年,這本書當中很多程序是可以剽竊的,而且可以對這些程序進行加工和提升。比如結構這一章中,它所給出的用struct來實現鏈表、二叉樹的演算法是相當蹩腳的。學習ADT+PP的初學者將這本書揣摩透以後可以嘗試修改這兩個程序。另外這本書的第二版稍微涉及了一些關於「類」的內容。學習ADT+PP的初學者,可以不被OO中的一些專有特性擾亂自己的思路,對於類層次扁平、無繼承、無多態的程序編寫是有很大好處的。

透明:你好象比較推崇國內教授寫的書。現在社會上有種不好的風氣:一捧就捧上天,一貶就貶下地。就好象對待譚教授的書,前幾年是奉為經典,這幾年又有很多人使勁批評。學C++更是有點「崇洋媚外」,總是覺得初學就應該看《Essential C++》。我看這種觀點也是片面的。

惡魔:當然《Essential C++》也值得看看。但是我個人覺得這本書沒有譚浩強的《C語言教程》來得好。主要原因是:第一,C++的所有特性都點到了,但是不深,看了以後會三心二意沒有方向;第二,可以抄襲借鑒的例子太少。《C語言教程》中有很多有趣的問題,比如猴子吃桃、漢諾塔等等,這些例子對於剛剛涉及C/C++語言編程的人來說是學習編程很好的例子。《Essential C++》只能是前兩本書看透以後,作為學習C++特性的一個過渡性的書籍。讓讀者真正領略到什麼是C++的編程、和C編程的不同點在哪裡。

透明:我發現一個很有趣的現象:初學者往往喜歡問「哪本書比較好」,這讓我很是不解。這有點像一個剛學打籃球的人問「王治郅和科比誰比較厲害」。當然科比更厲害一些。但如果你是想學打籃球,這兩個人都非常非常有資格教你,你跟誰學都能學得很強——關鍵不是在於你選哪個老師,而是在於你自己用多少功夫去學。

透明:回到原來話題。學會了C++的語法,能看懂C++代碼之後,必須有些書來指導進階(或者叫指點迷津)。我覺得《設計模式》很好,能夠讓讀者看到一些精妙的用法。不過正如我經常說的,模式帶來的麻煩和好處一樣多,甚至麻煩還要更多。而且,C++本身的問題使得在C++中使用GoF模式愈加麻煩。

夢魘:《Design Patterns》這本書絕對是不可以沒有的,而且中英文版都不可少。最初我看中文版,說實話看不懂,但是也不覺得人家翻譯得不好,所以就想,大概是原文就很難懂,加上自己水平有限。於是總是想著再找幾本patterns的書來看。後來找到幾本書,口碑還不錯,不過水平高下,一比就出來了,還是那本《Design Patterns》最經典,最耐看。英文版出來之後,兩個版本對照看,明白多了。現在覺得,其實就設計模式來講,把這本看明白了就很不錯了,不用再花費很多心思找其他的書。我現在的包里始終夾著這本書,隨身攜帶,有備無患。
至於說設計模式的副作用,和可能帶來的弊端,我的體會也挺多。不過是這樣,我們想一想,究竟什麼情況下設計模式可以用得很好呢?一種是有經驗豐富的人引導,比如要是Robert Martin帶隊,你在某個地方用錯了設計模式,他就會指出來,說這里不對,將來會產生什麼樣的弊端。對於他來說,豐富的實踐經驗足以支持他進行「預測型」設計。但是大部分人沒這個能力,因此我們只好走第二條路和第三條路,就是「試探型」設計和「重構型」設計。遇到一個問題,你覺得用某種模式挺合適的,就大膽地用了,成功是積累經驗,發現不好,出了問題了,只好改回來,那也是積累教訓。這叫做「試探型」。至於重構,應該算是最有組織、成功率最高的工程化方法。先把問題「quick and dirty」地解決了,所有的暗礁都暴露出來,然後再根據實際情況採用合適的模式優化設計。現在XP和UP都高度重視refactory,UP在Elaboration和Construction階段都鼓勵抽出專門的iterations進行重構。所以說如果組織快速的軟體開發,當然比較傾向於這條路——打成功率嘛。

透明:講到重構,我順便說說《Refactoring》這本書的影響。從工程本身的角度來說,你所謂的「重構型設計」是沒有什麼問題的。但中國的開發者(也包括我在內)往往比較沖動,比較容易相信銀彈的存在。曾經有那麼一段時間,我在Java中嘗試過了重構的方法之後,又拿到C++中去嘗試。結果發現,在Java中速度非常快的重構過程,到C++中就被減慢了。究其原因,就是因為C++和Java的約束條件不同。拿著Java中成功的案例直接套C++,不失敗才怪。
所以,我必須說:《Refactoring》這本書很有價值。但對於C++程序員來說,它的價值是讓你思考,思考這種方法的可行性。如果一個C++程序員沒有打算遷移到Java,那麼我必須告訴他:《Refactoring》這本書不是讓你照著它用的,甚至不是讓你去相信它的。對於C++程序員,《Refactoring》全書可以放心相信的只有第13章,其他的部分,都必須非常謹慎地對待。

夢魘:我還要就「試探型」的方法多說兩句,我覺得對於個人發展來講,「試探」也是必不可少的,撞牆不可怕,高水平的人不都是撞出來的嗎?你失敗了一次,就知道這個模式有什麼潛在的問題,下次再用,就會多看幾步,像下棋似的。撞的多了,路數就出來了。
我不知道你們是否有這個感覺:用錯了模式,吃了虧,再回過頭去翻翻《Design Patterns》,看到人家早就指出來這個問題,不過就是那麼幾句話,原來看上去乾巴巴的,現在覺得句句都講到心坎上,GoF的形象馬上就高大起來,還帶著光環,感覺是既興奮又懊悔。

透明:現在回頭來看,我更欣賞myan推薦給我的《Designing Object-Oriented C++ Applications Using Booch Method》。這本書能夠幫助C++程序員理清思路培養習慣,可惜國內沒有引進。相比後來商業味濃厚的UML系列書籍,我覺得這本書對於面向對象的闡釋精闢獨到,至今未有能出其右者。

夢魘:剛才我們兩人都說到Robert Martin,他可是我的榜樣。那本1995年的《Designing Object Oriented C++ Application》,我覺得是每一個C++軟體工程師都應該反復研讀的書。可惜不僅國內沒有引進,在國外的名氣也不大。如果你覺得面向對象的那些道理你好像都明白,可就是一遇到實際問題就使不上勁,那這本書就是你的最佳導師。
提到理清思路,還有一本書不得不提,就是Andrew Koenig的《Ruminations On C++》。每個人都應該問自己,我學了這么多年的C++,究竟什麼是C++最基本的設計理念?遇到問題我第一個直覺是什麼?第一個試探型的解決方案應該具有那些特點?如果你不能給出明確的答案,就應該認真地去讀這本書,讀完了你就有了「主心骨」。

透明:插一句話,談談「推薦書」的問題。入門書基本上是放之四海而皆準的,所以推薦的意義也不大。而入門後的發展方向,每個人不同,這個時候就需要「高人」的指點。舉個例子:我學C++的時候,myan還不認識我,所以也沒有給我推薦書,我還是學過來了,所以即使你當時向我推薦了《Essential C++》或者《C++ Primer》,我也不會太感謝你;但在我認真研究OO的時候,你推薦Robert Martin那本書給我,對我幫助就特別大,而且我從別的地方也很難找到類似的推薦,所以我就很感謝你。
一個程序員,必須有framework的意識,要學會用framework,還要主動去分析framework(在這方面,《Design Patterns》能有一定的幫助)。但是,真正高質量、成氣候的framework的書恐怕也就只有針對MFC的。從這個角度來說,MFC縱有千般不是,C++程序員都非常有必要先去用它、熟悉它、研究它,甚至藉助《深入淺出MFC》這樣的書來剖析它。不然,很難有framework的意識和感覺。
當然,另一個framework也很好,那就是STL。不管用不用MFC、STL,對這兩個東西的掌握和理解都是極有幫助的。最近我又在看《深入淺出MFC》,雖然已經不用MFC編程了,但幫助是一定有的。

夢魘:MFC和STL方面,我還是比較推崇侯先生的兩本書《深入淺出MFC》和《STL源碼解析》。
《深入淺出MFC》這本書,名氣自然是大得不得了,不過也有不少人批評。其實書也沒有十全十美的,批評當然是少不了的,不過有的時候我看到有人評論這本書,把它跟Inside VC相比,真的是牛頭不對馬嘴。
你剛才其實說得很對,程序員應該有一點framework意識。而這本《深入淺出MFC》與其說是在講MFC編程,不如說通篇是在拿MFC為例分析Application Framework的架構和脈絡。所以無論你對於MFC本身是什麼態度,這本書對每一個C++程序員都有很大的益處。

透明:是的。《VC技術內幕》會告訴你「DYNAMIC_CREATE這個宏怎麼用」,《深入淺出MFC》則告訴你「DYNAMIC_CREATE這個宏是怎麼實現的」。所以,如果你只需要在VC下寫一些小應用程序,《深入淺出MFC》的價值並不太大;但是,如果你需要設計一個稍微大一點的東西(不一定是framework),MFC的設計思想就會有所幫助。

夢魘:另外,我覺得對於MFC也應該有一個公允的評價。過去是吹捧得天上有地下無,書店裡鋪天蓋地都是MFC的書,搞得大家只知有MFC,不知有C++,甚至直到現在還有人問:「我是學MFC呢,還是學C++?VC++是不是比C++更高級的語言?」MFC成了一尊神像,阻礙了人們的視線。所以得把它從神壇上拉下來。這就是過去一兩年有很多人,包括我在內批評MFC的一個目的。可是現在大家視野開闊了,.NET也出來了,MFC不再是神像了,少數人就開始以貶損MFC為樂了。我覺得這種態度是不對的。
什麼叫好的框架?我覺得在十幾年的時間能夠象MFC這樣保持穩定並且不斷進步的框架就是好的框架。可能我們在一些具體的設計問題上有不同看法,覺得「這個地方這么設計不是更漂亮嗎?」很多時候是的,但是這不重要,重要的是MFC成熟穩定、有十幾年的成功經驗,這是最了不起的東西。
另外一點,MFC中間包括著學習Win32 API編程的最佳資料。這是除了其framework方面之外的另一個亮點。我現在使用Win32 API開發,但是經常參考MFC的源代碼,收獲很大。

透明:STL方面,我對於剖析它的源代碼興趣並不大,畢竟裡面源代碼多是演算法問題。所以,《STL源碼剖析》我也只是隨便翻翻就束之高閣了。我覺得這本書用來做計算機系的數據結構和演算法教材不錯,不知道有沒有老師樂意這樣做。
對於STL,我的態度一向都是「應用至上」。不過,我一直認為SGI STL本身就是一本精彩的書,一本數據結構和演算法的經典參考書,同時也是泛型技術的參考書。想知道一個演算法是如何實現的,看看STL源代碼就行;想知道如何使用type traits,STL源代碼裡面也有例子。看別人寫的書,總覺得隔著一層紗,有點撓不到癢處的感覺。SGI STL的代碼寫得非常漂亮,一個C++程序員如果不看看這本書,實在是可惜。

夢魘:至於STL,除了《STL源碼解析》之外,我舉賢不避親,強烈推薦侯先生與我合譯的那本《The C++ Standard Library》。這本書質量之高是無需懷疑的。我現在手邊常備此書,隨時查閱,對我幫助很大。

透明:C++和Java相比,最大的優勢就是它沒有一個專門的公司來管它,最大的弱點也是它沒有一個專門的公司來管它。Java程序員在學會簡單的語法之後,立刻進入SUN提供的framework,一邊用這個現成的framework做實際開發,一邊在開發過程中繼續學習Java一些幽深的特性。而這個時候,C++程序員恐怕還在問「VC和BCB哪個好」呢。這無疑是浪費時間。

夢魘:剛才你說Java和C++的優劣,這個話題已經成了我們這個年代永不消失的聲波了。我也不想再談這個。不過有一點我得說清楚:現在我們很多用C++的人吃了不少苦頭,探過脖子去看看Java,覺得它真是太可愛了,這種印象是不準確的。另外,Java也不簡單,而且會越來越龐大復雜。在很多場合,Java還不具有競爭力。至於將來如何,我看有些Java愛好者也過分樂觀了,似乎計算機科學界幾十年解決不了的問題都可以借著Java的東風解決掉,恐怕沒那麼容易。

透明:那當然。我再次強調:No Silver Bullet。讀書很重要,但古人說「行萬里路,讀萬卷書」,還是把「行路」放在「讀書」前面。尤其對於技術書籍,如果它不能幫我解決問題、不能給我帶來非常實際的利益,那麼我是不會去讀它的。惡魔說得對,我們這個社會很快餐,我們這個行業尤其很快餐,我們也只能努力適應它。

Ⅲ 實訓課c語言的中文摘要都有哪些

c/c++面向對象程序設計實訓報告
系部名稱
計算機工程系
專業
網路安全
指導教師
學生姓名
班級
實訓
時間


日----------



實訓項目和地點:
實訓項目:c++程序的設計與應用
地點:
實訓目的:
在實踐過程中,使我們進一步鞏固c++程序設計課程所學知識,更加深入地了解面向對象程序設計的主要技術特點以及c++語言的強大編程功能指導學生利用獲取信息的手段進一步獲取新知識,以解決實訓過程中遇到的技術難點,從中提高自學能力;按照軟體開發的基本要求引導我們完成實訓課題,以便我們了解軟體開發的幾個重要環節;提高我們的編程技術,使程序的編寫更趨於專業化,為從業打下良好的基礎、培養我們分工協作的團隊精神。
實訓設備及器材:
1、計算機配置:celeron
cpu
2.66ghz
1g內存
計算機一台
2、操作系統平台:
windows
xp
3、軟體開發平台:visual
c++
6.0
4、其它應用軟體:microsoft
access
/
sql
server
、word、visio等
實訓的步驟和內容:
設計題目:輸入4個整數,要求按由大到小的順序輸出
第1步、問題描述:
輸入4個整數,要求按由大到小的順序輸出。
第2步、基本思路:
利用選擇法進行排序。
第3步、編寫程序:
#include
void
main()
{
int
a,b,c,d,t;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a
評論
0
0
0
載入更多

Ⅳ c語言能做什麼項目

C語言是普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。具體體現在以下三個方面:
其一,廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。[3]
其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。[3]
其三,結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢,同時這一特性也使得它能夠適應多種不同的編程要求,且執行效率高。

Ⅳ C語言實訓項目編程一般步驟

稱 計算機工程系 專業 網路安全 指導教師
學生姓名 班級
實訓
時間 年 月 日---------- 年 月 日
實訓項目和地點:
實訓項目:C++程序的設計與應用

地點:
實訓目的:
在實踐過程中,使我們進一步鞏固C++程序設計課程所學知識,更加深入地了解面向對象程序設計的主要技術特點以及C++語言的強大編程功能指導學生利用獲取信息的手段進一步獲取新知識,以解決實訓過程中遇到的技術難點,從中提高自學能力;按照軟體開發的基本要求引導我們完成實訓課題,以便我們了解軟體開發的幾個重要環節;提高我們的編程技術,使程序的編寫更趨於專業化,為從業打下良好的基礎、培養我們分工協作的團隊精神。

實訓設備及器材:
1、計算機配置:Celeron cpu 2.66GHz 1G內存 計算機一台
2、操作系統平台: Windows XP
3、軟體開發平台:Visual C++ 6.0
4、其它應用軟體:Microsoft Access / SQL Server 、Word、Visio等

實訓的步驟和內容:
設計題目:輸入4個整數,要求按由大到小的順序輸出
第1步、問題描述:
輸入4個整數,要求按由大到小的順序輸出。
第2步、基本思路:
利用選擇法進行排序。
第3步、編寫程序:
#include<stdio.h>
void main()
{
int a,b,c,d,t;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a<b)
{t=a;
a=b;
b=t;}
if(a<c)
{t=a;
a=c;
c=t;}
if(a<d)
{t=a;
a=d;
d=t;}
if(b<c)
{t=b;
b=c;
c=t;}
if(b<d)
{t=b;
b=d;
d=t;}
if(c<d)
{t=c;
c=d;
d=t;}
printf("%d,%d,%d,%d",a,b,c,d);
}
第4步、運行結果:_
輸入:5,7,9,4
輸出:9,7,5,4

實訓結果分析及其心得體會:
通過C++實訓,讓我加深了對C語言的了解,而不只是單單的在課本中學到的那些理論,平時乏味的課程,通過自己動手親自編寫,變的生動有趣,而在自己動手的過程中,出現的問題很多,比理論要難的多,當一個程序寫完以後,經常會有很多錯誤而沒法解決。不過,通過幾天的實訓,逐漸積攢了一些經驗,有些錯誤可以很快就看出來。
這次實訓有很大的收獲,讓我對C語言有了更深的認識,平時在課堂上學到的東西可以自己動手編寫,將其轉化成一些實用的技能。如果是一個程序寫完一處錯誤也沒用,會有種成就感,於是興趣就來了,興趣來了,自然學的東西也就多了,能把理論變成實際的技能,讓我對C語言有了濃厚的興趣和更深層的認識。
C語言是一個有序的學習,學了最基本的替換,然後擴展到循環,嵌套,條理很清楚,不是 一個零散的知識,實際上所有的課程都如此,不過通過實訓我也知道了自己的不足,存在的很多問題。
比如自己寫的寫的小程序出了問題,不會解決了就叫老師幫忙,雖然說一定意義上增加了師生之間的感情,但是會養成一種依賴的心理,碰到問題了第一個想到的是求助而不是自己獨立解決,所以以後要多多鍛煉自己的信心和增加自己的能力,爭取做到不在身邊的時候也可以完成一些簡單的程序編寫與錯誤排除。
還有自己的基礎知識不扎實,遇到的問題,沒有很好的邏輯思維,親自編寫一個陌生的程序的時候會有種無法下手的感覺,找不到突破口。通過實訓,逐漸理清了順序,對於簡單的程序和一些相對比較繁瑣的嵌套,循環,不在是看著一頭霧水。其實只要理清了思路,把基礎知識掌握了,然後有條不紊的分析,一步一步理解,C語言還是很有意思的課程。
自己親自動手編寫程序讓我增加了對C語言程序開發環境的了解,不管以後從事什麼行業,學習C語言都對自己的職業很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以後的編程工作可能不用C語言,但是擁有扎實的C語言基礎是對工作很有用的。
當初在初步接觸C語言的時候,看著一堆「奇形怪狀」的符號,覺得甚是無聊,通過這次實訓,擺脫了那種似懂非懂的狀態!
感謝學校安排這次實訓和老師的耐心講解,讓我學到了很多知識,在實訓過程中,同學之間的互相探討,老師的循循善誘,最終讓我們達到了舉一反三的效果,在學知識的同,也增加了同學老師之間的感情。希望以後還會有更多類似的實訓課程,在有限的大學時間內學到更多的實用技能,為以後的工作打下一個良好的基礎。

Ⅵ 單片機C語言程序設計實訓100例:基於PIC+Proteus模擬的目錄

第1章PIC單片機C語言程序設計概述
1.1 PIC單片機簡介
1.2 MPLAB+C語言程序開發環境安裝及應用
1.3 PICC/PICC18/MCC18程序設計基礎
1.4 PIC單片機內存結構
1.5 PIC單片機配置位
1.6 基本的I/O埠編程
1.7 中斷服務程序設計
1.8 PIC單片機外設相關寄存器
1.9 C語言程序設計在PIC單片機應用系統開發中的優勢
第2章PROTEUS操作基礎
2.1 PROTEUS操作界面簡介
2.2 模擬電路原理圖設計
2.3 元件選擇
2.4 模擬運行
2.5 MPLAB IDE與PROTEUS的聯合調試
2.6 PROTEUS在PIC單片機應用系統開發中的優勢
第3章 基礎程序設計
3.1 閃爍的LED
3.2 用雙重循環控制LED左右來回滾動顯示
3.3 多花樣流水燈
3.4 LED模擬交通燈
3.5 單只數碼管循環顯示0~9
3.6 4隻數碼管滾動顯示單個數字
3.7 8隻數碼管掃描顯示多個不同字元
3.8 K1~K5控制兩位數碼管的開關、加減與清零操作
3.9 數碼管顯示4×4鍵盤矩陣按鍵
3.10 數碼管顯示撥碼開關編碼
3.11 繼電器及雙向可控硅控制照明設備
3.12 INT中斷計數
3.13 RB埠電平變化中斷控制兩位數碼管開關與加減顯示
3.14 TIMER0控制單只LED閃爍
3.15 TIMER0控制流水燈
3.16 TIMER0控制數碼管掃描顯示
3.17 TIMER1控制交通指示燈
3.18 TIMER1與TIMER2控制十字路口秒計時顯示屏
3.19 用工作於同步計數方式的TMR1實現按鍵或脈沖計數
3.20 用定時器設計的門鈴
3.21 報警器與旋轉燈
3.22 用工作於捕獲方式的CCP1設計的頻率計
3.23 用工作於比較模式的CCP1控制音階播放
3.24 CCP1 PWM模式應用
3.25 模擬比較器測試
3.26 數碼管顯示兩路A/D轉換結果
3.27 EEPROM讀寫與數碼管顯示
3.28 睡眠模式及看門狗應用測試
3.29 單片機與PC雙向串口通信模擬
3.30 PIC單片機並行從動埠PSP讀寫測試
第4章 硬體應用
4.1 74HC138與74HC154解碼器應用
4.2 74HC595串入並出晶元應用
4.3 用74HC164驅動多隻數碼管顯示
4.4 數碼管BCD解碼驅動器7447與4511應用
4.5 8×8LED點陣屏顯示數字
4.6 8位數碼管段位復用串列驅動晶元MAX6951應用
4.7 串列共陰顯示驅動器MAX7219與7221應用
4.8 14段與16段數碼管串列驅動顯示
4.9 16鍵解碼晶元74C922應用
4.10 1602LCD字元液晶測試程序
4.11 1602液晶顯示DS1302實時時鍾
4.12 1602液晶工作於4位模式實時顯示當前時間
4.13 帶RAM內存的實時時鍾與日歷晶元PCF8583應用
4.14 2×20串列字元液晶演示
4.15 LGM12864液晶顯示程序
4.16 PG160128A液晶圖文演示
4.17 TG126410液晶串列模式顯示
4.18 HDG12864系列液晶演示
4.19 Nokia7110液晶菜單控製程序
4.20 8通道模擬開關74HC4051應用測試
4.21 用帶I2C介面的MCP23016擴展16位通用I/O埠
4.22 用帶SPI介面的MCP23S17擴展16位通用I/O埠
4.23 用I2C介面控制MAX6953驅動4片5×7點陣顯示器
4.24 用I2C介面控制MAX6955驅動16段數碼管顯示
4.25 用帶SPI介面的數/模轉換器MCP4921生成正弦波形
4.26 用帶SPI介面的數/模轉換器MAX515控制LED亮度循環變化
4.27 正反轉可控的直流電機
4.28 PWM控制MOSFET搭建的H橋電路驅動直流電機運行
4.29 正反轉可控的步進電機
4.30 用L297+L298控制與驅動步進電機
4.31 PC通過RS-485器件MAX487遠程式控制制單片機
4.32 I2C介面DS1621溫度感測器測試
4.33 SPI介面溫度感測器TC72應用測試
4.34 溫度感測器LM35全量程應用測試
4.35 K型熱電偶溫度計
4.36 用鉑電阻溫度感測器PT100設計的測溫系統
4.37 DS18B20溫度感測器測試
4.38 SHT75溫濕度感測器測試
4.39 1-Wire式可定址開關DS2405應用測試
4.40 光敏電阻應用測試
4.41 MPX4250壓力感測器測試
4.42 用I2C介面讀寫存儲器AT24C04
4.43 用SPI介面讀寫AT25F1024
4.44 PIC18 I2C介面存儲器及USART介面測試程序
4.45 PIC18 SPI介面存儲器測試程序
4.46 PIC18定時器及A/D轉換測試
4.47 用PIC18控制Microwire介面繼電器驅動器MAX4820
4.48 MMC存儲卡測試
4.49 ATA硬碟數據訪問
4.50 微芯VLS5573液晶顯示屏驅動器演示
第5章 綜合設計
5.1 用DS1302/DS18B20+MAX6951設計的多功能電子日歷牌
5.2 用PCF8583設計高模擬數碼管電子鍾
5.3 用4×20LCD與DS18B20設計的單匯流排多點溫度監測系統
5.4 用內置EEPROM與1602液晶設計的加密電子密碼鎖
5.5 用PIC單片機與1601LCD設計的計算器
5.6 電子秤模擬設計
5.7 數碼管顯示的GP2D12模擬測距警報器
5.8 GPS全球定位系統模擬
5.9 能接收串口信息的帶中英文硬字型檔的80×16點陣顯示屏
5.10 用M145026與M145027設計的無線收發系統
5.11 紅外遙控收發模擬
5.12 交流電壓檢測與數字顯示模擬
5.13 帶位置感應器的直流無刷電機PMW控制模擬
5.14 3端可調正穩壓器LM317應用測試
5.15 模擬射擊訓練游戲
5.16 帶觸摸屏的國際象棋游戲模擬
5.17 溫室監控系統模擬
5.18 PIC單片機MODBUS匯流排通信模擬
5.19 PIC單片機內置CAN匯流排通信模擬
5.20 基於PIC18+Microchip TCP/IP協議棧的HTTP伺服器應用
參考文獻

Ⅶ 我想找幾個c語言的小項目做~!

小程序么,給你幾個你試試:
演算法類的:求全排列,算24,快速排序的迭代實現,漢諾塔,8皇後,1筆畫......
綜合類:學生信息管理,動畫演示排序,列印年歷,計算某文章單詞數.....
深入的:磁碟文件管理,線性方程求解,超大整數計算,算PI到小數點後2萬位,貪吃蛇,俄羅斯方塊.....
超簡單的:求1元2次方程的解,牛頓迭代法求平方根,逐差法計算試驗數據,求方差,坐標變換.....

你能把上面那些全做出來,恭喜你,你是天才了...-_-

Ⅷ 有哪些c語言的小項目適合新手練習的,幾百到幾千行的那種

所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給你程序設計應該掌握的思考方式;程序風格相當地不好,會讓你養成亂寫代碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以網路一下:)Kernighan和Ritchie的《TheCProgrammingLanguage》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標准C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《CReferenceManual》,是C語言標準的詳細描述,包括絕大多數C標准庫函數的細節,算得上是最好的標准C語言的工具書。順便提一句,最新的《C程序設計語言》是根據C89標准修訂的,而《C語言參考手冊》描述的是C99標准,二者可能會有些出入,建議按照C99標准學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《PointersonC》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很扎實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《CTrapsandPitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《ExpertCProgramming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫「精通C語言」了。切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。Unix/Linux還是Windows,這是個很大的問題不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如VisualStudio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基本的VisutalC++工具欄按鈕就可以開始寫Hello,World!了,而在Unix下,你需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不劃算。對於一個只懂得Windows基本操作、連DOS是什麼都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專注於C語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。所以我建議初學者應該以VisualC++6.0(不是VisualC++.NET)或者DevC++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。VisualC++6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而DevC++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用TurboC2.0作為實驗環境,這是相當不可取的,原因其一是TC2.0對C標准幾乎沒有支持,其二是TC2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC2.0編譯出32位程序,不過那過於復雜了)。等你學完一本C語言的教材,你一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛苦的,你需要面對的是各種紛繁復雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數優秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備向「高手」方向努力時,請先轉向Unix平台。書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要「創造」一些例子,比如學習運算符優先順序的時候,可以寫幾個相同的表達式,在不同的位置加上括弧,看看有哪些不同的行為,比如*p++和(*p)++,又比如a=b==c、(a=b)==c和a=(b==c)等等。自己抄的書上的例子以及改造之後的例子,還有自己「創造」的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《Windows核心編程》時(我只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,我早已記不清Windows的系統編程了,但只要花幾分鍾翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。

Ⅸ C語言的實訓項目發幾個,謝謝

這個是沒有代碼的,只有文件,要你去真代碼,不過電路圖及。hex文件都有,你可以直接運行看結果,但自已要試程序的話,必須自已打上去!~
建議買一本吧!學pic單片機,這本書不錯。也就七十來塊,如果這點錢都捨不得,還是別要了!知識是無價的,只你你學到了東西,這本書就值了,