999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談C語言學習方法

2016-04-29 00:00:00胡斌
西江文藝 2016年5期

【摘 要】本文分析了C語言的初學者在學習中出現的問題,并探究了產生這些問題的原因,說明了C語言的重點與難點學習,并對此提出了積極的解決方案,具體闡述了改進C語言學習的措施。

【關鍵詞】C語言;方法;難點;措施

一、C語言學習方法

在學習C語言之前,首先就要選擇一本教材,對于初學者,我個人并不建議去讀電子書籍,最好是買紙質書來學習。比如比較有名的“C程序設計”就很不錯,尤其是第二版,我也看過,比較適合中國人來初學,整本書都在全面系統的講解C的語法結構,構成C的語言元素包括:數據類型,支持的運算符,標識符(是由程序員按照命名規則起的名字,用于變量名,函數名,宏名等等),關鍵字(編譯系統用于實現C內部功能的詞,比如:轉向goto和中斷break等等)等。看完這本書你基本上可以寫一些簡單的小程序,當然是DOS下的程序。如果你想在進一步深入學習C的話,可以看“C陷阱與缺陷”這本書。寫這本書的作者是在Bell工作對C是非常精通的,應該算是大師級的人物了.之前是沒有辦法想象到的.在初學C的過程中,比如你會看“C程序設計”來初學C,當你學完每一章的時候要把習題來完成,這里就是考驗你學到的知識了,看看你應用能力怎么樣?尤其是程序設計題目,比較有意思。哪里不懂了。可以翻回去看書中的解釋。如果沒有解釋或你還是不明白,可以去問別人,與其他人交流,bbs,QQ或Google,直到你弄明白為止。

不要認為學習只是在看書,看一便就可以了.你應該學會記筆記,在記筆記的過程中,其實你就是在學習,從知識的分析,理解,歸納,到最后以自己的思維方式記下來,這整個過程就是把書中的知識抽象到你自己的腦袋里.個人感覺學習效果非常好,不懂就問,要多多與人交流,要多思考,遇到問題自己先多想想,實在找不到問題出在哪,在去請教別人,不要有不懂的地方就直接去問別人,那樣對你沒太大的好處.其實要學會給自己安排適合自己的學習計劃,我大致來估計了一下,如果你每天能花4個小時安靜的,用心去學習的話,30天之內你應該可以掌握C語言了。其實在整個學習過程中你大多數時間都在看書,而不是面對電腦.在調試你的代碼之前,先在紙上把核心代碼大致寫出來,分析一下:程序的組成模塊(可以是一個函數或多個),由幾個函數來實現,接口的封裝.采用哪種數據結構更適合一些。關鍵在于算法.在你的最終程序發布之前,最好把你的代碼行數減到最少。不要只想著把代碼寫多,過多的代碼對程序來說是負擔.你可以在Internet上下載一個文件(C語言經典例題.chm),里面大致包含了上百個經典的例題.每一個例題都是C語言某部分的典型應用,花時間把這個文件中的所有例題代碼研究一下,最好能自己把代碼改善,以自己的方式來求解.以后你會發現你在寫一些應用程序的時候經常會有一些算法.會涉及到我之前提到的例題.最后我認為你可以自己來寫C語言標準函數,比如strcpy();strlen();strcat();最好不要過分依賴庫函數。

二、C語言學習的難點

我可以給你形象的來描述一下:float Variable;//聲明一個單精度實型的變量;以上便是Variable的內存結構了,16位下的float占用4個字節,內存地址是線性編碼的,我們可以很容易的看出Variable的首地址就是他第一個單元的地址1001,好的,繼續向下看:float*Pointer=Variable;//聲明一個指向Variable的指針Pointer我們的程序可以這樣來執行:Variable=1.0;直接給Variable賦值,我們稱為直接訪問.也可以這樣執行:*Pointer=1.0;也可以通過指針變量來賦值,前面的*是間接運算符號,意思是求Pointer內部存儲地址所標識的內存單元,也就是Variable。此時,是賦值是通過間接訪問來實現的。可以這樣形象的描述:以上應該是指針實現的基本解釋,很多優秀的程序寫作者都說指針是C語言中的精華,的確如此,很多優秀的程序寫作者寫程序都非常依賴指針,因為它很方便,實際上指針所訪問的對象是沒有限制的,他可以指向任何類型的變量,前提是只要我們知道內存地址。因此指針也并不安全,在開發網絡程序的時候,盡量要少使用指針。下面我們在來看一下指針在數組中的使用。

