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).

主站蜘蛛池模板: 国产1区2区在线观看| 欧洲欧美人成免费全部视频| 国产18页| 午夜高清国产拍精品| 欧美一级夜夜爽| 国产99视频免费精品是看6| 亚洲欧美国产五月天综合| 国模极品一区二区三区| 亚洲天堂区| 国产后式a一视频| 国产一级视频久久| 日韩A∨精品日韩精品无码| 美女无遮挡免费视频网站| 欧美人人干| 欧美亚洲一区二区三区导航| 成人在线第一页| 亚洲第一香蕉视频| 自偷自拍三级全三级视频| 成人无码区免费视频网站蜜臀| 国产在线啪| 亚洲日产2021三区在线| 欧美亚洲日韩中文| 国产成人综合网| 日韩午夜片| 91视频区| 午夜福利网址| 亚洲大尺码专区影院| 国产一区二区三区在线观看免费| 免费看久久精品99| 欧美色香蕉| 亚洲精品国产综合99| 2024av在线无码中文最新| 欧美啪啪网| 亚洲乱码精品久久久久..| 国产小视频免费观看| 亚洲第一极品精品无码| 国产国产人在线成免费视频狼人色| 色综合天天视频在线观看| 91人妻在线视频| 成人久久精品一区二区三区| 久久香蕉国产线| 成人福利在线视频免费观看| 天天综合色天天综合网| 亚洲午夜福利在线| 日韩黄色精品| 99性视频| www.狠狠| 国产在线一区二区视频| 午夜成人在线视频| 91日本在线观看亚洲精品| 精品国产免费观看一区| 一个色综合久久| 97se亚洲| 欧美精品v欧洲精品| 久久免费精品琪琪| 国产精品女在线观看| 日韩欧美中文字幕在线精品| 手机在线免费不卡一区二| 免费无码网站| 国产区免费| 亚洲男人的天堂久久精品| 成人综合久久综合| 人妻无码中文字幕一区二区三区| 老司机久久99久久精品播放| 亚洲成肉网| 亚洲三级成人| 曰韩人妻一区二区三区| 国产在线观看高清不卡| 激情视频综合网| 日本不卡在线| 国产欧美日韩在线一区| 亚洲天堂在线免费| 日韩在线播放欧美字幕| 精品久久久久久久久久久| 国产日韩久久久久无码精品| 2020国产精品视频| 伊人精品成人久久综合| 全免费a级毛片免费看不卡| 国产欧美日韩免费| 亚洲一区二区三区麻豆| 国产视频你懂得| 99人妻碰碰碰久久久久禁片|