課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。
成都創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為保德企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),保德網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
回顧起此次單片機(jī)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說三極管PNP管腳不懂怎么放置,不懂分得二極管的正負(fù)極,對(duì)單片機(jī)匯編語言掌握得不好……通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。
這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在梁強(qiáng)老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在梁強(qiáng)老師的身上我學(xué)得到很多實(shí)用的知識(shí),在次我表示感謝!同時(shí),對(duì)給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!
通過這次實(shí)訓(xùn),增加了我學(xué)習(xí)軟件技術(shù)的興趣,雖然還不明確軟件技術(shù)包含的具體內(nèi)容,但從C語言這門課程開始,已發(fā)現(xiàn)程序設(shè)計(jì)的樂趣,在學(xué)習(xí)C語言的過程中也學(xué)到了許多計(jì)算機(jī)應(yīng)用基礎(chǔ)知識(shí),對(duì)計(jì)算機(jī)的機(jī)體也有了一個(gè)大體的了解。
這次實(shí)訓(xùn)是老師給了范例程序,經(jīng)過自己的改寫,實(shí)現(xiàn)要求。先做簡單的輸出,一步步的再做其它圖案,在實(shí)際操作過程中犯的一些錯(cuò)誤還會(huì)有意外的收獲,感覺實(shí)訓(xùn)很有意思。在具體操作中對(duì)這學(xué)期所學(xué)的C語言的理論知識(shí)得到鞏固,達(dá)到實(shí)訓(xùn)的基本目的,也發(fā)現(xiàn)自己的不足之出,在以后的上機(jī)中應(yīng)更加注意,同時(shí)體會(huì)到C語言具有的語句簡潔,使用靈活,執(zhí)行效率高等特點(diǎn)。發(fā)現(xiàn)上機(jī)實(shí)訓(xùn)的重要作用,特別是對(duì)數(shù)組和循環(huán)有了深刻的理解。
通過實(shí)際操作,學(xué)會(huì)C語言程序編程的基本步驟、基本方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問題的能力。深刻體會(huì)到“沒有做不到的,只有想不到的”,“團(tuán)結(jié)就是力量”,“實(shí)踐是檢驗(yàn)真理的標(biāo)準(zhǔn)”,“不恥下問”……的寓意。
計(jì)時(shí)在此希望以后應(yīng)多進(jìn)行這樣的實(shí)訓(xùn),加長設(shè)間,培養(yǎng)學(xué)生獨(dú)立思考問題的能力,提高實(shí)際操作水平。
八、參考資料:《C語言程序設(shè)計(jì)教程》
參考資料:《C語言程序設(shè)計(jì)教程》1.總結(jié)
通過本次的C++課程設(shè)計(jì),讓我學(xué)會(huì)了把書本上的知識(shí)應(yīng)用到了實(shí)際中來。雖然在這幾周中有過挫折和坎坷,有的問題一直到了最后才被解決,但是我認(rèn)為這未必就不是好事,這樣能鍛煉我的意志,磨練我的耐心,失敗是成功之母,這話一點(diǎn)都沒錯(cuò),沒有失敗就沒有成功。
讓我沒有失去信心的是關(guān)懷我們的老師,當(dāng)我們有了問題和疑問,老師就很耐心的給予講解,讓我們有了一個(gè)良好的學(xué)習(xí)氛圍。
* 掌握C語言的基本語法和規(guī)定。 * 掌握程序設(shè)計(jì)基本算法和思路,開拓思路, * 提高上機(jī)操作能力,掌握上機(jī)調(diào)試程序的方法 * 培養(yǎng)自學(xué)能力,強(qiáng)調(diào)自主學(xué)習(xí)。 * 養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣。 通過總結(jié)多年的教學(xué)經(jīng)驗(yàn),總結(jié)學(xué)生在學(xué)習(xí)過程中具有規(guī)律性的特點(diǎn),可以發(fā)現(xiàn),在本課程學(xué)習(xí)過程中學(xué)生經(jīng)常出現(xiàn)下面這些問題: * 注重理論學(xué)習(xí),忽視上機(jī)編程實(shí)踐,造成"只能用筆在紙上編程"的奇怪現(xiàn)象。特別是一些女同學(xué),一到機(jī)器前面就手忙腳亂,如果程序再出現(xiàn)錯(cuò)誤,就更不知道該如何查找錯(cuò)誤,如何排除錯(cuò)誤了。 *入門時(shí)自以為難度大,產(chǎn)生畏難情緒,總是怕,最后因?yàn)榕聦W(xué)不好而導(dǎo)致沒有學(xué)好。 *前期沒有抓緊,希望通過突擊完成課程學(xué)習(xí)。本課程要靠平時(shí)的積累,幾乎不能靠臨時(shí)突擊,由于前面基礎(chǔ)補(bǔ)扎實(shí),到了后面已經(jīng)無法彌補(bǔ)。 *太注重學(xué)習(xí)語句的語法規(guī)定,忽視了對(duì)編程的思路和方法的訓(xùn)練。有些同學(xué)再學(xué)習(xí)結(jié)束的感覺就是:對(duì)每一個(gè)語句的語法和每一條規(guī)定都明白,就是面對(duì)實(shí)際問題的時(shí)候不知道該如何思考,該如何編程。 *急于求成,總想編寫綜合性的程序,忽視基本概念,忽視基本功的訓(xùn)練和練習(xí)。在編寫程序中發(fā)現(xiàn)問題,一追根源,全是概念或基礎(chǔ)問題。 1.不要看到別人的回復(fù)第一句話就說:給個(gè)代碼吧!你應(yīng)該想想為什么。當(dāng)你自己想 出來再參考別人的提示,你就知道自己和別人思路的差異。 2.初學(xué)者請(qǐng)不要看太多太多的書那會(huì)誤人子弟的,先找本系統(tǒng)的學(xué),很多人用了很久 都是只對(duì)部分功能熟悉而已,不系統(tǒng)還是不夠的。 3.看幫助,不要因?yàn)楹茈y而自己是初學(xué)者所以就不看;幫助永遠(yuǎn)是最好的參考手冊(cè), 雖然幫助的文字有時(shí)候很難看懂,總覺得不夠直觀。 4.不要被對(duì)象、屬性、方法等詞匯所迷惑;最根本的是先了解最基礎(chǔ)知識(shí)。 5.不要放過任何一個(gè)看上去很簡單的小問題--他們往往并不那么簡單,或者可以引伸 出很多知識(shí)點(diǎn);不會(huì)舉一反三你就永遠(yuǎn)學(xué)不會(huì)。 6.知道一點(diǎn)東西,并不能說明你會(huì)寫腳本,腳本是需要經(jīng)驗(yàn)積累的。 7.學(xué)腳本并不難,JSP、ASP、PHP等等也不過如此--難的是長期堅(jiān)持實(shí)踐和不遺余力的博覽 群書; 8.看再多的書是學(xué)不全腳本的,要多實(shí)踐 9.把時(shí)髦的技術(shù)掛在嘴邊,還不如把過時(shí)的技術(shù)記在心里; 10.學(xué)習(xí)腳本最好的方法之一就是多練習(xí); 11.在任何時(shí)刻都不要認(rèn)為自己手中的書已經(jīng)足夠了; 12.看得懂的書,請(qǐng)仔細(xì)看;看不懂的書,請(qǐng)硬著頭皮看; 13.別指望看第一遍書就能記住和掌握什么--請(qǐng)看第二遍、第三遍; 14.請(qǐng)把書上的例子親手到電腦上實(shí)踐,即使配套光盤中有源文件; 15.把在書中看到的有意義的例子擴(kuò)充;并將其切實(shí)的運(yùn)用到自己的工作中; 16.不要漏掉書中任何一個(gè)練習(xí)--請(qǐng)全部做完并記錄下思路; 17.當(dāng)你用腳本到一半?yún)s發(fā)現(xiàn)自己用的方法很拙劣時(shí),請(qǐng)不要馬上停手;請(qǐng)盡快將余 下的部分粗略的完成以保證這個(gè)代碼的完整性,然后分析自己的錯(cuò)誤并重新編寫和工 作。 18.別心急,寫腳本確實(shí)不容易;水平是在不斷的實(shí)踐中完善和發(fā)展的; 19.每學(xué)到一個(gè)腳本難點(diǎn)的時(shí)候,嘗試著對(duì)別人講解這個(gè)知識(shí)點(diǎn)并讓他理解----你能 講清楚才說明你真的理解了; 20.記錄下在和別人交流時(shí)發(fā)現(xiàn)的自己忽視或不理解的知識(shí)點(diǎn); 21.保存好你做過的所有的源文件----那是你最好的積累之一; 22.對(duì)于網(wǎng)絡(luò),還是希望大家能多利用一下,很多問題不是非要到論壇來問的,首先 你要學(xué)會(huì)自己找答案,比如google、百度都是很好的搜索引擎,你只要輸入關(guān)鍵字就 能找到很多相關(guān)資料,別老是等待別人給你希望,看的出你平時(shí)一定也很懶! 23.到一個(gè)論壇,你學(xué)會(huì)去看以前的帖子,不要什么都不看就發(fā)帖子問,也許你的問 題早就有人問過了,你再問,別人已經(jīng)不想再重復(fù)了,做為初學(xué)者,誰也不希望自己 的帖子沒人回的。 24.雖然不是打擊初學(xué)者,但是這句話還是要說:論壇論壇,就是大家討論的地方, 如果你總期望有高手總無償指點(diǎn)你,除非他是你親戚?。∮懻撜?,起碼是水平相當(dāng)?shù)? 才有討論的說法,如果水平真差距太遠(yuǎn)了,連基本操作都需要?jiǎng)e人給解答,誰還跟你 討論呢。能找到很多相關(guān)資料,別老是等待別人給你希望,看的出你平時(shí)一定也很懶! 25.到一個(gè)論壇,你學(xué)會(huì)去看以前的帖子,不要什么都不看就發(fā)帖子問,也許你的問 題早就有人問過了,你再問,別人已經(jīng)不想再重復(fù)了,做為初學(xué)者,誰也不希望自己 的帖子沒人回的。 26.雖然不是打擊初學(xué)者,但是這句話還是要說:論壇論壇,就是大家討論的地方, 如果你總期望有高手總無償指點(diǎn)你,除非他是你親戚?。∮懻撜?,起碼是水平相當(dāng)?shù)? 才有討論的說法,如果水平真差距太遠(yuǎn)了,連基本操作都需要?jiǎng)e人給解答,誰還跟你 討論呢。 別做浮躁的人 浮躁的人容易問:我到底該學(xué)什么;----別問,學(xué)就對(duì)了; 浮躁的人容易問:JS有錢途嗎;----建議你去搶銀行; 浮躁的人容易說:我要中文版!我英文不行!----不行?學(xué)呀! 浮躁的人分兩種:只觀望而不學(xué)的人;只學(xué)而不堅(jiān)持的人; 浮躁的人永遠(yuǎn)不是一個(gè)
1.編程模型
所有計(jì)算機(jī)均由兩種元素組成:代碼和數(shù)據(jù).精確的說,有些程序是圍繞著"什么正在發(fā)生"而編寫,有些則是圍繞"誰正在受影響"而編寫的.
第一種編程方式叫做"面向過程的模型",按這種模型編寫的程序以一系列的線性步驟(代碼)為特征,可被理解為作用于數(shù)據(jù)的代碼.如 C 等過程化語言.
第二種編程方式叫做"面向?qū)ο蟮哪P?,按這種模型編寫的程序圍繞著程序的數(shù)據(jù)(對(duì)象)和針對(duì)該對(duì)象而嚴(yán)格定義的接口來組織程序,它的特點(diǎn)是數(shù)據(jù)控制代碼的訪問.通過把控制權(quán)轉(zhuǎn)移到數(shù)據(jù)上,面向?qū)ο蟮哪P驮诮M織方式上有:抽象,封裝,繼承和多態(tài)的好處.
2.抽象
面向?qū)ο蟪绦蛟O(shè)計(jì)的基本要素是抽象,程序員通過抽象來管理復(fù)雜性.
管理抽象的有效方法是使用層次式的分類特性,這種方法允許用戶根據(jù)物理含義分解一個(gè)復(fù)雜的系統(tǒng),把它劃分成更容易管理的塊.例如,一個(gè)計(jì)算機(jī)系統(tǒng)是一個(gè)獨(dú)立的對(duì)象.而在計(jì)算機(jī)系統(tǒng)內(nèi)部由幾個(gè)子系統(tǒng)組成:顯示器,鍵盤,硬盤驅(qū)動(dòng)器,DVD-ROM,軟盤,音響等,這些子系統(tǒng)每個(gè)又由專門的部件組成.關(guān)鍵是需要使用層次抽象來管理計(jì)算機(jī)系統(tǒng)(或其他任何復(fù)雜系統(tǒng))的復(fù)雜性.
面向?qū)ο蟪绦蛟O(shè)計(jì)的本質(zhì):這些抽象的對(duì)象可以被看作具體的實(shí)體,這些實(shí)體對(duì)用來告訴我們作什么的消息進(jìn)行響應(yīng).
/* (我的理解)
*計(jì)算機(jī)是一個(gè)實(shí)體,我要輸入字符,顯示器顯示出來,那么
*計(jì)算機(jī)(對(duì)象).輸入(鍵盤屬性).顯示(顯示方法)
*使用分層來引用,操作.而不用管計(jì)算機(jī)內(nèi)部如何處理.
*只要有計(jì)算機(jī)對(duì)象,它就能響應(yīng)我的操作,而我敲鍵盤,
*計(jì)算機(jī)對(duì)象就把這個(gè)消息傳給屏幕,屏幕顯示.
*/
計(jì)算機(jī)對(duì)象包含了它所有的屬性,以及操作,這就是面向?qū)ο蟪绦蛟O(shè)計(jì)的三大原則之一:封裝.
3.封裝
封裝是一種把代碼和代碼所操作的數(shù)據(jù)捆綁在一起,使這兩者不受外界干擾和誤用的機(jī)制.封裝可被理解為一種用做保護(hù)的包裝器,以防止代碼和數(shù)據(jù)被包裝器外部所定義的其他代碼任意訪問.對(duì)包裝器內(nèi)部代碼與數(shù)據(jù)的訪問通過一個(gè)明確定義的接口來控制.封裝代碼的好處是每個(gè)人都知道怎樣訪問代碼,進(jìn)而無需考慮實(shí)現(xiàn)細(xì)節(jié)就能直接使用它,同時(shí)不用擔(dān)心不可預(yù)料的副作用.
在JAVA中,最基本的封裝單元是類,一個(gè)類定義著將由一組對(duì)象所共享的行為(數(shù)據(jù)和代碼).一個(gè)類的每個(gè)對(duì)象均包含它所定義的結(jié)構(gòu)與行為,這些對(duì)象就好象是一個(gè)模子鑄造出來的.所以對(duì)象也叫做類的實(shí)例.
在定義一個(gè)類時(shí),需要指定構(gòu)成該類的代碼與數(shù)據(jù).特別是,類所定義的對(duì)象叫做成員變量或?qū)嵗兞?操作數(shù)據(jù)的代碼叫做成員方法.方法定義怎樣使用成員變量,這意味著類的行為和接口要由操作實(shí)例數(shù)據(jù)的方法來定義.
由于類的用途是封裝復(fù)雜性,所以類的內(nèi)部有隱藏實(shí)現(xiàn)復(fù)雜性的機(jī)制.所以JAVA中提供了私有和公有的訪問模式,類的公有接口代表外部的用戶應(yīng)該知道或可以知道的每件東西.私有的方法數(shù)據(jù)只能通過該類的成員代碼來訪問.這就可以確保不會(huì)發(fā)生不希望的事情.
4.繼承
繼承是指一個(gè)對(duì)象從另一個(gè)對(duì)象中獲得屬性的過程.是面向?qū)ο蟪绦蛟O(shè)計(jì)的三大原則之二,它支持按層次分類的概念.例如,波斯貓是貓的一種,貓又是哺乳動(dòng)物的一種,哺乳動(dòng)物又是動(dòng)物的一種.如果不使用層次的概念,每個(gè)對(duì)象需要明確定義各自的全部特征.通過層次分類方式,一個(gè)對(duì)象只需要在它的類中定義是它成為唯一的 各個(gè)屬性,然后從父類中繼承它的通用屬性.因此,正是由于繼承機(jī)制,才使得一個(gè)對(duì)象可以成為一個(gè)通用類的一個(gè)特定實(shí)例.一個(gè)深度繼承的子類將繼承它在類層次中的每個(gè)祖先的所有屬性.
繼承與封裝可以互相作用.如果一個(gè)給定的類封裝了某些屬性,它的任何子類將會(huì)含有同樣得屬性,另加各個(gè)子類所有得屬性.這是面向?qū)ο蟪绦蛟趶?fù)雜性上呈線性而非幾何增長的一個(gè)重要概念.新的子類繼承其所有祖先的所有屬性.子類和系統(tǒng)中的其他代碼不會(huì)產(chǎn)生無法預(yù)料的交互作用.
5.多態(tài)
多態(tài)是指一個(gè)方法只能有一個(gè)名稱,但可以有許多形態(tài),也就是程序中可以定義多個(gè)同名的方法,用"一個(gè)接口,多個(gè)方法"來描述.可以通過方法的參數(shù)和類型引用.
6.封裝,繼承,多態(tài)的組合使用
在由封裝,繼承,多態(tài)所組成的環(huán)境中,程序員可以編寫出比面向過程模型更健壯,更具擴(kuò)展性的程序.經(jīng)過仔細(xì)設(shè)計(jì)的類層次結(jié)構(gòu)是重用代碼的基礎(chǔ).封裝能讓程序員不必修改公有接口的代碼即可實(shí)現(xiàn)程序的移植.多態(tài)能使程序員開發(fā)出簡潔,易懂,易修改的代碼.例如:汽車
從繼承的角度看,駕駛員都依靠繼承性來駕駛不同類型(子類)的汽車,無論這輛車是轎車還是卡車,是奔馳牌還是菲亞特牌,駕駛員都能找到方向盤,手剎,換檔器.經(jīng)過一段時(shí)間駕駛后,都能知道手動(dòng)檔與自動(dòng)檔之間的差別,因?yàn)樗麄儗?shí)際上都知道這兩者的共同超類:傳動(dòng)裝置.
從封裝的角度看,駕駛員總是看到封裝好的特性.剎車隱藏了許多復(fù)雜性,其外觀如此簡單,用腳就能操作它.發(fā)動(dòng)機(jī),手剎,輪胎大小的實(shí)現(xiàn)對(duì)與剎車類的定義沒有影響.
從多態(tài)的角度看,剎車系統(tǒng)有正鎖反鎖之分,駕駛員只用腳踩剎車停車,同樣的接口可以用來控制若干種不同的實(shí)現(xiàn)(正鎖或反鎖).
這樣各個(gè)獨(dú)立的構(gòu)件才被轉(zhuǎn)換為汽車這個(gè)對(duì)象的.同樣,通過使用面向?qū)ο蟮脑O(shè)計(jì)原則,程序員可以把一個(gè)復(fù)雜程序的各個(gè)構(gòu)件組合在一起,形成一個(gè)一致,健壯,可維護(hù)的程序
#include stdio.h
#include stdlib.h
#define STU_NUM 10 /*宏定義學(xué)生的數(shù)量*/
struct student /*定義一個(gè)結(jié)構(gòu)體用來存放學(xué)生學(xué)號(hào)、三門課成績、總分及平均成績*/
{
char stu_id[20]; /*學(xué)生學(xué)號(hào);*/
float score[3]; /*三門課成績;*/
float total; /*總成績;*/
float aver; /*平均成績;*/
};
/*排序用一個(gè)函數(shù)來實(shí)現(xiàn)*/
void SortScore(student *stu,int n)
{
student stud;
for(int i = 0; i n-1; i++)
for(int j = i+1 ; j n; j++)
{
if(stu[i].total stu[j].total)
{
stud = stu[i];
stu[i] = stu[j];
stu[j] = stud;
}
}
}
int main( )
{
student stu[STU_NUM]; /*創(chuàng)建結(jié)構(gòu)體數(shù)組中有10個(gè)元素,分別用來保存這10個(gè)人的相關(guān)信息。*/
/*輸入這十個(gè)學(xué)生的相關(guān)信息*/
for(int i = 0; iSTU_NUM; i++)
{
printf("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào):",i+1);
scanf("%s",stu[i].stu_id);
printf("輸入第%d個(gè)學(xué)生的數(shù)學(xué)成績:",i+1);
scanf("%f",stu[i].score[0]);
printf("輸入第%d個(gè)學(xué)生的英語成績:",i+1);
scanf("%f",stu[i].score[1]);
printf("輸入第%d個(gè)學(xué)生的計(jì)算機(jī)成績:",i+1);
scanf("%f",stu[i].score[2]);
stu[i].total = stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].aver = stu[i].total/3;
}
printf("\n");
SortScore(stu,STU_NUM);/*調(diào)用排序函數(shù)*/
/*輸出排序后的各學(xué)生的成績*/
for(i = 0 ; i STU_NUM; i++)
{
printf("序號(hào): %d\t",i);
printf("學(xué)號(hào):%s\t",stu[i].stu_id);
printf("數(shù)學(xué):%f\t",stu[i].score[0]);
printf("英語:%f\t",stu[i].score[1]);
printf("計(jì)算機(jī):%f\t",stu[i].score[2]);
printf("平均成績:%f\t",stu[i].aver);
printf("總分:%f\t",stu[i].total);
printf("\n\n");
}
return 0;
}
注:(源程序中主要標(biāo)識(shí)符含義說明)
#define STU_NUM 10 /*宏定義學(xué)生的數(shù)量*/
struct student /*定義一個(gè)結(jié)構(gòu)體用來存放學(xué)生學(xué)號(hào)、三門課成績、總分及平均成績*/
{
char stu_id[20]; /*學(xué)生學(xué)號(hào);*/
float score[3]; /*三門課成績;*/
float total; /*總成績;*/
float aver; /*平均成績;*/
}
1.最初接觸C語言時(shí)要弄清楚各種變量的定義方法,特別是常用的類型,int、float、char等等,還要掌握各種類型的輸入、輸出格式。這一步做到后,上機(jī)就沒有多大的問題了。
2.在對(duì)函數(shù)的學(xué)習(xí)過程中,一定要弄明白函數(shù)的作用和具體格式。值得強(qiáng)調(diào)的是在寫循環(huán)程序時(shí),一定要弄清楚循環(huán)的條件。
3.對(duì)每一個(gè)知識(shí)點(diǎn),都應(yīng)該立即編出對(duì)應(yīng)的程序,有時(shí)可能還會(huì)有語法錯(cuò)誤,碰到更好的方法也可以試一下,很多時(shí)候你想想代碼怎么寫和你真的寫出來了是有很大的差距的。
4.學(xué)習(xí)時(shí)一定有很多疑惑的,要及時(shí)弄清楚。
5.找一本好的課本,我并不推薦譚浩強(qiáng)的《C語言程序設(shè)計(jì)》,因?yàn)檫@本書把知識(shí)點(diǎn)講的太細(xì)碎太理論。我推薦《c語言程序設(shè)計(jì):現(xiàn)代方法》這本書,書中奧妙非凡,值得深讀體驗(yàn)。
6.不要認(rèn)為上課認(rèn)真聽課有用,寫程序不可能從課堂上學(xué)會(huì)太多的,偉大的程序員或者是很多的黑客,不是老師教出來的,你的有自己的想法自己的思路自己的,學(xué)習(xí)一門語言才有用,也才會(huì)得到別人傳教不了的東西。