第一篇:《語(yǔ)言程序設(shè)計(jì)》學(xué)習(xí)心得自主學(xué)習(xí)報(bào)告
自主學(xué)習(xí)報(bào)告書(shū)
題 目:學(xué)習(xí)匯編語(yǔ)言程序設(shè)計(jì)報(bào)告 學(xué)習(xí)課程: 《匯編語(yǔ)言程序設(shè)計(jì)》 姓 名: 專 業(yè): 學(xué) 號(hào):
福建工程學(xué)院國(guó)脈信息學(xué)院教務(wù)處 制
二○一二年六月
學(xué)習(xí)匯編語(yǔ)言程序設(shè)計(jì)報(bào)告書(shū)
由于實(shí)際工作中對(duì)匯編語(yǔ)言程序設(shè)計(jì)應(yīng)用較多,在業(yè)余時(shí)間我自主學(xué)習(xí)了北京大學(xué)出版社出版的《匯編語(yǔ)言程序設(shè)計(jì)》一書(shū)。這一本書(shū)介紹了80x86匯編語(yǔ)言程序設(shè)計(jì)的方法和技術(shù),共分為兩個(gè)部分:第一部分介紹80x86cpu的編程結(jié)構(gòu),匯編語(yǔ)言程序的格式和偽指令,80x86cpu的尋址方式和指令系統(tǒng);第二部分深入討論分支程序、循環(huán)程序、子程序基本程序設(shè)計(jì)方法,以及以中斷為主的i/o程序設(shè)計(jì),其中包括宏指令、多模塊連接技術(shù)、匯編語(yǔ)言與高級(jí)語(yǔ)言的混合編程、dos和bios提供的常用中斷調(diào)用,以及文件系統(tǒng)等內(nèi)容。
通過(guò)本書(shū),我深入的掌握了匯編語(yǔ)言的編程方法、思路和技巧,并對(duì)計(jì)算機(jī)的底層編程有一定認(rèn)識(shí);還對(duì)計(jì)算機(jī)底層運(yùn)行程序的機(jī)制及計(jì)算機(jī)的工作原理有了深入的了解。
在學(xué)匯編的過(guò)程中,最重要的就是要掌握匯編語(yǔ)言中的指令的一些基本用法。當(dāng)然要能夠真正的了解其中的內(nèi)涵,這樣在實(shí)際的編程中也能夠像運(yùn)用高級(jí)語(yǔ)言一樣靈活的變通。匯編語(yǔ)言作為一種低級(jí)程序設(shè)計(jì)語(yǔ)言,既然是低級(jí)所以應(yīng)該是最底層的,與計(jì)算機(jī)內(nèi)部的結(jié)構(gòu)聯(lián)系應(yīng)該聯(lián)系很密切,而且我在學(xué)習(xí)中也深刻的了解到了這一點(diǎn)。比如說(shuō)后來(lái)學(xué)到的寄存器、中斷、還要各種尋址方式以及進(jìn)棧出棧,好多的就是設(shè)計(jì)到計(jì)算機(jī)硬件。前面幾章都是對(duì)計(jì)算機(jī)內(nèi)部結(jié)構(gòu)和一些常用的指令以及尋址方式的尋址方式。到后面學(xué)到子程序以及宏的作用才真正發(fā)現(xiàn)到其實(shí)跟高級(jí)語(yǔ)言差別不大。以C語(yǔ)言為例,C語(yǔ)言也是由一個(gè)一個(gè)的函數(shù)組成的。沒(méi)想到想?yún)R編這樣的低級(jí)語(yǔ)言也可以這樣。在匯編語(yǔ)言的子程序和宏中,我個(gè)人更感覺(jué)宏的運(yùn)用更像我們高級(jí)語(yǔ)言的子函數(shù),通過(guò)定義好的宏,我們?cè)诤竺嬷苯诱{(diào)用就可以了。尤其是宏帶參數(shù)的宏跟C語(yǔ)言中帶參數(shù)的函數(shù)真的很像,根據(jù)參數(shù)的不同調(diào)用宏就能得到不同的結(jié)果。而匯編中的子程序沒(méi)有這個(gè)傳遞參數(shù)這個(gè)功能。在調(diào)用子程序的時(shí)候要注意各寄存器中的內(nèi)容。子程序是在程序執(zhí)行期間由主程序調(diào)用的,它只占有它自身大小的一個(gè)空間,他不僅是源程序級(jí)別 簡(jiǎn)化,形成的目標(biāo)代碼較短;而宏調(diào)用則是在匯編期間展開(kāi)的,每調(diào)用依次進(jìn)把宏定義體展開(kāi)一次,它是源程序級(jí)的簡(jiǎn)化。因而它占有的存儲(chǔ)空間與調(diào)用次數(shù)有關(guān),調(diào)用次數(shù)越多則占有的存儲(chǔ)空間越大。如果宏調(diào)用次數(shù)較多的話,則其空間上的開(kāi)銷也是應(yīng)該考慮的因素
匯編程序給人感覺(jué)最煩的就是好多程序的結(jié)果不能直接通過(guò)運(yùn)行EXE文件顯示出來(lái),而更多的是經(jīng)過(guò)DEBUG單步調(diào)試才能看到其內(nèi)在變化,看是否正確。匯編程序不像其他的高級(jí)語(yǔ)言一樣需要編譯器,而是直接的就能在記事本上編寫(xiě),然后進(jìn)行匯編和連接就可以了。學(xué)習(xí)匯編調(diào)試,關(guān)鍵就是要掌握DEBUG的運(yùn)用。匯編程序把匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言的過(guò)程稱為匯編。是一種功能很強(qiáng)的程序設(shè)計(jì)語(yǔ)言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語(yǔ)言。比機(jī)器語(yǔ)言易于讀寫(xiě)、調(diào)試和修改,同時(shí)具有機(jī)器語(yǔ)言全部?jī)?yōu)點(diǎn)。但在編寫(xiě)復(fù)雜程序時(shí),相對(duì)高級(jí)語(yǔ)言代碼量較大,而且匯編語(yǔ)言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。相比較以前學(xué)過(guò)的高級(jí)語(yǔ)言如C、C++等,電腦等于在遷就人的思維方式,但學(xué)匯編,人卻必須要去遷就電腦的思維方式,要設(shè)身處地地用電腦的角度去思考問(wèn)題,這就是我們學(xué)習(xí)匯編語(yǔ)言時(shí)遇到的最大的障礙。
一開(kāi)始,我對(duì)PC的尋址方式和很不理解。這方面的知識(shí)是很抽象的,需要比較強(qiáng)的空間想象能力。尤其是我們?cè)谳斎胱址畷r(shí),那這些字符是如何進(jìn)行排列的呢。對(duì)于這個(gè)問(wèn)題,我相信很多人也和我一樣很難想象。匯編語(yǔ)言的尋址方式有直接尋址,寄存器尋址,基址變址尋址,相對(duì)基址變址尋址等等,掌握這些都是編寫(xiě)匯編程序很重要的環(huán)節(jié)。在編寫(xiě)匯編程序時(shí),應(yīng)該注意特別容易出現(xiàn)的錯(cuò)誤,例如在編寫(xiě)數(shù)據(jù)傳送指令時(shí),目的操作數(shù)和源操作數(shù)的類型一定要匹配,CS不能作為目的操作數(shù),offset后只能跟簡(jiǎn)單地址符號(hào)等等。
學(xué)習(xí)完這本書(shū)后,我也對(duì)之前的高級(jí)語(yǔ)言中的一些知識(shí)有了更新的認(rèn)識(shí),能夠讓我們更好的理解高級(jí)語(yǔ)言,尤其是高級(jí)語(yǔ)言中的C語(yǔ)言,匯編語(yǔ)言對(duì)于內(nèi)存的操作都是基于內(nèi)存地址的,而C語(yǔ)言中最令人頭疼的指針概念,說(shuō)白了就是內(nèi)存的地址指針的學(xué)習(xí)和應(yīng)用中最頭疼的就是在指針這個(gè)抽象的概念和實(shí)際的內(nèi)存單元之間建立思維映射,而這些恰恰是我們?cè)趨R編語(yǔ)言學(xué)習(xí)中頻繁做的一件平常事另外,對(duì)于C語(yǔ)言中的數(shù)據(jù)類型形參實(shí)參函數(shù)調(diào)用全局變量局部變量等概念及操作,我們都可以用匯編語(yǔ)言中的一些操作相關(guān)聯(lián),把這些抽象的概念和過(guò)程,通過(guò)匯編語(yǔ)言形成一個(gè)具體的映像,深度剖析,這樣我們才能真正的學(xué)會(huì)學(xué)好C語(yǔ)言計(jì)算機(jī)科學(xué)的各個(gè)方面是一個(gè)統(tǒng)一的整體,只有多方面穿插,交互才能更好的搭建計(jì)算機(jī)知識(shí)體系。我認(rèn)為匯編語(yǔ)言本身還是一門(mén)很重要的應(yīng)用技術(shù)。首先由于匯編的操作由于跟硬件緊密相關(guān),所以,很多硬件設(shè)施的嵌入式編程使用的都是使用的匯編語(yǔ)言,因?yàn)閰R編語(yǔ)言更直接有效率?,F(xiàn)在的數(shù)碼產(chǎn)品很多,而這些數(shù)碼產(chǎn)品賴以生存的芯片,主板等,都包含了嵌入式程序,而這些程序中,匯編語(yǔ)言的使用是相當(dāng)重要的。
通過(guò)一個(gè)月多的自主學(xué)習(xí),我常常上網(wǎng)搜索資料輔助理解,遇到難以理解的問(wèn)題時(shí)也學(xué)會(huì)自己解決,我想這不僅是知識(shí)層面上的提升,更是自己在學(xué)習(xí)能力上的提升。這樣的學(xué)習(xí)能力將非常有助于我今后的個(gè)人能力提高,我會(huì)把這種自主學(xué)習(xí)培養(yǎng)成為習(xí)慣,持之以恒下去。
第二篇:《C語(yǔ)言程序設(shè)計(jì)》學(xué)習(xí)心得
C語(yǔ)言程序設(shè)計(jì)網(wǎng)絡(luò)學(xué)習(xí)心得
通過(guò)這一階段網(wǎng)絡(luò)的學(xué)習(xí),我總結(jié)出以下幾點(diǎn),在今后的教學(xué)過(guò)程中可以嘗試加以注重:
(一)激勵(lì)學(xué)生學(xué)習(xí)興趣,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性
學(xué)習(xí)興趣就是學(xué)生在心理上對(duì)學(xué)習(xí)活動(dòng)產(chǎn)生愛(ài)好、追求和向往的傾向,是推動(dòng)學(xué)生積極主動(dòng)學(xué)習(xí)的直接動(dòng)力。愛(ài)因斯坦說(shuō)過(guò):“興趣是最好的老師,真正有價(jià)值的東西,并非僅僅從責(zé)任感產(chǎn)生,而是從對(duì)客觀事物的愛(ài)與熱忱中產(chǎn)生”。我國(guó)古代教育家孔子也說(shuō):“知之者不如好之者,好之者不如樂(lè)之者。”只有“好之”、“樂(lè)之”方能有高漲的學(xué)習(xí)熱情和富有創(chuàng)造性地去完成學(xué)習(xí)任務(wù)。明確學(xué)習(xí)目的,激發(fā)學(xué)習(xí)興趣
只有學(xué)習(xí)思想端正,學(xué)習(xí)目的明確,學(xué)生才會(huì)有學(xué)習(xí)的動(dòng)力,才會(huì)有學(xué)習(xí)的自覺(jué)性。有的學(xué)生認(rèn)為C語(yǔ)言已經(jīng)落伍了,沒(méi)有什么用,我們要使每個(gè)學(xué)生明確即將學(xué)習(xí)的知識(shí)與社會(huì)的關(guān)系,告訴學(xué)生學(xué)習(xí)C語(yǔ)言是建立程序設(shè)計(jì)思想,學(xué)習(xí)程序設(shè)計(jì)的各種基本概念、方法、技巧,培養(yǎng)良好的程序設(shè)計(jì)風(fēng)格。在講C語(yǔ)言程序設(shè)計(jì)課程前,收集大量招聘C語(yǔ)言編程人員的就業(yè)信息及畢業(yè)生從事C語(yǔ)言編程工作的收入、工作條件、工作崗位等學(xué)生十分關(guān)注的重要信息。同時(shí),也列舉了大量用C語(yǔ)言完成商業(yè)性軟件工程,以激發(fā)學(xué)生學(xué)習(xí)C語(yǔ)言的動(dòng)機(jī)的熱情。學(xué)生有了主動(dòng)性,才會(huì)自覺(jué)地學(xué)習(xí)這門(mén)課。
(二)設(shè)計(jì)問(wèn)題,開(kāi)發(fā)智力,引導(dǎo)學(xué)生自己解決實(shí)際問(wèn)題
在教學(xué)過(guò)程中,我們提倡學(xué)生在課堂上發(fā)現(xiàn)問(wèn)題、提出問(wèn)題,對(duì)于學(xué)生在練習(xí)中所遇到的問(wèn)題,教師不能馬上告訴答案,應(yīng)當(dāng)適當(dāng)?shù)膯l(fā)和引導(dǎo)讓學(xué)生自己找到答案,培養(yǎng)他們的思考能力。同時(shí)教師要精心設(shè)計(jì)一些富有啟發(fā)性的問(wèn)題,達(dá)到開(kāi)發(fā)學(xué)生智力的目的。這樣做有兩方面的意義:一是為了引人入勝,激發(fā)學(xué)生的學(xué)習(xí)興趣;二是對(duì)知識(shí)本身提出疑問(wèn),加深對(duì)問(wèn)題的認(rèn)識(shí)和討論,這也是推動(dòng) C 語(yǔ)言課程教學(xué)藝術(shù)化的途徑之一。
(三)強(qiáng)化課程設(shè)計(jì),加強(qiáng)學(xué)生能力培養(yǎng)
課程設(shè)計(jì)是整個(gè)課程學(xué)習(xí)的總結(jié)與提高,通過(guò)必要的課程設(shè)計(jì),切實(shí)加強(qiáng)學(xué)生的能力培養(yǎng),通常課程設(shè)計(jì)貫串整個(gè)教學(xué)環(huán)節(jié),設(shè)計(jì)內(nèi)容以具體的軟件系統(tǒng)的開(kāi)發(fā)為基礎(chǔ),重點(diǎn)讓學(xué)生掌握軟件開(kāi)發(fā)的基本思路與方法。課程設(shè)計(jì)必須以學(xué)生為主,教師的指導(dǎo)重點(diǎn)放在總體方案制定、設(shè)計(jì)進(jìn)度上。教師在課程設(shè)計(jì)過(guò)程中應(yīng)經(jīng)常到學(xué)生中去答疑,檢查學(xué)生設(shè)計(jì)進(jìn)度與設(shè)計(jì)方案、設(shè)計(jì)結(jié)果的正確性,及時(shí)發(fā)現(xiàn)問(wèn)題并輔助解決。課程設(shè)計(jì)盡量做到每個(gè)學(xué)生的設(shè)計(jì)有所差別,并要求學(xué)生獨(dú)立完成設(shè)計(jì)環(huán)節(jié)。對(duì)學(xué)生的設(shè)計(jì)方案不追求最優(yōu),只要合理就支持學(xué)生堅(jiān)持完成,最后在考評(píng)階段進(jìn)行重點(diǎn)點(diǎn)評(píng)。
課程設(shè)計(jì)結(jié)束時(shí)學(xué)生必須上交課程設(shè)計(jì)說(shuō)明書(shū),同時(shí)還要進(jìn)行答辯。學(xué)生答辯結(jié)束教師給予正確引導(dǎo),指出設(shè)計(jì)中存在的問(wèn)題,并指導(dǎo)學(xué)生如何完善。答辯前學(xué)生要事先準(zhǔn)備大量的知識(shí)點(diǎn),答辯過(guò)程不但鍛煉學(xué)生的表達(dá)能力,還能使學(xué)生認(rèn)識(shí)到自己的設(shè)計(jì)的優(yōu)缺點(diǎn),也了解了別人的設(shè)計(jì)思想,開(kāi)闊了視野??偨Y(jié)
本課程的教學(xué)內(nèi)容是十分豐富的,教學(xué)方法的采用應(yīng)當(dāng)以服務(wù)教學(xué)內(nèi)容為準(zhǔn)則,教學(xué)是一種互動(dòng)活動(dòng),在教學(xué)活動(dòng)中,應(yīng)當(dāng)大力發(fā)揮教師的“教”的主導(dǎo)性,調(diào)動(dòng)學(xué)生“學(xué)”的積極性,做到密切配合教學(xué)相長(zhǎng)。在教學(xué)活動(dòng)中,不但要注意對(duì)C語(yǔ)言這門(mén)課的“精講”,而且要注重編程能力的培養(yǎng)。即不但要使學(xué)生“學(xué)會(huì)”一門(mén)語(yǔ)言,更重要的是使學(xué)生“會(huì)學(xué)”,培養(yǎng)學(xué)生的開(kāi)拓性,開(kāi)發(fā)學(xué)生的創(chuàng)造性思維,從而為掌握計(jì)算機(jī)這個(gè)工具,更好地解決實(shí)際問(wèn)題打下一個(gè)良好的基礎(chǔ)。任何一門(mén)課程的教學(xué),都包含教與學(xué)兩個(gè)方面,只有很好的組織這兩個(gè)環(huán)節(jié),才能切實(shí)提高我們的教學(xué)效果,才能讓學(xué)生學(xué)到更好的有用的知識(shí),才能避免理論與實(shí)踐脫鉤,也才能充分調(diào)動(dòng)學(xué)生的積極性。
第三篇:C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)探討
C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)探討
羅××
(湖南理工學(xué)院物電學(xué)院電子09-2BF班,學(xué)號(hào)14092500×××,序號(hào)003,湖南 岳陽(yáng) 414000)
摘要:本文對(duì)c語(yǔ)言的難點(diǎn)、學(xué)習(xí)方法等方面作了簡(jiǎn)要的介紹,并談到了一些個(gè)人的學(xué)習(xí)心得,僅供參考。
關(guān)鍵字:C語(yǔ)言;程序結(jié)構(gòu);指針;心得體會(huì)
A Study of the Learning of C Language Program Design
Luo × ×
(Hunan Institute of Science and Technology, school of Physics and Electronics, Yueyang,Hunan, China 414000)
Abstract: In this paper,C language's difficulties, learning methods are briefly introduced
and describes some of the personal learning experience, for reference only.Key words: C language;program structure;pointer;feelings and experience
C語(yǔ)言是在國(guó)內(nèi)外廣泛使用的一種計(jì)算機(jī)語(yǔ)言,它具有功能豐富、表達(dá)能力強(qiáng)、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性高等特點(diǎn),但由于c語(yǔ)言牽涉的概念比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯(cuò),不少初學(xué)者感到困難。在此
本人談?wù)勛约旱捏w會(huì)和見(jiàn)解。1我的C語(yǔ)言基礎(chǔ)分析
通過(guò)上學(xué)期所開(kāi)設(shè)的《c語(yǔ)言程序設(shè)計(jì)》課程的學(xué)習(xí),我對(duì)c語(yǔ)言有了初步的認(rèn)
識(shí)和理解,對(duì)數(shù)據(jù)的結(jié)構(gòu)和存儲(chǔ)方式、程序設(shè)計(jì)的語(yǔ)法算法以及程序的調(diào)試都具備了一定的理論基礎(chǔ)。通過(guò)上機(jī)親自編寫(xiě)和調(diào)試小程序,掌握編程的常見(jiàn)方法和步驟,我的實(shí)踐能力也得到了不少的提高。但總的來(lái)說(shuō),我的基礎(chǔ)還是比較薄弱的,我希望通過(guò)下一階段的學(xué)習(xí)得到更大的提高。
2C語(yǔ)言的學(xué)習(xí)難點(diǎn)
就個(gè)人而言,我覺(jué)得c語(yǔ)言學(xué)習(xí)的難點(diǎn)在于邏輯算法和結(jié)構(gòu)控制。我自己在編
程的時(shí)候常常是知道如何用數(shù)學(xué)方式表達(dá)出來(lái),但要轉(zhuǎn)化成程序設(shè)計(jì)語(yǔ)言就比較困難,其一是因?yàn)楸磉_(dá)式的語(yǔ)法規(guī)則繁多運(yùn)用不如自然語(yǔ)言的語(yǔ)法得心應(yīng)手導(dǎo)致出現(xiàn)很多錯(cuò)誤,其二是因?yàn)閷?duì)邏輯思維的要求較高,要實(shí)現(xiàn)一個(gè)程序功能,其流程控制顯得比較難,一個(gè)小小的步驟不能實(shí)現(xiàn)就會(huì)使整個(gè)程序編寫(xiě)寸步難行。所以多做編程練習(xí)顯得尤其重要,這也是真正提高編程水平的最根本的方法。
3指針的學(xué)習(xí)心得體會(huì)
指針是c語(yǔ)言的一個(gè)特色,也是c語(yǔ)言學(xué)習(xí)中最難掌握的部分,一是因?yàn)樗某橄笮裕且驗(yàn)樗撵`活性。通過(guò)指針的運(yùn)用可以實(shí)現(xiàn)用其他語(yǔ)句所不能實(shí)現(xiàn)的功能,它也可以使程序變得簡(jiǎn)潔、緊湊、高效。指針既是地址,它牽涉到數(shù)據(jù)的存
儲(chǔ)和訪問(wèn)方式,這往往是比較隱晦的,若還和數(shù)組及函數(shù)等結(jié)合更讓人費(fèi)解,比如
說(shuō)如何理解“指向指針的指針”。指針變量的靈活運(yùn)用也是個(gè)比較難掌握的的技能,我在使用它的時(shí)候通常都畫(huà)出它在內(nèi)存中的示意圖,以便能清晰看到它的運(yùn)算和引
用過(guò)程,這對(duì)加強(qiáng)初學(xué)者對(duì)指針的運(yùn)作機(jī)制的理解是很有幫助的。
4對(duì)教師教學(xué)的建議
梅老師授課很細(xì)致認(rèn)真,對(duì)知識(shí)點(diǎn)的細(xì)節(jié)問(wèn)題尤其講得很透徹,使我們對(duì)c語(yǔ)
言的理論知識(shí)的全面掌握很有幫助。但我們最缺少的是上機(jī)實(shí)踐,以前在上機(jī)課上,我們遇到的困難和問(wèn)題往往不能立即得到老師的指導(dǎo),課后往往就不會(huì)再去仔細(xì)鉆
研它們,這使得我們的問(wèn)題累積得越來(lái)越多,所以希望老師能把理論和實(shí)踐很好的結(jié)合起來(lái),才能高效迅速提高我們的編程水平。
5總結(jié)本學(xué)期C語(yǔ)言學(xué)習(xí)的收獲
本學(xué)期通過(guò)仔細(xì)聽(tīng)了梅老師的每一節(jié)課,首先在c語(yǔ)言理論學(xué)習(xí)上又更進(jìn)了一
層樓,以前很模糊的概念、不太重視的細(xì)節(jié)問(wèn)題和雜亂的知識(shí)體系現(xiàn)在都很清晰明
了了,其次對(duì)程序設(shè)計(jì)語(yǔ)言的結(jié)構(gòu)和特點(diǎn)有了更好的理性認(rèn)識(shí),至少不會(huì)再犯一些
低級(jí)的語(yǔ)法錯(cuò)誤。最重要的是學(xué)到了程序設(shè)計(jì)的思想以及思維方式,這對(duì)于我們的學(xué)習(xí)、工作、生活各個(gè)方面都是有幫助的,使得我們?cè)谔幚砥渌聞?wù)時(shí)也能有個(gè)清
晰的邏輯思維和程序化的處理方法。
參考文獻(xiàn)
[1] 譚浩強(qiáng)著.C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005
[2] 李麗娟,馬淑萍主編.C語(yǔ)言程序設(shè)計(jì)(第二版).北京:中國(guó)鐵道出版社,2009
作者簡(jiǎn)介:羅××(1991-),男,湖南衡陽(yáng)人,湖南理工學(xué)院物電學(xué)院本科學(xué)生,主要研究方向
為電子技術(shù)。
第四篇:C語(yǔ)言程序設(shè)計(jì)報(bào)告(精選)
C語(yǔ)言程序設(shè)計(jì)報(bào)告
(二)第一章:使用數(shù)組和指針統(tǒng)計(jì)成績(jī)
1.設(shè)計(jì)題目:假設(shè)給定班級(jí)各科考試平均成績(jī)的原始資料如下
數(shù)學(xué):75 物理:80 外語(yǔ):83 政治:85 體育:86 人數(shù):30
要求統(tǒng)計(jì)出全班學(xué)期總平均成績(jī)以及得分最低的科目和該科目的成績(jī)。要求的輸出結(jié)果如下:
全班各科平均成績(jī)?nèi)缦拢?數(shù)學(xué):75 物理:80 外語(yǔ):83 政治:85 體育:86 人數(shù):30 統(tǒng)計(jì)結(jié)果如下: 人數(shù):30
平均成績(jī):81
最低分?jǐn)?shù)科目的成績(jī):75 最低分?jǐn)?shù)的科目:數(shù)學(xué)
2.設(shè)計(jì)要求
對(duì)存放原始數(shù)據(jù)的要求如下:
(1)、使用整形數(shù)組a數(shù)學(xué)、物理、外語(yǔ)、政治、體育、人數(shù)、平均成績(jī)、最低科目成績(jī) ;
(2)、使用字符串?dāng)?shù)name存放數(shù)學(xué)、物理、外語(yǔ)、政治、體育、最低分?jǐn)?shù)的科目
(3)、使用字符串?dāng)?shù)組MeanLow存放人數(shù)、平均成績(jī)、最低分?jǐn)?shù)科目的成績(jī)、最低分?jǐn)?shù)的科目。
實(shí)現(xiàn)本設(shè)計(jì)功能的方法很多,這里給出4種難易成度不同的要求,以便加深對(duì)數(shù)組和指針知識(shí)的理解。
1.使用數(shù)組實(shí)現(xiàn)
使用數(shù)組和指針數(shù)組實(shí)現(xiàn)。2..使用分配的內(nèi)存實(shí)現(xiàn)
要求將數(shù)組a的內(nèi)容存入到分配的內(nèi)存中,使用指針實(shí)現(xiàn)對(duì)內(nèi)存的存取和計(jì)算。
3.將數(shù)組內(nèi)容全部存入內(nèi)存
為字符分配內(nèi)存,并將字符數(shù)組的內(nèi)容存入所分配的內(nèi)存中,使用指針來(lái)實(shí)現(xiàn)。
源程序:
int pingjun(int *x);int zuidi(int *x);
int kemu(int *y,int n);#include
int kemu(int *y,int n){int i, t=y[0],m=0;for(i=1;i {if(t>y[i]){t=y[i];m++;} } return m;} int pingjun(int *x){int sum=0 ,i,aver;for(i=0;i<5;i++)sum=sum+x[i];aver=sum/5;return aver;} void main() {int a[9]={75,80,83,85,86,30},i,x; char *name[5]={“數(shù)學(xué)”,“物理”,“外語(yǔ)”,“政治”,“體育”}; char *meanlow[4]={“人數(shù)”,“平均成績(jī)”,“最低分?jǐn)?shù)科目成績(jī)”,“最低分科目”}; printf(“原始信息如下:n”);for(i=0;i<5;i++) printf(“%s:%dn”,name[i],a[i]);for(i=0;i<4;i++) printf(“%s:%dn”,meanlow[i],a[i+5]);printf(“全班各科平均成績(jī)?nèi)缦拢簄”);for(i=0;i<5;i++) printf(“%s:%dn”,name[i],a[i]);printf(“統(tǒng)計(jì)結(jié)果如下:n”); printf(“%s:%dn”,meanlow[0],a[5]); printf(“%s:%dn”,meanlow[1],pingjun(a));printf(“%s:%dn”,meanlow[2],zuidi(a));x=kemu(a,5); printf(“%s:%sn”,meanlow[3],name[x]);} 2009年8月 中 國(guó) 管理信息化 Aug..2009 China Informationization V01.12,No.16 第12卷第16期 Management 淺談如何學(xué)習(xí)C++語(yǔ)言程序設(shè)計(jì) 孟艷濤1,邵長(zhǎng)海2(1.長(zhǎng)春廣播電視大學(xué),長(zhǎng)春130051;2.東北師范大學(xué)附屬實(shí)驗(yàn)學(xué)校,長(zhǎng)春130011)[摘要]c++語(yǔ)言程序設(shè)計(jì)是一門(mén)高效實(shí)用的程序設(shè)計(jì)語(yǔ)言,學(xué)習(xí)c++語(yǔ)言程序設(shè)計(jì),并且要實(shí)質(zhì)性地提高編程 能力,有兩個(gè)關(guān)鍵因素:一個(gè)是做編程書(shū)面練習(xí)。一個(gè)是上機(jī)做實(shí)驗(yàn)。 [關(guān)鍵詞]c++語(yǔ)言;編程練習(xí);上機(jī)實(shí)驗(yàn) doi:10.3969/j.issn.1673―0194.2009.16.044 [中圖分類號(hào)]TP311[文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)】1673-0194{2009)16―0128―02 C++是一門(mén)高效實(shí)用的程序設(shè)計(jì)語(yǔ)言,它既可進(jìn)行endl; 過(guò)程化程序設(shè)計(jì),也可進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)。c++語(yǔ) eout “\n請(qǐng)輸入球半徑:\n”; 言強(qiáng)調(diào)對(duì)高級(jí)抽象的支持。c++實(shí)現(xiàn)了類的封裝、數(shù)據(jù) cin radius: 隱藏、繼承及多態(tài),使得其代碼容易維護(hù)及高度可重用。double 隨著C++漸漸成為ANSI標(biāo)準(zhǔn),這種新的面向?qū)ο蟪绦?/p> 設(shè)汁語(yǔ)言迅速成了程序員最廣泛使用的工具。endl: double 學(xué)習(xí)c++語(yǔ)言程序設(shè)計(jì),并且要實(shí)質(zhì)性地提高編程能 length,width; 力,有兩個(gè)關(guān)鍵因素:一個(gè)是做編程書(shū)面練習(xí),一個(gè)是上機(jī) eout “、n請(qǐng)輸入長(zhǎng)方體的長(zhǎng)、寬、高:\n”; 做實(shí)驗(yàn)。在初級(jí)程序設(shè)計(jì)的能力培養(yǎng)中,唯有多練,才能 cin. length width height; 真正找到編程的感覺(jué),才能培養(yǎng)出寶貴的編程經(jīng)驗(yàn)。volume=length木width木height: 一、做編程書(shū)面練習(xí) C++的難學(xué),不僅在它那廣博的語(yǔ)法、語(yǔ)法背后的endl; 語(yǔ)義、語(yǔ)義背后的深層思維、深層思維背后的對(duì)象模 } 型;c++的難學(xué),還在于它提供了不同的編程思維模型,運(yùn)行結(jié)果為: 要想學(xué)好c++,只有經(jīng)常思考、大量做題。通過(guò)做題加深 請(qǐng)輸入圓柱體的半徑和高: 對(duì)概念的理解,提高程序設(shè)計(jì)和解決問(wèn)題的能力。墼 絲 548 例如下面的問(wèn)題,我們就可以用不同的方法來(lái) 該圓柱體的體積為:141 解答。請(qǐng)輸入球半徑: 分別輸入圓柱體的半徑和高,求其體積;輸入球半 30 309.7 徑,求其表面積;輸入長(zhǎng)方體的長(zhǎng)、寬、高,求其體積。該球面的面積為:11 [解法一]由于其中的3個(gè)問(wèn)題是相互獨(dú)立的,所 請(qǐng)輸入長(zhǎng)方體的長(zhǎng)、寬、高: 以,解決方法也是依次來(lái)解決這3個(gè)問(wèn)題。先輸入第 32 12 15 一個(gè)問(wèn)題的半徑和高,計(jì)算并輸出圓柱體的體積;然后 該長(zhǎng)方體的體積為:5760 輸入球半徑,計(jì)算球表面積并輸出;然后輸入長(zhǎng)、寬、[解法二]對(duì)于一個(gè)復(fù)雜的計(jì)算問(wèn)題,也可以采用 高,計(jì)算長(zhǎng)方體的體積并輸出。分而治之的方法,即用函數(shù)調(diào)用分別完成預(yù)訂的“小任 #include iostream.h 務(wù)”,返回其計(jì)算結(jié)果。當(dāng)然這些“小任務(wù)”要預(yù)先聲 #include math.h 明,若要能運(yùn)行,還必須有其定義: void #include iostream.h mai.(){ #include math.h double double r,doubleh); radiusCylinder(double double,height ; eouI “請(qǐng)輸入圓柱體的半徑和高:、n”; Sphere(doubler); double ein radius height : Rectangle(doublel,doubleW,doubleh); void double main()volume=radius木height木M―PI; t cout “該圓柱體的體積為:” volume double radiusheight; 【收稿日期]2009―03―13 eout “請(qǐng)輸入圓柱體的半徑和高:\n”; 128/C卜扭悄MANAG日征:N1一ⅡⅥ'0R^噍A刀。脅了10N 萬(wàn)方數(shù)據(jù) 教學(xué)研究 cin radius height: 現(xiàn)錯(cuò)誤,就需要從第5行開(kāi)始往前查找錯(cuò)誤并修改。 double(2)一條語(yǔ)句錯(cuò)誤可能會(huì)產(chǎn)生若干條錯(cuò)誤信息只 volume=Cylinder(radius,height)cout “該圓柱體的體積為:” volume 要修改了這條錯(cuò)誤,其他錯(cuò)誤會(huì)隨之消失。一般情況 endl; 下,第一條錯(cuò)誤信息最能反映錯(cuò)誤的位置和類型,所以,cout “請(qǐng)輸入球半徑:\n”; 調(diào)試程序時(shí)務(wù)必根據(jù)第一條錯(cuò)誤信息進(jìn)行修改,修改 cin radius: 后,立即運(yùn)行程序,如果還有很多錯(cuò)誤,要一個(gè)一個(gè)地 doubleareaOf Sphere=Sphere(radius);修改,即,每修改一處錯(cuò)誤要運(yùn)行一次程序。 (3)程序設(shè)計(jì)者經(jīng)常會(huì)遇到輸入到計(jì)算機(jī)中的源 cout “該球面的面積為:” areaOfSphere endl; 程序在通過(guò)編譯后,運(yùn)行時(shí)卻得不到正確的結(jié)果,這就 double 要求程序設(shè)計(jì)者從源程序中查找錯(cuò)誤并進(jìn)行修改,再 length,width; cout “請(qǐng)輸入長(zhǎng)方體的長(zhǎng)、寬、高:\n”; 運(yùn)行直到正確為止。 例如: cin length width height: if(n 0)volume=Rectangle(1ength,width,height)cout “該長(zhǎng)方體的體積為:” volume if(a b)z=a; endl; else z=b: 表是 ’還是 double Cylinder(doubler,doubleh) if(n 達(dá)的0){ if(n 0){ { if(a b)z=aif(a b)Z=a; return else r術(shù) r 術(shù) M ―Z=b; } else Z=b; double 為在c++中從遇到的第一個(gè)else Sphere(doubler){ 它最近的if配對(duì)。如果程序設(shè)計(jì)者要 return4{lcr木r術(shù)M―PI: 的意思就會(huì)出現(xiàn)上面說(shuō)的問(wèn)題:可以通 確的結(jié)果。程序設(shè)計(jì)者就需要認(rèn) ; PI 半 h: } 答案是前者。因開(kāi)始,else總與離表達(dá)的是后者過(guò)編譯,但得不到正 double l,doubleW,doubleh)真檢查源程序,做出正確的修改: Rectangle(double { 程序設(shè)計(jì)者要想表達(dá)的是后者的意思,則一定要 return1術(shù)W:Ich: 用{}。但在if語(yǔ)句的else前嵌套另一個(gè)if語(yǔ)句容易使 } 所表達(dá)的邏輯關(guān)系難于理解,應(yīng)加以避免。改成下面 該程序與上一個(gè)程序的功能一樣。但是分別將3 這種方式會(huì) id=“l(fā)oadingAD”> class=“ad_box”> 文檔為doc格式 C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)心得體會(huì) 通過(guò)一學(xué)期對(duì)C語(yǔ)言的學(xué)習(xí),我感覺(jué)學(xué)習(xí)C語(yǔ)言是有一定難度卻又是非常有趣的科目。也是很有幫助的,特別是對(duì)將要面對(duì)的計(jì)算機(jī)二級(jí)考試。 這段時(shí)間的學(xué)...... 實(shí)習(xí)報(bào)告 題 目: C語(yǔ)言程序設(shè)計(jì) 所屬系、部 : 電氣工程學(xué)院 班 級(jí): 電子商務(wù)131 姓 名:賀道君 學(xué)號(hào): 20***5 指 導(dǎo) 教 師: 費(fèi) 玲 玲2014年6月 一、 實(shí)習(xí)目的 加深...... 大連東軟信息學(xué)院 電子工程系 2015級(jí) 本科 C語(yǔ)言圖形程序設(shè)計(jì)報(bào)告 系所: 專業(yè): 電子工程系 通信工程 學(xué)生姓名: 湯程皓 學(xué)生學(xué)號(hào): *** 完成日期: 2015 年 12 月 大連東軟...... 1. Problem A: Hello world! Description Xiao_ming有兩個(gè)哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放學(xué)回家,父母分別跟他們打招呼。 Input 無(wú) Output 請(qǐng)輸出: Hello Da_min, He...... 《C 語(yǔ)言程序設(shè)計(jì)》主要在計(jì)算機(jī)軟件、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)應(yīng)用、通信技術(shù)、智能電子、電子信息工程、多媒體以及核工程與核技術(shù)等專業(yè)中開(kāi)設(shè),是電子信息類、機(jī)械類等工科專業(yè)...... 《匯編語(yǔ)言程序設(shè)計(jì)》學(xué)習(xí)總結(jié)與心得 其實(shí)說(shuō)實(shí)話在學(xué)這門(mén)課之前自己對(duì)匯編語(yǔ)言一點(diǎn)都不了解,只知道它也是一種語(yǔ)言,而且是一門(mén)很少用的語(yǔ)言,可能很多人都是這么想的,或許在學(xué)這...... 太原理工大學(xué)現(xiàn)代科技學(xué)院 C語(yǔ)言程序設(shè)計(jì)課程 實(shí)驗(yàn)報(bào)告 專業(yè)班級(jí)學(xué)號(hào)姓名指導(dǎo)教師C語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)指導(dǎo)及報(bào)告 實(shí)驗(yàn)說(shuō)明: 1、共4次實(shí)驗(yàn),每次實(shí)驗(yàn)完成1個(gè)內(nèi)容。 2、實(shí)驗(yàn)報(bào)告...... 程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告 課程名稱: 課程設(shè)計(jì)題目: 程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì) 學(xué)生信息管理系統(tǒng) 姓名: 系: 專業(yè): 年級(jí): 學(xué)號(hào): 指導(dǎo)教師: 職稱: 計(jì)算機(jī)科學(xué)技術(shù)系 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù) 講師 2......第五篇:淺談如何學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)
聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。 C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)心得體會(huì)(范文大全)
C語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)報(bào)告
C語(yǔ)言圖形程序設(shè)計(jì)報(bào)告
C語(yǔ)言程序設(shè)計(jì)
C 語(yǔ)言程序設(shè)計(jì)
《語(yǔ)言程序設(shè)計(jì)》學(xué)習(xí)總結(jié)與心得
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)及報(bào)告
C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告