學(xué)期小結(jié)--C語言學(xué)習(xí)心得
學(xué)期小結(jié)C語言學(xué)習(xí)心得
在剛開始學(xué)習(xí)C語言的一段時間里,我總覺得C語言難懂和不容易使用,F(xiàn)在總結(jié)起來主要是以下三個方面的原因!
(1)只注重寫程序,而忽視了讀程序
學(xué)習(xí)計算機語言最好的方法是什么?很多人都認為是掌握程序思路會寫程序,其實這個想法不正確,因為你連這門語言的思路都沒有懂,怎么會寫出真確的程序呢,所以我總結(jié)的方法是先讀后寫,也就是先學(xué)會讀程序,再練習(xí)寫程序。
讀程序是學(xué)習(xí)C語言入門最快,也是最好的方法。對于沒有學(xué)過任何語言的計算機初學(xué)者,最好還是先閱讀教程,學(xué)習(xí)完每一章,都要認真體會這一章的所有概念,不放過這一章所提到的所有例題,仔細研讀程序,直到每一行都理解了,然后找?guī)讉編程題目,最好是和例題相似的或一樣的,自己試圖寫出這段已經(jīng)讀懂的程序。如果寫不出來,也不要著急,回過頭來再繼續(xù)研究例題,想想自己為什么寫不出來,然后再去寫這段程序,反反復(fù)復(fù),直到你熟練掌握為止。這是傳智的尹凡老師一再強調(diào)的。在學(xué)習(xí)C語言時應(yīng)該把精力先放在最基本、最常用的內(nèi)容上,千萬不要鉆牛角尖,在一些細節(jié)上死摳,有一些細節(jié)可以隨著學(xué)習(xí)的深入和實踐的豐富,會自然而然的掌握的。
(2)沒能將理論學(xué)習(xí)和上機實踐有效結(jié)合
我們學(xué)習(xí)C語言,主要是掌握程序設(shè)計的一些基本方法和技巧。因此,在重視理論學(xué)習(xí)的同時,必須加強上機實驗。只有在上機實踐中我們才能正真學(xué)會如何編寫程序和調(diào)試程序,體會到“優(yōu)化”程序;也只有通過上機實踐才能更好地掌握程序設(shè)計的理論知識;同樣只有通過上機實踐,我們才能真正體會C程序的運行過程!
然而在平時,我們恰恰就忽視了上機實驗沒有明確的實驗?zāi)繕?biāo),實驗興趣不大。上機時一些學(xué)生無所事事或玩游戲,不但害了自己,還影響其他同學(xué)。
(3)缺少一定邏輯思維能力
C語言其實是很基礎(chǔ)的匯編語言,除了一些必須要記憶的關(guān)鍵字、語法和庫函數(shù),其余的都是需要靠自己的邏輯思維通過這些關(guān)鍵字、語法和庫函數(shù)來組織或構(gòu)成一個完整的函數(shù),所以C語言大多數(shù)的學(xué)習(xí)時間都是在鍛煉我們的抽象邏輯思維能力。只有當(dāng)你具有了抽象邏輯思維能力和弄清楚了關(guān)鍵字、語法和庫函數(shù)的相關(guān)知識后,編寫C語言就不是難事了。
通過C語言初步的學(xué)習(xí)后都很容易弄懂關(guān)鍵字、語法和庫函數(shù)的相關(guān)知識,那么如何來有效的鍛煉自己的抽象邏輯思維能力呢?我的學(xué)習(xí)體會是:通過學(xué)習(xí)后所掌握的知識使用上課老師所提到的案例或找一段簡單的完整的案例,然后將案例讀懂,也就是把它轉(zhuǎn)換成我們?nèi)粘K芙邮艿淖匀徽Z言(在這里不妨把你所能理解的自然語言寫下來)。
還需注意的就是自己實在無法理解的地方不妨指出來多多請教老師和懂的同學(xué)讓他們用自然語言來描述一道,并且記錄下來這樣可以達到事半功倍的效果。對一個計算機程序設(shè)計的初學(xué)者來說,C語言程序設(shè)計是一門基礎(chǔ)課,學(xué)好它是為以后在學(xué)習(xí)其他高級言(如JAVA等)打下良好基礎(chǔ)。上個學(xué)期我對《C程序設(shè)計》這本書從陌生、好奇到有興趣。第一次觸C語言的感覺直到現(xiàn)在還記憶猶新,當(dāng)初的我看到的就是一個個的程序,其中的代碼密密麻麻都是那么的繁瑣,也很難看懂學(xué)懂。如今我對C語言有了一定的了解,對其中的小程序能獨立編程,對一些較為復(fù)雜的程序能夠看懂,并且可以仿造經(jīng)典程序,構(gòu)思、編寫出能夠解決小問題的程序了,我對C語言充滿了信心。我想這與傳智的尹凡老師的精心指導(dǎo)和同班同學(xué)相互學(xué)習(xí)和鼓勵是分不開的。
我覺得入門還是多看些書,多實踐,養(yǎng)成良好的編程習(xí)慣,在實踐的同時多思考問題,多看別人優(yōu)秀的解題思路與方法,多看別人優(yōu)秀的代碼,嘗試自己去實現(xiàn)或者說模仿著去實現(xiàn),讓別人對你的代碼多提意見,探究別人的思維過程,增強自己的思維能力,拓展視野,經(jīng)?纯醋约阂郧皩懙臇|西,有空拿出來改良改良,我想每隔一段時間,都會有意想不到的收獲。
擴展閱讀:C語言心得體會
計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
《C語言實訓(xùn)報告》
姓名:陶艷瓊____________班級:計算機網(wǎng)絡(luò)091班
【500字以內(nèi)的實訓(xùn)體會】
C語言實訓(xùn)心得體會
在初學(xué)C語言的一個學(xué)期后,我們進行了C語言階段,嘗試編寫各種類型的程序。在為期一個周時間中,我的感受是:C語言實訓(xùn)和平時上課所接觸的成有很多不同,所經(jīng)受的考驗和克服的困難和平時的相差不大,遇到不會做的題同學(xué)互相討論,互相幫助,共同解決,攻克了C語言的復(fù)雜程序,我感觸良多。
在這次實訓(xùn)中,我對C語言有了一個更深的認識了解,也對這學(xué)期的知識得到鞏固,還嘗試了運行編程,每次運行程序成功,讓我對下面的項目充滿了信心通過自己的努力最終把最初的理論知識轉(zhuǎn)化成基本技能,這次的實訓(xùn),是我對C語言的學(xué)習(xí)產(chǎn)生了農(nóng)活的興趣。
還是這次實訓(xùn),最令人激動的就是同學(xué)遇到問題互相幫助雖然只是一個很小得實訓(xùn),但同學(xué)們的滿腔人情卻是值得驕傲的,我們在實訓(xùn)中取長補短在實訓(xùn)中長知識,提高了我們學(xué)習(xí),雖然對有些時候老師沒給我們指出解決問題的方法有一些小抱怨,但到了結(jié)束是才知道,這種教學(xué)讓我們自己學(xué)會了自學(xué),學(xué)會了去看懂別人的代碼。更多的是老師的感動,每天在我們來之前家到了機房,給我們我分享他學(xué)C語言的感受,還提醒我們注意在編程時與遇到的事項,,這些是我們平時上課無發(fā)了解到的知識是我們更
第1頁計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
深層次的極大收獲。
通過實訓(xùn)我們也發(fā)現(xiàn)了許多問題,在試訓(xùn)中我認識到自己還有很多知識沒學(xué)好,最基本的知識點沒有理清楚,而且許多東西要經(jīng)過翻書,上網(wǎng)查閱,搜索,遇到一小點錯誤運行不出來,就會煩躁不安,覺得有些自暴自棄或這抱怨題目有些變態(tài),以后要克服,盡量保持一顆藍好的心態(tài),學(xué)好C語言,用C語言來編寫一個按要求的系統(tǒng)。
對于未來,近程下個學(xué)期,我覺得我還有許多方面需要提高。首先我要繼續(xù)學(xué)習(xí)好C語言的基礎(chǔ)知識,然后能在電腦上熟練的運用。能寫出一些程序,上網(wǎng)的時候多看一些優(yōu)秀的教程和優(yōu)秀的代碼,遇到問題是多和同學(xué)討論,并且多弄出幾套方案,多練習(xí)自己結(jié)局問題的能力和與同學(xué)合作的能力。
總之,這一切都成為我記憶里面的一個篇章,更是C語言編程上的一個里程碑。
第2頁計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
《C語言程序設(shè)計》實訓(xùn)計劃
指導(dǎo)教師:毛躍平
一.實訓(xùn)目的
《程序設(shè)計語言》是計算機相關(guān)專業(yè)一門專業(yè)基礎(chǔ)課,通過對《C語言程序設(shè)計》的學(xué)習(xí),掌握計算機程序設(shè)計的基本知識、掌握編寫運行程序的步驟,掌握常用的計算機算法,本課程也是實踐性較強的課程,為此安排一周實訓(xùn),能進一步加強鞏固理論知識,鍛煉解決問題的能力。為繼續(xù)學(xué)習(xí)其他課程打下堅實的基礎(chǔ)。二.實訓(xùn)班級
計算機網(wǎng)絡(luò)技術(shù)091班三.實訓(xùn)日期及時間
201*年6月28日201*年7月2日,共5天四.實訓(xùn)要求
要求每一位參加實訓(xùn)的同學(xué)認真分析每個題目,認真回答題目給出的問題,在該題..
后面寫出解題思路及算法,再編寫程序,在計算機調(diào)試并運行,最后上交該實訓(xùn)文...................檔和源代碼。.....
以自己的姓名建立一文件夾,以1-1.c1-2.c2-1.c…為源碼名保存程序每一程序頂部的注釋中寫如下的內(nèi)容/*
姓名:XXXX題目:1.1日期:201*-6-x*/
實訓(xùn)過程中可以相互討論,查閱相關(guān)資料,但一定要自己理解問題并自己動手實成
題目,嚴(yán)禁抄襲,一經(jīng)發(fā)現(xiàn),成績以零分記。
注意解題過程中算法的設(shè)計,注意分析和理解題目的描述是如何轉(zhuǎn)換為C程序的語
句,體會使用不同解題算法之間的低劣。
第3頁計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
五.實訓(xùn)題目一、基本知識
1.1完成課本P68頁第7題
注意:c9/5(F32)輸入,9/5是求整運算。
1.2輸入一個分數(shù)(0-100),根據(jù)分值,90-100輸出’A’,80-89輸出’B’,70-79輸出’c’,60-69輸出’D’,其他輸出’E’,要求使用switch語句完成。利用switch的循環(huán)結(jié)構(gòu),注意符號輸入
1.3寫一程序,實現(xiàn)判斷一個整數(shù)n是否是素數(shù)。
要求判斷素數(shù)的功能寫成一個函數(shù),在main函數(shù)中輸入要判斷的數(shù)n,根據(jù)該函數(shù)的返...............回值輸出相關(guān)信息二、常見推理問題
2.1有一條長階,若每步跨2階,則最后剩1階;若每步跨3階,則最后剩2階;若每步跨5階,則最后剩4階;若每步跨7階,則最后正好一階不剩.編程求出樓梯的長度。
【思路】根據(jù)題義,假定該樓梯長為7(請問為何要假定為7,若從其他數(shù)開始行不行?),看7能否滿足要求,若滿足要求,則該樓梯長為,否則,看8,9,10….直到找到一個滿足要求的整數(shù)n,即該數(shù)同時滿足n%2==1,n%3==3,n%5==4,n%7==0,則停止循環(huán),輸入該數(shù)即可(思考,滿足這一條件的數(shù)是否只有一個)。
因為,每步跨2階,則最后剩1階;若每步跨3階,則最后剩2階;若每步跨5階,則最后剩4階;若每步跨7階,則最后正好一階不剩.剛好剩一個,不可從其他書開始運行。2.2Jacky和Mary養(yǎng)了很多豬。他們想要給豬安家。但是Jacky沒有足夠的豬圈,很多豬只能夠在一個豬圈安家。Jacky建了3個豬圈,為了保證公平,剩下1頭豬就沒有地方安家了。Mary生氣了,罵Jacky沒有腦子,并讓他重新建立豬圈。這回Jacky建造了5個豬圈,但是仍然有1頭豬沒有地方去,然后Jacky又建造了7個豬圈,但是還有頭沒有地方去。Jacky都快瘋了。你對這個事情感興趣起來,你想通過Jacky建造豬圈的過程,知道Jacky家至少養(yǎng)了多少頭豬?
2.3一個猴子吃桃子,每天吃現(xiàn)有桃子數(shù)量的一半再多一個,到第九天吃完的時候只剩下1個桃子,求原來有多少桃子?
【思路】倒推法,今天吃之前的桃子數(shù)=昨天吃的一半少一個,即today=(yesterday/2)-1
第4頁計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
===>yeterday=(today+1)*2i=10today=1推出第9天吃之前的桃子數(shù),再把第9天當(dāng)作今天(today=yesterday),推出第8天吃之前的桃子數(shù)….直到推出第一天吃之前的桃子數(shù)為止。(注意循環(huán)變量初值和終值是多少)循環(huán)變量初值1和終值是1533
2.4某日,王母娘娘送唐僧一批仙桃,唐僧命八戒去要桃.八戒從娘娘宮里挑上仙桃出發(fā),邊走邊望著前籮筐中的仙桃咽口水,走到128里時,倍覺心煩腹幾饑口干不能再忍,于是找了個僻靜處開始吃前頭籮筐中的仙桃來,越吃越有興頭,不覺竟將一筐仙桃吃盡,才猛然覺得大事不好.正在無奈之時,發(fā)現(xiàn)身后還有一筐,便轉(zhuǎn)悲為喜,將身后的仙桃一分為二,重新上路.以后,每走前一段路的一半,邊吃光前一籮筐中的仙桃,才上路.如此這般,最后一里走完,正好遇上師傅.師傅一看,兩個籮筐中各有一個仙桃,于是大怒,要八戒交代一路吃了多少個仙桃?八戒掰著指頭,好幾個時辰也回答不出,請你幫八戒算算他吃了多少仙桃!
2.5一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米(請注意下落幾次,反彈幾次)?第10次反彈多高?下落12次,反彈11次。三、窮舉搜索算法
此類問題的解題思路是按題目要求及條件,把所有可能的情況都羅列出來,在其中找出符合要求的解。
3.13025這個數(shù)具有一種獨特的性質(zhì):將它平分為二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身,即abcd=(ab+cd)2。請求出具有這樣性質(zhì)的全部四位數(shù)。
【思考】如何求出一個數(shù)的前兩位和后兩位?循環(huán)變量初值要從多少開始,到多少結(jié)束,把每個數(shù)前兩位和后兩位拆出來相加再求平方,并判斷結(jié)果是否等于該數(shù)本身,如等則輸出,注意輸出格式控制。
前兩位a=m%100;后兩位b=m/100;m為一個四位數(shù),循環(huán)變量從第一個符合要求的數(shù)開始,高9801.
3.2百錢買百雞:公元5世紀(jì),我國古代數(shù)學(xué)家張丘建在《算經(jīng)》中提出了如下問題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。凡百錢買百雞,問雞翁、母、雛各幾何?
第5頁計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
3.3有30人在一飯館吃飯,包括男,女和小孩。共花了50元,男的每人3元,女的每人2元,小孩每人一元,求男,女,小孩各多少人?
3.4一個口袋里有12個球,3個白球,3個紅球,6個黑球,取出8個球,求一共有有多少種取法,輸出每一種取法中各種球的數(shù)目。四、遞歸問題
4.1編寫一遞歸函數(shù),該函數(shù)的功能是求出n的階層(注n!=n*(n-1)!(n>=2)1!=10!=1)4.2漢諾塔問題
上帝創(chuàng)造世界的時候做了三根金剛石柱子,在一根柱子上從下往上安大小順序摞著64片黃金圓盤。上帝命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。有傳言說,這件事完成時宇宙會在一瞬間閃電式毀滅。也有人相信婆羅門至今還在一刻不停地搬動著圓盤。請你編寫一程序模擬10個盤子的移動過程。
五、常見的數(shù)組問題
5.1一群猴子有50只,坐在一起選猴王,每只猴子都有一個編號1~50。從1號猴子開始報號,報到7號則退出;下只猴子繼續(xù)從1開始報,依次循環(huán),則最后的一只猴子為猴王。試求出這只猴子的編號
5.2選擇排序(SelectionSort)的基本思想是:每一趟從待排序的記錄中選出關(guān)鍵字最小的記錄,順序放在已排好序的子文件的最后,直到全部記錄排序完畢,編寫一函數(shù)對n個數(shù)進行排序。
5.3回文數(shù)是指一個像16461這樣“對稱”的數(shù),即:將這個數(shù)的數(shù)字按相反的順序重新排列后,所得到的數(shù)和原來的數(shù)一樣。這里,“回文”是指像“媽媽愛我,我愛媽媽”這樣的,正讀反讀都相同的單詞或句子。設(shè)計兩個函數(shù)一個函數(shù)用來判斷一個2位及以上的數(shù)是否回文數(shù),另一函數(shù)用來判斷一字符串是否回文串。
六、文件操作
6.1編寫一程序,實現(xiàn)將10個同學(xué)的信息(學(xué)號,姓名,性別及3門課程成績保存到文件中,并能讀出指定記錄和改該記錄的程序)
第6頁計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
【思考】文件根據(jù)其訪問方式分為哪兩種?根據(jù)文件內(nèi)容又分為哪兩種?對文件進行操作的步驟有哪些?如何讀或?qū)懳募?/p>
在main函數(shù)中賦予只,在另一函數(shù)ptintf中將他們輸出。
七、圖形繪制
【基礎(chǔ)知識】在C語言中顯示信息的方式有兩種,即字符模式和圖形模式,我們之前的信息輸入輸出都在字符模式下,要讓C程序能畫出圖形,要把顯示模式設(shè)置在圖形模式下,在圖形模式下,是按像素來定義坐標(biāo)的。對VGA適配器,它的最高分辨率為640x480,其中640為整個屏幕從左到右所有像素的個數(shù),480為整個屏幕從上到下所有像素的個數(shù)。屏幕的左上角坐標(biāo)為(0,0),右下角坐標(biāo)為(639,479),水平方向從左到右為x軸正向,垂直方向從上到下為y軸正向(如圖)。TURBOC的圖形函數(shù)都是相對于圖形屏幕坐標(biāo),即像素來說的,所有圖形函數(shù)都包含在graphics.h頭文件中
要在屏幕上畫圖,要先設(shè)置背景色和畫線顏色,線形,還能對某封閉區(qū)域填充,要設(shè)置填充樣式和填充顏色
setlinestyle(stly,pattern,width)函數(shù),設(shè)置畫線樣式
stly=0-40實線1點線2中心線3虛線4自定義線,pattern只有當(dāng)stly=4時有效,pattern一般設(shè)為0,width為線寬范圍1或3,也可以取2
setfillstyle(intpattern,intcolor);函數(shù)設(shè)置填充封閉區(qū)域的填充樣式pattern設(shè)置填充方式,取值0-12
floodfill(x,y,color)函數(shù)設(shè)置填充的封閉區(qū)域
x,y為封閉區(qū)域內(nèi)任意一點坐標(biāo),color為封閉區(qū)域邊界顏色
要注意使用順序,先畫一封閉區(qū)域,再設(shè)置填充方式,然后使用floodfill()函數(shù)填充,
第7頁640(0,0)(639,0)(320,240)480(0,479)(639,479)計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
例,要畫出如圖所示的藍背景,紅色圓,綠色填充的程序代碼如下:#includeintmain(){
intgdriver,gmode;gdriver=DETECT;
initgraph(&gdriver,&gmode,"");/*設(shè)置圖形顯示模式*/setbkcolor(1);/*設(shè)置背景色*/setcolor(RED);/*設(shè)置畫線色*/
setlinestyle(1,0,3);/*設(shè)置以寬度為3個像素的實線方式畫圖*/circle(320,240,80);/*以320,240為圓心,80像素為半徑畫圓*/setfillstyle(1,GREEN);/*設(shè)置以實心方式綠色填充*/floodfill(320,240,RED);/*取320,240這點,向四周填充到紅色邊界*/getch();/*程序停在此處,將畫出的圖形顯示在屏幕上,按任意鍵返回*/closegraph();/*關(guān)閉圖形模式*/}
題目:要求根據(jù)以上了解到的知識,設(shè)計畫一面五星紅旗的程序
第8頁計網(wǎng)09《C語言程序設(shè)計》實訓(xùn)
1、有關(guān)函數(shù)
moveto(intx,inty);移動游標(biāo)到(x,y)點,不是畫點,在移動過程中亦畫點。line(intx0,inty0,intx1,inty1);畫一條從點(x0,y0)到(x1,y1)的直線。lineto(intx,inty);畫一作從現(xiàn)行游標(biāo)到點(x,y)的直線。
circle(intx,inty,intradius);以(x,y)為圓心,radius為半徑,畫一個圓。
arc(intx,inty,intstangle,intendangle,intradius);以(x,y)為圓心,radius為半徑,從stangle開始到endangle結(jié)束(用度表示)畫一段圓弧線。
ellipse(intx,inty,intstangle,intendangle,intxradius,intyradius);以(x,y)為中心,xradius,yradius為x軸和y軸半徑,從角stangle開始到endangle結(jié)束畫一段橢圓線,當(dāng)stangle=0,endangle=360時,畫出一個完整的橢圓。
rectangle(intx1,inty1,intx2,inty2);以(x1,y1)為左上角,(x2,y2)為右下角畫一個矩形框。.
第9頁
友情提示:本文中關(guān)于《學(xué)期小結(jié)--C語言學(xué)習(xí)心得》給出的范例僅供您參考拓展思維使用,學(xué)期小結(jié)--C語言學(xué)習(xí)心得:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。