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