在本學(xué)期學(xué)習(xí)C語(yǔ)言將近一個(gè)學(xué)期后,我們進(jìn)行了C語(yǔ)言實(shí)訓(xùn),做了一個(gè)比較復(fù)雜、功能較全的學(xué)籍管理系統(tǒng)。雖然實(shí)訓(xùn)為期不長(zhǎng),但對(duì)我C語(yǔ)言水平的提高和對(duì)C的認(rèn)識(shí)理解有很大幫助。
在這次實(shí)訓(xùn)中,我對(duì)C語(yǔ)言有了一個(gè)更深的了解認(rèn)識(shí),也使我這個(gè)學(xué)期學(xué)的知識(shí)得到了鞏固。雖然在實(shí)訓(xùn)中遇到了許多的困難,比方說(shuō)一開(kāi)始在文件方面的知識(shí)比較薄弱,在對(duì)輸入的數(shù)據(jù)保存、已輸入條數(shù)的統(tǒng)計(jì)方面做得不足。但經(jīng)過(guò)自己對(duì)文件內(nèi)容的學(xué)習(xí)和向他人的請(qǐng)教,在這方面的知識(shí)得到補(bǔ)充,問(wèn)題也得到了解決。在這次實(shí)訓(xùn)中,當(dāng)自己每次解決一個(gè)問(wèn)題時(shí),當(dāng)自己經(jīng)過(guò)多次調(diào)試、修改使程序得以運(yùn)行時(shí),自己心中那份自信、滿足、愜意感油然而生。經(jīng)過(guò)這次實(shí)訓(xùn),使我加強(qiáng)了對(duì)C語(yǔ)言的興趣。
同時(shí)在這次實(shí)訓(xùn)中,也使我發(fā)現(xiàn)了許多的問(wèn)題。
在實(shí)訓(xùn)中,我認(rèn)識(shí)到自己還有很多的知識(shí)沒(méi)學(xué)好,基礎(chǔ)知識(shí)沒(méi)理清,而且許多東西還要去翻書,去上網(wǎng)搜索。而且遇到一些小錯(cuò)誤運(yùn)行不出來(lái),就會(huì)煩躁不安,覺(jué)得有些自暴自棄,以后要克服,盡量保持一顆良好的心態(tài),學(xué)好C語(yǔ)言,也學(xué)好用C語(yǔ)言編寫一個(gè)按要求的系統(tǒng)。
同時(shí)這次實(shí)訓(xùn)也使我更加深化了C語(yǔ)言學(xué)習(xí)方法。算法是程序的靈魂,在我們每遇到一個(gè)比較復(fù)雜的編程問(wèn)題時(shí),我們應(yīng)該先寫出該問(wèn)題解決的算法,然后再去實(shí)現(xiàn)編代碼。做到了這樣,問(wèn)題才能更快地解決。軟件開(kāi)發(fā)少不了合作,只有合作才能共同提高,只有互補(bǔ)才能取長(zhǎng)補(bǔ)短,共同進(jìn)步。
通過(guò)這次實(shí)訓(xùn),我也認(rèn)識(shí)到自己有許多的方面需要改進(jìn)和有待提高。
對(duì)于以后,我會(huì)從以下幾方面繼續(xù)努力:
1、加強(qiáng)對(duì)算法的學(xué)習(xí),達(dá)到精通一些基本算法的水平。
2、編程多加強(qiáng)實(shí)踐,多上機(jī)學(xué)習(xí)。
3、打好基礎(chǔ),扎實(shí)功底,注重基礎(chǔ)理論學(xué)習(xí),不好高騖遠(yuǎn)。
4、加強(qiáng)和同學(xué)的合作,遇到問(wèn)題多討論,多尋找解決問(wèn)題的方法,
總之,這一切將對(duì)我C語(yǔ)言的學(xué)習(xí)有很大幫助。
在這個(gè)學(xué)期的實(shí)習(xí)過(guò)程中,我們進(jìn)行了為期倆個(gè)禮拜的c語(yǔ)言實(shí)習(xí)。首先得保證的一點(diǎn)就是我們要按時(shí)實(shí)習(xí),遵守實(shí)習(xí)規(guī)則。在科技高度發(fā)展的今天,計(jì)算機(jī)在人們之中的作用越來(lái)越突出。而c語(yǔ)言作為一種計(jì)算機(jī)的語(yǔ)言,我們學(xué)習(xí)它,有助于我們更好的了解計(jì)算機(jī),與計(jì)算機(jī)進(jìn)行交流,也有助于我們專業(yè)課的學(xué)習(xí),因此,c語(yǔ)言的學(xué)習(xí)對(duì)我們尤其重要。
在這個(gè)倆個(gè)星期里,我們專業(yè)的學(xué)生在梁老師的帶領(lǐng)下進(jìn)行了c語(yǔ)言程序?qū)嵺`學(xué)習(xí)。在這之前,我們已經(jīng)對(duì)c語(yǔ)言這門課程學(xué)習(xí)了一個(gè)學(xué)期,對(duì)其有了一定的了解,但是也僅僅是停留在了解的范圍,對(duì)里面的好多東西還是很陌生,更多的在運(yùn)用起來(lái)的時(shí)候還是感到很棘手,畢竟,萬(wàn)事開(kāi)頭難嘛。
由于時(shí)間的關(guān)系,老師并沒(méi)有給我們?cè)敿?xì)的介紹,只是給我們簡(jiǎn)單的介紹了幾個(gè)比較重要的實(shí)際操作。包括了程序模塊處理.簡(jiǎn)單界面程序.高級(jí)界面程序.程序的添加修改等。上機(jī)實(shí)驗(yàn)是學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言必不可少的實(shí)踐環(huán)節(jié),特別是c語(yǔ)言靈活、簡(jiǎn)潔,更需要通過(guò)編程的實(shí)踐來(lái)真正掌握它。對(duì)于程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語(yǔ)法規(guī)定、掌握程序設(shè)計(jì)方法、提高程序開(kāi)發(fā)能力,這些都必須通過(guò)充分的實(shí)際上機(jī)操作才能完成。
學(xué)習(xí)c程序設(shè)計(jì)語(yǔ)言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時(shí)的上機(jī)時(shí)間。因?yàn)閷W(xué)時(shí)所限,課程不能安排過(guò)多的統(tǒng)一上機(jī)實(shí)驗(yàn),所以希望學(xué)生有效地利用課程上機(jī)實(shí)驗(yàn)的機(jī)會(huì),盡快掌握用c語(yǔ)言開(kāi)發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進(jìn)度,安排了5次上機(jī)實(shí)驗(yàn)。課程上機(jī)實(shí)驗(yàn)的目的,不僅僅是驗(yàn)證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機(jī)實(shí)驗(yàn)的目的可以概括為如下幾個(gè)方面:
1.加深對(duì)課堂講授內(nèi)容的理解
課堂上要講授許多關(guān)于c語(yǔ)言的語(yǔ)法規(guī)則,聽(tīng)起來(lái)十分枯燥無(wú)味,也不容易記住,死記硬背是不可取的。然而要使用c語(yǔ)言這個(gè)工具解決實(shí)際問(wèn)題,又必須掌握它。通過(guò)多次上機(jī)練習(xí),對(duì)于語(yǔ)法知識(shí)有了感性的認(rèn)識(shí),加深對(duì)它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握c語(yǔ)言的語(yǔ)法規(guī)定。對(duì)于一些內(nèi)容自己認(rèn)為在課堂上聽(tīng)懂了,但上機(jī)實(shí)踐中會(huì)發(fā)現(xiàn)原來(lái)理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計(jì),缺乏程序設(shè)計(jì)的實(shí)踐所致。
學(xué)習(xí)c語(yǔ)言不能停留在學(xué)習(xí)它的語(yǔ)法規(guī)則,而是利用學(xué)到的知識(shí)編寫c語(yǔ)言程序,解決實(shí)際問(wèn)題。即把c語(yǔ)言作為工具,描述解決實(shí)際問(wèn)題的步驟,由計(jì)算機(jī)幫助我們解題。只有通過(guò)上機(jī)才能檢驗(yàn)自己是否掌握c語(yǔ)言、自己編寫的程序是否能夠正確地解題。
通過(guò)上機(jī)實(shí)驗(yàn)來(lái)驗(yàn)證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時(shí)的心態(tài)。但是在程序設(shè)計(jì)領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯(cuò)誤的想法。因?yàn)樵谶@種思想支配下,我們可能會(huì)想辦法去"掩蓋"程序中的錯(cuò)誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問(wèn)題。自己編好程序上機(jī)調(diào)試運(yùn)行時(shí),可能有很多想不到的情況發(fā)生,通過(guò)解決這些問(wèn)題,可以逐步提高自己對(duì)c語(yǔ)言的理解和程序開(kāi)發(fā)能力。
2.熟悉程序開(kāi)發(fā)環(huán)境、學(xué)習(xí)計(jì)算機(jī)系統(tǒng)的操作方法
一個(gè)c語(yǔ)言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行。所謂"環(huán)境"就是所用的計(jì)算機(jī)系統(tǒng)硬件、軟件條件,只有學(xué)會(huì)使用這些環(huán)境,才能進(jìn)行程序開(kāi)發(fā)工作。通過(guò)上機(jī)實(shí)驗(yàn),熟練地掌握c語(yǔ)言開(kāi)發(fā)環(huán)境,為以后真正編寫計(jì)算機(jī)程序解決實(shí)際問(wèn)題打下基礎(chǔ)。同時(shí),在今后遇到其它開(kāi)發(fā)環(huán)境時(shí)就會(huì)觸類旁通,很快掌握新系統(tǒng)的使用。
3.學(xué)習(xí)上機(jī)調(diào)試程序
完成程序的編寫,決不意味著萬(wàn)事大吉。也許我們認(rèn)為萬(wàn)無(wú)一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能不斷出現(xiàn)麻煩。如編譯程序檢測(cè)出一大堆錯(cuò)誤。有時(shí)程序本身不存在語(yǔ)法錯(cuò)誤,也能夠順利運(yùn)行,但是運(yùn)行結(jié)果顯然是錯(cuò)誤的。開(kāi)發(fā)環(huán)境所提供的編譯系統(tǒng)無(wú)法發(fā)現(xiàn)這種程序邏輯錯(cuò)誤,只能靠自己的上機(jī)經(jīng)驗(yàn)分析判斷錯(cuò)誤所在。程序的調(diào)試是一個(gè)技巧性很強(qiáng)的工作,對(duì)于初學(xué)者來(lái)說(shuō),盡快掌握程序調(diào)試方法是非常重要的。有時(shí)候一個(gè)消耗幾個(gè)小時(shí)時(shí)間的小小錯(cuò)誤,老師一眼就看出錯(cuò)誤所在。
時(shí)光飛逝,轉(zhuǎn)眼間為期倆周的實(shí)習(xí)結(jié)束了。在這期間,我學(xué)到了我也深刻的體會(huì)到,不管是做什么,首先對(duì)自己要有信心,其次要有奉獻(xiàn)和吃苦的精神,再次要有創(chuàng)新精神和能力;同時(shí)我也悟到了許多,實(shí)習(xí),是生活的又一個(gè)學(xué)習(xí)的平臺(tái),我們要有團(tuán)結(jié)協(xié)作,善于溝通的能力。團(tuán)結(jié)起來(lái),發(fā)揮集體的力量,那樣才能事半功倍!團(tuán)結(jié)、溝通是非常必要的。 通過(guò)這次為數(shù)不多的幾天c語(yǔ)言實(shí)習(xí),我們了解了一些關(guān)于c語(yǔ)言的知識(shí),理解鞏固了我們c語(yǔ)言的理論知識(shí),著對(duì)我們將來(lái)到社會(huì)工作將會(huì)有莫大的幫助。同時(shí)它讓我知道,只要你努力,任何東西都不會(huì)太難。
看了一段時(shí)間的《C和指針》,這樣看的效果不是很好,看著書本當(dāng)時(shí)是懂了,有點(diǎn)恍然大悟的感覺(jué),但是發(fā)現(xiàn)并不能真正的把理解的內(nèi)容加入到自己程序當(dāng)中,不能很好的去運(yùn)用它,所以對(duì)于C語(yǔ)言我認(rèn)為理論加實(shí)踐,是學(xué)習(xí)C語(yǔ)言的最好方法,看書并不能完全理解書中的內(nèi)容,也較容易遺忘,學(xué)習(xí)效率比較低,所以現(xiàn)在學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》,在看書的同時(shí),會(huì)在Microsoft Visual C++ 6.0軟件上實(shí)踐,嚴(yán)蔚敏寫的《數(shù)據(jù)結(jié)構(gòu)》這本書,比較經(jīng)典但是這本書是偽算法,并不能直接在計(jì)算機(jī)上運(yùn)行,對(duì)于初學(xué)者上機(jī)實(shí)踐比較困難,另外說(shuō)一下,我認(rèn)為學(xué)習(xí)應(yīng)該是在模仿中理解,在模仿中創(chuàng)新,所以我選擇結(jié)合高一凡寫的書《數(shù)據(jù)結(jié)構(gòu)算法實(shí)現(xiàn)及解析》,這本書嚴(yán)蔚敏寫的偽算法全部用程序?qū)崿F(xiàn)了,給我上機(jī)實(shí)踐提供了很大的幫助,貌似說(shuō)到數(shù)據(jù)結(jié)構(gòu)了,呵呵,回到正題,下面繼續(xù)說(shuō)說(shuō)C語(yǔ)言。
指針是C語(yǔ)言的精華,也是C語(yǔ)言的難點(diǎn),它就像一把雙刃劍,鋒利無(wú)比但運(yùn)用的不好也會(huì)給自己帶來(lái)危害,后果比較嚴(yán)重,所以重點(diǎn)來(lái)說(shuō)說(shuō)指針。 很多初學(xué)者弄不清指針和數(shù)組到底有什么樣的關(guān)系,為避免混淆不清,下面總結(jié)一下指針和數(shù)組的特性。指針是保存數(shù)據(jù)的地址,任何存入指針變量的數(shù)據(jù)都會(huì)被當(dāng)作地址來(lái)處理,指針變量本身的地址由編譯器另外存儲(chǔ),存儲(chǔ)在哪里,我們并不知道,間接訪問(wèn)數(shù)據(jù),首先取得指針變量的內(nèi)容,把它作為地址,然后從這個(gè)地址讀或?qū)懭霐?shù)據(jù)。指針可以用間接訪問(wèn)操作符(_)訪問(wèn),也可以用以下標(biāo)的形式訪問(wèn),指針一般用于動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)。數(shù)組是用來(lái)保存數(shù)據(jù)的,數(shù)組名代表的是數(shù)組首元素的地址而不是數(shù)組的首地址,所以數(shù)組p與&p是有區(qū)別的,雖然內(nèi)容相同,但意義卻不同,&p才是整個(gè)數(shù)組的首地址,數(shù)組名是整個(gè)數(shù)組的名字,數(shù)組內(nèi)每個(gè)元素并沒(méi)有名字,不能把數(shù)組當(dāng)一個(gè)整體來(lái)進(jìn)行讀寫操作。當(dāng)然數(shù)組在初始化時(shí)也有例外,如int p[]=“12345”是合法的。數(shù)組可以以指針的形式訪問(wèn)如_(p+i);也可以以下標(biāo)的形式訪問(wèn)p[i],但其本質(zhì)都是p所代表的數(shù)組首元素的地址加上i_sizeof(類型)個(gè)字節(jié)作為數(shù)據(jù)的真正地址來(lái)進(jìn)行訪問(wèn)的。數(shù)組通常用于存儲(chǔ)固定數(shù)目且數(shù)據(jù)類型相同的元素。剛開(kāi)始的時(shí)候我
有點(diǎn)分不清指針數(shù)組和數(shù)組指針,現(xiàn)在也總結(jié)一下,指針數(shù)組,首先它是一個(gè)數(shù)組,數(shù)組的每個(gè)元素都是指針,可以理解為“存儲(chǔ)指針的數(shù)組”的簡(jiǎn)稱,數(shù)組指針,首先它是一個(gè)指針,它指向一個(gè)數(shù)組,在32位系統(tǒng)下永遠(yuǎn)只占4個(gè)字節(jié),至于它指向的數(shù)組有多少個(gè)字節(jié),并不知道,可以理解為“指向數(shù)組的指針”。舉個(gè)例子,int _p1[10]與int (_p2) [10], 要理解這個(gè)問(wèn)題,首先要清楚操作符的優(yōu)先級(jí),“[]” 的優(yōu)先級(jí)比“_” 的優(yōu)先級(jí)高,所以首先p1與“[10]”結(jié)合構(gòu)成一個(gè)數(shù)組p1[10],int _為修飾數(shù)組的內(nèi)容,所以數(shù)組元素是指向int類型的指針,所以這個(gè)是指針數(shù)組,“()” 的優(yōu)先級(jí)比“[]” 的優(yōu)先級(jí)高,“_”與p2結(jié)合構(gòu)成一個(gè)指針變量,int修飾數(shù)組的內(nèi)容,即數(shù)組的每個(gè)元素,數(shù)組這里并沒(méi)有名字,是個(gè)匿名數(shù)組,現(xiàn)在清楚了p2是一個(gè)指針,它指向一個(gè)包含10個(gè)int類型數(shù)據(jù)的數(shù)組,即為數(shù)組指針。下面再說(shuō)說(shuō)內(nèi)存管理,內(nèi)存分為三個(gè)部分:靜態(tài)區(qū)、堆、棧。其實(shí)堆棧就是棧,而不是堆。靜態(tài)區(qū)是保存自動(dòng)全局變量和static變量。靜態(tài)區(qū)的內(nèi)容在整個(gè)程序的生命周期內(nèi)都存在,由編譯器在編譯的時(shí)候分配。堆是由malloc系統(tǒng)函數(shù)分配內(nèi)存的。其生命周期由free和delete決定。棧保存局部變量。棧上的內(nèi)容只在函數(shù)范圍內(nèi)存在,當(dāng)函數(shù)運(yùn)行結(jié)束,這些內(nèi)容也會(huì)自動(dòng)被銷毀。再說(shuō)說(shuō)有關(guān)內(nèi)存需要注意的地方,定義了指針變量,在使用之前一定要初始化使它指向一塊合法的內(nèi)存,不管什么時(shí)候,我們?cè)谑褂弥羔樦耙欢ㄒ_保指針是有效的。使用malloc系列函數(shù)分配內(nèi)存,使用完之后應(yīng)及時(shí)釋放內(nèi)存,以防止內(nèi)存泄露。
最后總結(jié)的說(shuō)一下學(xué)習(xí)C語(yǔ)言的方法就是編程編程再編程,理論學(xué)習(xí)與上機(jī)操作同時(shí)進(jìn)行,另外在編程序的過(guò)程中要養(yǎng)成良好的編程習(xí)慣。
C語(yǔ)言是在國(guó)內(nèi)外廣泛使用的一種計(jì)算機(jī)語(yǔ)言。其語(yǔ)言功能豐富、表達(dá)能力強(qiáng)、使用靈活方便、既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具有低級(jí)語(yǔ)言的許多特點(diǎn),適合編寫系統(tǒng)軟件。其功能強(qiáng)大,不僅用在計(jì)算機(jī)上廣泛用在電子,機(jī)械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,無(wú)一例外,哪一個(gè)不是C語(yǔ)言寫的?很多新型的語(yǔ)言如,C++,Java,C#,J#,perl...都是衍生自C語(yǔ)言。掌握了C語(yǔ)言,可以說(shuō)你就掌握了很多門語(yǔ)言。
學(xué)習(xí)C程序這門課一年了,這是我們學(xué)的第一門專業(yè)課,在大學(xué)里C語(yǔ)言不但是計(jì)算機(jī)專業(yè)的必修課程而且也是非計(jì)算機(jī)專業(yè)學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)的一門必修課程。所以作為我這個(gè)計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō)當(dāng)然十分重要,老師在第一節(jié)課說(shuō)過(guò),C語(yǔ)言是計(jì)算機(jī)的基礎(chǔ),大多數(shù)軟件都需要用C語(yǔ)言來(lái)編寫,通過(guò)一個(gè)年的學(xué)習(xí),使我由初步掌握簡(jiǎn)單的應(yīng)試知識(shí)到完成高難度的深入編程,如我們?cè)诰帉懸粋€(gè)較大的程序時(shí)應(yīng)該把它分開(kāi)成幾個(gè)小程序來(lái)看,這樣會(huì)容易得多。同時(shí),我覺(jué)得C語(yǔ)言應(yīng)該是操作和理論相結(jié)合的課程,在不斷地編寫中去思考,兩者是不可分割的。
在學(xué)習(xí)一年C語(yǔ)言的過(guò)程中我也在慢慢探索怎樣才能學(xué)好C語(yǔ)言,并總結(jié)了一點(diǎn)經(jīng)驗(yàn):
要了解C語(yǔ)言就要從語(yǔ)法規(guī)為基礎(chǔ)來(lái)學(xué)習(xí)起,首先要是要了解它的結(jié)構(gòu),比如變量,首先要了解變量的定義方式(格式),其意義是什么(定義變量有什么用);其次就是要我要怎么去運(yùn)用它(我要用什么型式去應(yīng)用它)。在C語(yǔ)言的命令行中所有的語(yǔ)句都是有它自己的一定格式和形式出現(xiàn)在我們面前,所以我們?cè)趯W(xué)習(xí)某種語(yǔ)句或命令時(shí)你首先要了解的就是它的規(guī)則是什么、有什么用、怎么實(shí)現(xiàn)等。這些都是語(yǔ)法基礎(chǔ)也是C語(yǔ)言的基礎(chǔ)如果把它們都了解很好了,那么你編起程序來(lái)就很得心應(yīng)手了。比如說(shuō)IFELSE和SWITCHCASE這兩種條件語(yǔ)句都是用來(lái)判斷執(zhí)行功能的,那我要什么時(shí)侯用IF什么時(shí)侯用SWITCH呢?如果你很好地了解它們的結(jié)構(gòu)和作用的話那么就知道:若它的條件分支是多個(gè)而且條件的值是整數(shù)或是一個(gè)字符值時(shí)就會(huì)選SWITCH而不會(huì)選IF。因?yàn)槿绻麠l件分支太多時(shí)要用IF語(yǔ)句,這樣一定會(huì)出現(xiàn)IF的嵌套,如果IF的嵌套越多時(shí)程序的開(kāi)銷就會(huì)隨著增大,這樣對(duì)整個(gè)程序的運(yùn)行效率就大在降底。而SWITCH就不同,它只要比較一次就可以找出條件的結(jié)果比起嵌套IF它的效率就大大的提高了很多。不過(guò)SWITCH也有它的約束條件,就是它的條件值一定要是一個(gè)整型數(shù)或是一個(gè)字符值,所以碰到它不能解決的問(wèn)題時(shí)我們也會(huì)通常使用IF語(yǔ)句,畢竟IF語(yǔ)句它使用起來(lái)也比較方便用的范圍也比較廣。所以說(shuō)了解語(yǔ)法規(guī)則是很重要的,如果沒(méi)有一個(gè)良好的語(yǔ)法基礎(chǔ)是很難編出一個(gè)好的程序!學(xué)習(xí)好基礎(chǔ)后我們就可以開(kāi)始來(lái)編程了。
互聯(lián)網(wǎng),移動(dòng)互聯(lián)網(wǎng),無(wú)論你愿意不愿意,反正在短期之內(nèi)IT生活是肯定無(wú)法改變的了,所以我想我現(xiàn)在最喜歡的c語(yǔ)言也將可以在未來(lái)給我?guī)?lái)一份滿意的工作。
不錯(cuò),在這個(gè)IT行業(yè)正不斷增溫的年代里面,我還是選擇的計(jì)算機(jī)這個(gè)熱門的專業(yè),選擇這個(gè)專業(yè)的主要原因一來(lái)是我自己喜歡編程,二來(lái)就是這個(gè)行業(yè)只有你做得好,找份好的工作還是沒(méi)有太多問(wèn)題的。
作為全國(guó)計(jì)算機(jī)、通信、數(shù)學(xué)等相關(guān)專業(yè)參加二級(jí)考試的一門語(yǔ)言,c語(yǔ)言的強(qiáng)大地位一直沒(méi)能沒(méi)其他的java,go,c#這些編程語(yǔ)言撼動(dòng)。在學(xué)校的推薦之下,我進(jìn)入一下主要適用VC進(jìn)行軟件開(kāi)發(fā)的軟件公司里面實(shí)習(xí),雖然平時(shí)在課堂上認(rèn)真聽(tīng)講,課后會(huì)積極地參與實(shí)踐操作,但是如果要我獨(dú)立開(kāi)發(fā)出一個(gè)比較完善的系統(tǒng)的話,我感覺(jué)自己還是沒(méi)有那個(gè)能力,所以我也希望可以在實(shí)習(xí)中了解一款主要語(yǔ)言是由c語(yǔ)言編寫的軟件到底有那些模塊,這樣學(xué)到了這些編程經(jīng)驗(yàn)之后,以后畢業(yè)答辯的時(shí)候,在其他同學(xué)都只是拿出那些c#,java,vb寫出的軟件的時(shí)候可以自豪地將我的c語(yǔ)言軟件拿出來(lái)。
起初雖然我并沒(méi)有直接參與到開(kāi)發(fā)的過(guò)程中,但是在我與測(cè)試人員一起寫測(cè)試代碼,測(cè)試程序的時(shí)候你也可以發(fā)現(xiàn)原來(lái)程序可以測(cè)試。當(dāng)晚上會(huì)到學(xué)校宿舍的時(shí)候,將在公司里面學(xué)到的幾種測(cè)試思維一一實(shí)踐下就會(huì)發(fā)現(xiàn)原來(lái)自己驕傲得不得了的程序竟然到處都是錯(cuò)誤。
如果不是后面幾天,在測(cè)試組長(zhǎng)的重磅推薦之下,我可以參與到軟件的開(kāi)發(fā)過(guò)程的話,我只怕都會(huì)拋棄c語(yǔ)言直接去做一名測(cè)試人員了。令人不可思議的是,一個(gè)午間休息的時(shí)候,負(fù)責(zé)帶我的龍哥說(shuō)給我一些有趣好玩的代碼給我看看,結(jié)果里面竟然還有龍哥以前在騰訊、金山那些大公司里面做事的時(shí)候保留的一些代碼,看著那些熟悉的關(guān)鍵詞竟然像他那樣組合起來(lái),我也想要成為那樣牛逼的程序員。而且當(dāng)我知道騰訊的那些表情包什么的可以用c語(yǔ)言寫出來(lái)之后,我更加堅(jiān)定了我要好好學(xué)習(xí)c語(yǔ)言決心。
有一次,龍哥給我分配了一個(gè)小時(shí)鐘的任務(wù),雖然我沒(méi)有做過(guò)小時(shí)鐘,但是以前有過(guò)制作一個(gè)日歷的經(jīng)驗(yàn),這兩種應(yīng)該還是有不少相同之處的話,因此我就按照以前的思路,花了幾乎一天的時(shí)間才將這個(gè)功能完善了一下交個(gè)龍哥,當(dāng)時(shí)因?yàn)辇埜缢苍谮s一個(gè)功能,所以沒(méi)有及時(shí)看我的代碼,等到晚上的時(shí)候,他突然用qq離線將修改后的代碼發(fā)我,天吶,整整少了100多行代碼。
因此在后面的實(shí)習(xí)生活中,我也從龍哥那里學(xué)到不少好東西,現(xiàn)在我雖然回到了學(xué)校,但是我對(duì)于c語(yǔ)言的熱愛(ài)卻絲毫沒(méi)有降低,一有我實(shí)在解決不了的問(wèn)題我又可以去問(wèn)龍哥,所以我覺(jué)得這次c語(yǔ)言實(shí)習(xí)還是挺有意義的。
一周的C語(yǔ)言實(shí)訓(xùn),雖然時(shí)間略顯倉(cāng)促,但卻讓我學(xué)到了很多實(shí)際運(yùn)用的技能!
一、 心得與感想
首先,在實(shí)訓(xùn)中的第一步是編寫功能較為單一的小程序,雖然是小程序,但所用的知識(shí)卻都是我們本學(xué)期學(xué)習(xí)的重點(diǎn)知識(shí)。在做題的過(guò)程中讓我們把這些知識(shí)復(fù)習(xí)了一遍,強(qiáng)化了知識(shí)!
其次,這次作中所碰到的題目,在實(shí)訓(xùn)中已經(jīng)接觸過(guò),所我們都比較深知這些題目的要求和算法,因次在編寫小程序時(shí)比較快,而且算法也是比較簡(jiǎn)化,運(yùn)算準(zhǔn)確。鑒次我明白很多編程題要經(jīng)過(guò)多次編寫修改與調(diào)試,才會(huì)得到最簡(jiǎn)略的算法。
再次,平時(shí)我們學(xué)C語(yǔ)言視乎都是為了考試或者做一些比較常規(guī)的題目,而這次實(shí)訓(xùn)卻給我們的將所學(xué)知識(shí)運(yùn)用于解決實(shí)際問(wèn)題的機(jī)會(huì),讓人更有激情,這就是編寫軟件的在雛形,也讓我們感受到了編寫軟件程序的樂(lè)趣。但是不僅僅是如此,更為重要的是在運(yùn)用所學(xué)知識(shí)的過(guò)程中,記住這些知識(shí),并能夠廣泛的運(yùn)用!
c語(yǔ)言
雖然我這次是編寫一個(gè)菜單的程序,但是如果我么留心的話,我們身邊有許多電子設(shè)備都是內(nèi)置有程序的,我們也可以在此次專題實(shí)訓(xùn)過(guò)后,自行確定其他的專題進(jìn)行編寫程序,這樣可以讓我們的知識(shí)更加深化豐富!
這次實(shí)訓(xùn)似乎是對(duì)我巨大的考驗(yàn),程序在不慌不忙的進(jìn)行著,按照我自身的進(jìn)度,提前完成是沒(méi)有問(wèn)題的,但是很多客觀條件讓我不得不在最后的時(shí)間里才上交的作業(yè)。每當(dāng)我把程序?qū)懲暌院?,卻由于每一臺(tái)電腦的識(shí)別格式不一樣而導(dǎo)致我所寫的文件一次次的被損壞,盡管這樣,我仍然沒(méi)有放棄,最后還趕在截止時(shí)間到來(lái)之前上交了我的作業(yè)!
這一次編寫大作業(yè)的程序又讓我感受到學(xué)程序可以鍛煉縝密的思維了。因?yàn)槠綍r(shí)練習(xí)的都是小程序,所以句段比較少,一些錯(cuò)誤都很容易被檢查出來(lái),但是這次實(shí)訓(xùn)卻是上百段的語(yǔ)句,難以檢查,似乎也沒(méi)有經(jīng)驗(yàn)去怎么檢查,那一剎那感覺(jué)到很急,但又不知如何是好,可是又不輕易的向老師詢問(wèn),因?yàn)楹孟裥U簡(jiǎn)單,相信自己能夠檢查出來(lái),所以我一般都是獨(dú)立思考的完成的,只有少部分是在老師和與同學(xué)討論下完成的。
在編寫程序中,真的是細(xì)節(jié)決定成敗,因?yàn)椴还艹绦虻恼Z(yǔ)句是多是少,但是只要有一條語(yǔ)句或語(yǔ)法不正確,就不能使程序得到所需要的結(jié)果。沒(méi)能夠使自己編寫出來(lái)的程序等到想要的結(jié)果,意味著這是一個(gè)不理想的程序。
在科技高度發(fā)展的今天,計(jì)算機(jī)在人們之中的作用越來(lái)越突出。而c語(yǔ)言作為一種計(jì)算機(jī)的語(yǔ)言,我們學(xué)習(xí)它,有助于我們更好的了解計(jì)算機(jī),與計(jì)算機(jī)進(jìn)行交流,因此,c語(yǔ)言的學(xué)習(xí)對(duì)我們尤其重要。
在這個(gè)星期里,我們專業(yè)的學(xué)生在專業(yè)老師的帶領(lǐng)下進(jìn)行了c語(yǔ)言程序?qū)嵺`學(xué)習(xí)。在這之前,我們已經(jīng)對(duì)c語(yǔ)言這門課程學(xué)習(xí)了一個(gè)學(xué)期,對(duì)其有了一定的了解,但是也僅僅是停留在了解的范圍,對(duì)里面的好多東西還是很陌生,更多的在運(yùn)用起來(lái)的時(shí)候還是感到很棘手,畢竟,萬(wàn)事開(kāi)頭難嘛。
由于時(shí)間的關(guān)系,我們的這次實(shí)踐課程老師并沒(méi)有給我們?cè)敿?xì)的介紹,只是給我們簡(jiǎn)單的介紹了幾個(gè)比較重要的實(shí)際操作。包括了程序模塊處理.簡(jiǎn)單界面程序.高級(jí)界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語(yǔ)言程序來(lái)畫粒度分布圖等這幾樣比較重要的時(shí)間操作。
上機(jī)實(shí)驗(yàn)是學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言必不可少的實(shí)踐環(huán)節(jié),特別是c語(yǔ)言靈活、簡(jiǎn)潔,更需要通過(guò)編程的實(shí)踐來(lái)真正掌握它。對(duì)于程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語(yǔ)法規(guī)定、掌握程序設(shè)計(jì)方法、提高程序開(kāi)發(fā)能力,這些都必須通過(guò)充分的實(shí)際上機(jī)操作才能完成。
學(xué)習(xí)c程序設(shè)計(jì)語(yǔ)言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時(shí)的上機(jī)時(shí)間)。因?yàn)閷W(xué)時(shí)所限,課程不能安排過(guò)多的統(tǒng)一上機(jī)實(shí)驗(yàn),所以希望學(xué)生有效地利用課程上機(jī)實(shí)驗(yàn)的機(jī)會(huì),盡快掌握用c語(yǔ)言開(kāi)發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進(jìn)度,安排了12次上機(jī)實(shí)驗(yàn)。課程上機(jī)實(shí)驗(yàn)的目的,不僅僅是驗(yàn)證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機(jī)實(shí)驗(yàn)的目的可以概括為如下幾個(gè)方面:
1.加深對(duì)課堂講授內(nèi)容的理解
課堂上要講授許多關(guān)于c語(yǔ)言的語(yǔ)法規(guī)則,聽(tīng)起來(lái)十分枯燥無(wú)味,也不容易記住,死記硬背是不可取的。然而要使用c語(yǔ)言這個(gè)工具解決實(shí)際問(wèn)題,又必須掌握它!。通過(guò)多次上機(jī)練習(xí),對(duì)于語(yǔ)法知識(shí)有了感性的認(rèn)識(shí),加深對(duì)它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握c語(yǔ)言的語(yǔ)法規(guī)定。對(duì)于一些內(nèi)容自己認(rèn)為在課堂上聽(tīng)懂了,但上機(jī)實(shí)踐中會(huì)發(fā)現(xiàn)原來(lái)理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計(jì),缺乏程序設(shè)計(jì)的實(shí)踐所致。
學(xué)習(xí)c語(yǔ)言不能停留在學(xué)習(xí)它的語(yǔ)法規(guī)則,而是利用學(xué)到的知識(shí)編寫c語(yǔ)言程序,解決實(shí)際問(wèn)題。即把c語(yǔ)言作為工具,描述解決實(shí)際問(wèn)題的步驟,由計(jì)算機(jī)幫助我們解題
只有通過(guò)上機(jī)才能檢驗(yàn)自己是否掌握c語(yǔ)言、自己編寫的程序是否能夠正確地解題C。通過(guò)上機(jī)實(shí)驗(yàn)來(lái)驗(yàn)證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時(shí)的心態(tài)。但是在程序設(shè)計(jì)領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯(cuò)誤的想法。因?yàn)樵谶@種思想支配下,可能你會(huì)想辦法去掩蓋程序中的錯(cuò)誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問(wèn)題。自己編好程序上機(jī)調(diào)試運(yùn)行時(shí),可能有很多你想不到的情況發(fā)生,通過(guò)解決這些問(wèn)題,可以逐步提高自己對(duì)c語(yǔ)言的理解和程序開(kāi)發(fā)能力。
2.熟悉程序開(kāi)發(fā)環(huán)境、學(xué)習(xí)計(jì)算機(jī)系統(tǒng)的操作方法
一個(gè)c語(yǔ)言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行。所謂環(huán)境就是所用的計(jì)算機(jī)系統(tǒng)硬件、軟件條件,只有學(xué)會(huì)使用這些環(huán)境,才能進(jìn)行程序開(kāi)發(fā)工作。通過(guò)上機(jī)實(shí)驗(yàn),熟練地掌握c語(yǔ)言開(kāi)發(fā)環(huán)境,為以后真正編寫計(jì)算機(jī)程序解決實(shí)際問(wèn)題打下基礎(chǔ)。同時(shí),在今后遇到其它開(kāi)發(fā)環(huán)境時(shí)就會(huì)觸類旁通,很快掌握新系統(tǒng)的使用。
3.學(xué)習(xí)上機(jī)調(diào)試程序
完成程序的編寫,決不意味著萬(wàn)事大吉。你認(rèn)為萬(wàn)無(wú)一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能不斷出現(xiàn)麻煩。如編譯程序檢測(cè)出一大堆錯(cuò)誤。有時(shí)程序本身不存在語(yǔ)法錯(cuò)誤,也能夠順利運(yùn)行,但是運(yùn)行結(jié)果顯然是錯(cuò)誤的。開(kāi)發(fā)環(huán)境所提供的編譯系統(tǒng)無(wú)法發(fā)現(xiàn)這種程序邏輯錯(cuò)誤,只能靠自己的上機(jī)經(jīng)驗(yàn)分析判斷錯(cuò)誤所在程序的調(diào)試是一個(gè)技巧性很強(qiáng)的工作,對(duì)于初學(xué)者來(lái)說(shuō),盡快掌握程序調(diào)試方法是非常重要的。有時(shí)候一個(gè)消耗你幾個(gè)小時(shí)時(shí)間的小小錯(cuò)誤,調(diào)試高手一眼就看出錯(cuò)誤所在。
通過(guò)這次為數(shù)不多的幾天計(jì)算機(jī)實(shí)踐學(xué)習(xí),我們了解了一些關(guān)于c語(yǔ)言的知識(shí),理解鞏固了我們c語(yǔ)言的理論知識(shí),著對(duì)我們將來(lái)到社會(huì)工作將會(huì)有莫大的幫助
同時(shí)它讓我知道,只要你努力,任何東西都不會(huì)太難。
在這個(gè)星期里,我們專業(yè)的學(xué)生在專業(yè)老師的帶領(lǐng)下進(jìn)行了c語(yǔ)言程序?qū)嵙?xí)學(xué)習(xí)。在這之前,我們已經(jīng)對(duì)c語(yǔ)言這門課程學(xué)習(xí)了一個(gè)學(xué)期,對(duì)其有了一定的了解,但是也僅僅是停留在了解的范圍,對(duì)里面的好多東西還是很陌生,更多的在運(yùn)用起來(lái)的時(shí)候還是感到很棘手,畢竟,萬(wàn)事開(kāi)頭難嘛。
由于時(shí)間的關(guān)系,我們的這次實(shí)習(xí)課程老師并沒(méi)有給我們?cè)敿?xì)的介紹,只是給我們簡(jiǎn)單的介紹了幾個(gè)比較重要的實(shí)際操作。包括了程序模塊處理.簡(jiǎn)單界面程序.高級(jí)界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語(yǔ)言程序來(lái)畫粒度分布圖等這幾樣比較重要的時(shí)間操作。
上機(jī)實(shí)驗(yàn)是學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言必不可少的實(shí)習(xí)環(huán)節(jié),特別是c語(yǔ)言靈活、簡(jiǎn)潔,更需要通過(guò)編程的實(shí)習(xí)來(lái)真正掌握它。對(duì)于程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語(yǔ)法規(guī)定、掌握程序設(shè)計(jì)方法、提高程序開(kāi)發(fā)能力,這些都必須通過(guò)充分的實(shí)際上機(jī)操作才能完成。
學(xué)習(xí)c程序設(shè)計(jì)語(yǔ)言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時(shí)的上機(jī)時(shí)間。因?yàn)閷W(xué)時(shí)所限,課程不能安排過(guò)多的統(tǒng)一上機(jī)實(shí)驗(yàn),所以希望學(xué)生有效地利用課程上機(jī)實(shí)驗(yàn)的機(jī)會(huì),盡快掌握用c語(yǔ)言開(kāi)發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進(jìn)度,安排了12次上機(jī)實(shí)驗(yàn)。課程上機(jī)實(shí)驗(yàn)的目的,不僅僅是驗(yàn)證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機(jī)實(shí)驗(yàn)的目的可以概括為如下幾個(gè)方面:
1.熟悉程序開(kāi)發(fā)環(huán)境、學(xué)習(xí)計(jì)算機(jī)系統(tǒng)的操作方法
一個(gè)c語(yǔ)言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行。所謂 環(huán)境 就是所用的計(jì)算機(jī)系統(tǒng)硬件、軟件條件,只有學(xué)會(huì)使用這些環(huán)境,才能進(jìn)行程序開(kāi)發(fā)工作。通過(guò)上機(jī)實(shí)驗(yàn),熟練地掌握c語(yǔ)言開(kāi)發(fā)環(huán)境,為以后真正編寫計(jì)算機(jī)程序解決實(shí)際問(wèn)題打下基礎(chǔ)。同時(shí),在今后遇到其它開(kāi)發(fā)環(huán)境時(shí)就會(huì)觸類旁通,很快掌握新系統(tǒng)的使用。
2.學(xué)習(xí)上機(jī)調(diào)試程序
完成程序的編寫,決不意味著萬(wàn)事大吉。你認(rèn)為萬(wàn)無(wú)一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能不斷出現(xiàn)麻煩。如編譯程序檢測(cè)出一大堆錯(cuò)誤。有時(shí)程序本身不存在語(yǔ)法錯(cuò)誤,也能夠順利運(yùn)行,但是運(yùn)行結(jié)果顯然是錯(cuò)誤的。開(kāi)發(fā)環(huán)境所提供的編譯系統(tǒng)無(wú)法發(fā)現(xiàn)這種程序邏輯錯(cuò)誤,只能靠自己的上機(jī)經(jīng)驗(yàn)分析判斷錯(cuò)誤所在。程序的調(diào)試是一個(gè)技巧性很強(qiáng)的工作,對(duì)于初學(xué)者來(lái)說(shuō),盡快掌握程序調(diào)試方法是非常重要的。有時(shí)候一個(gè)消耗你幾個(gè)小時(shí)時(shí)間的小小錯(cuò)誤,調(diào)試高手一眼就看出錯(cuò)誤所在。
通過(guò)這次為數(shù)不多的幾天計(jì)算機(jī)實(shí)習(xí)學(xué)習(xí),我們了解了一些關(guān)于c語(yǔ)言的知識(shí),理解鞏固了我們c語(yǔ)言的理論知識(shí),著對(duì)我們將來(lái)到社會(huì)工作將會(huì)有莫大的幫助。同時(shí)它讓我知道,只要你努力,任何東西都不會(huì)太難。
3.加深對(duì)課堂講授內(nèi)容的理解
課堂上要講授許多關(guān)于c語(yǔ)言的語(yǔ)法規(guī)則,聽(tīng)起來(lái)十分枯燥無(wú)味,也不容易記住,死記硬背是不可取的。然而要使用c語(yǔ)言這個(gè)工具解決實(shí)際問(wèn)題,又必須掌握它。通過(guò)多次上機(jī)練習(xí),對(duì)于語(yǔ)法知識(shí)有了感性的認(rèn)識(shí),加深對(duì)它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握c語(yǔ)言的語(yǔ)法規(guī)定。對(duì)于一些內(nèi)容自己認(rèn)為在課堂上聽(tīng)懂了,但上機(jī)實(shí)習(xí)中會(huì)發(fā)現(xiàn)原來(lái)理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計(jì),缺乏程序設(shè)計(jì)的實(shí)習(xí)所致。C語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)心得體會(huì)(3篇)C語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)心得體會(huì)(3篇)。
學(xué)習(xí)c語(yǔ)言不能停留在學(xué)習(xí)它的語(yǔ)法規(guī)則,而是利用學(xué)到的知識(shí)編寫c語(yǔ)言程序,解決實(shí)際問(wèn)題。即把c語(yǔ)言作為工具,描述解決實(shí)際問(wèn)題的步驟,由計(jì)算機(jī)幫助我們解題。只有通過(guò)上機(jī)才能檢驗(yàn)自己是否掌握c語(yǔ)言、自己編寫的程序是否能夠正確地解題。
通過(guò)上機(jī)實(shí)驗(yàn)來(lái)驗(yàn)證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時(shí)的心態(tài)。但是在程序設(shè)計(jì)領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯(cuò)誤的想法。因?yàn)樵谶@種思想支配下,可能你會(huì)想辦法去 掩蓋 程序中的錯(cuò)誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問(wèn)題。自己編好程序上機(jī)調(diào)試運(yùn)行時(shí),可能有很多你想不到的情況發(fā)生,通過(guò)解決這些問(wèn)題,可以逐步提高自己對(duì)c語(yǔ)言的理解和程序開(kāi)發(fā)能力。