數組中的指針:簡單的來解釋下數組,數組結構在C中使用比較普遍,其實最常用的就是char類型的數組,主要是用于字符串操作。實際上數組是“同類型變量的有限集合”。我想這應該不難理解吧。數組在內存中占用連續的內存單元(地址連續),來存儲數組中的每一個元素。數組是預先分配好指定長度的內存單元,供數組元素使用,它并不支持動態內存分配。在內存中想要唯一的確定數組,需要2個標識:入口地址(函數名)和結束標記('\0')。有些語言并不向C語言這樣支持字符串結束標記,它們必須要另外聲明一個變量來標識尾元素的下標。那數組名其實就是這一組內存單元的首單元,他的地址就是整個數組的入口地址。此時應該明白了,數組名是一個指針,這樣理解沒有問題。不錯,在具體操作的時候不允改變數組名的地址,也不符合實際要求。這樣就可以明白數組名是一個什么 const Pointer(指針常量)。我們可以這樣做:

int Array[10];

int *Pointer;

Pointer=Array;

for(i=0;i<10;++i)

Pointer==i;

以上代碼應該是沒問題吧,同類型的指針,完全可以勝任數組名的任務。一點問題沒有而且可以運行的很好。當然,我們可以進一步把代碼這樣來寫:把for(i=0;i<10;++i)

Pointer=i;

改成

for(i=0;i<10;++i,Pointer++)

*Pointer=i;

如果數組類型是char的話,那就更方便了,因為字符串存存在一個在尾元素之后的結束標記('\0'),下面給出一個簡單的代碼,應用char Pointer:

char * my_strcpy(char * dst, const char * src)

{

char * cp = dst;

while( *cp++ = *src++ );// 注意運算符的優先級與結合性

return( dst );//返回新傳的指針

}

以上代碼實現字符傳Copy功能,代碼是不是很簡潔啊。如果不需要移動內存塊的話,我們完全可以通過交換指針(內存地址)來實現排序操作,其效率應該是很客觀的。補充一句:千萬要弄清楚,指針本身與指針所指向的變量不是一個單元。

【參考文獻】

[1]陳廣群,孔發弟.C語言課堂教學改進初探[J].南京廣播電視大學學報,2009(02).

[2]魏青.《C語言》教學中學生學習興趣的培養[J].電腦知識與技術,2010(21).

[3]祝瑞.快樂教學法在C語言教學中的運用[J].工會論壇(山東省工會管理干部學院學報),2010(06).

[4]師艷俠.論如何激發學生學習信息技術的興趣[J].才智,2009(10).

[5]祝賀.C語言教學中存在的問題及對策探討[J].黑龍江科技信息,2010(13).

主站蜘蛛池模板: 欧美第一页在线| 波多野结衣中文字幕一区二区| 免费无码又爽又黄又刺激网站 | 婷婷综合缴情亚洲五月伊| 日韩国产黄色网站| www.av男人.com| 青青久久91| 少妇精品在线| 欧美α片免费观看| 亚洲日韩高清无码| 久久性妇女精品免费| 免费激情网址| 亚洲va在线∨a天堂va欧美va| 中文字幕永久在线看| 亚洲综合香蕉| 中文字幕中文字字幕码一二区| 免费看久久精品99| 亚洲永久视频| 精品国产中文一级毛片在线看| 国产日韩精品一区在线不卡| 九九九精品视频| 国产亚洲精品91| 欧美在线视频不卡第一页| 国产不卡在线看| 亚洲清纯自偷自拍另类专区| 国产午夜看片| 国产网站免费看| 亚洲福利一区二区三区| 久久亚洲高清国产| 国产在线无码av完整版在线观看| 98超碰在线观看| 国产精品私拍在线爆乳| 欧美激情第一区| 一级毛片不卡片免费观看| 国产成人亚洲精品色欲AV| a毛片在线播放| 日本日韩欧美| 国产Av无码精品色午夜| 亚洲精品无码AV电影在线播放| 免费中文字幕一级毛片| 国产精品免费露脸视频| 综合色在线| 欧洲精品视频在线观看| 亚洲va视频| 在线观看91精品国产剧情免费| 亚洲综合久久成人AV| 午夜不卡视频| 岛国精品一区免费视频在线观看| 亚洲日本中文字幕天堂网| 国产91丝袜在线播放动漫| 国产国产人成免费视频77777| 啪啪免费视频一区二区| 亚洲色图狠狠干| 中文字幕永久在线看| 香蕉视频在线观看www| 精品少妇人妻一区二区| 无码丝袜人妻| 欧美高清国产| 欧美a级在线| 精品国产电影久久九九| 婷婷色中文| 成人福利在线观看| 国产精品一区在线观看你懂的| 色综合天天综合中文网| 九色视频线上播放| 国产精品免费久久久久影院无码| 欧美在线视频不卡第一页| 乱码国产乱码精品精在线播放| 99热这里只有精品国产99| 日韩欧美国产区| 国产精品成人一区二区不卡 | 久青草国产高清在线视频| 国产主播在线一区| 在线观看av永久| 国产成人亚洲精品色欲AV| 亚洲欧美国产五月天综合| 伊人福利视频| 国产一区二区人大臿蕉香蕉| 国产导航在线| 香蕉久久国产超碰青草| 久久人与动人物A级毛片| 91网在线|