函數(shù)是C的基礎(chǔ),一定要把函數(shù)學(xué)通了,我知道C語言的學(xué)習(xí)是個(gè)復(fù)雜艱辛的過程。對(duì)于沒有老師、學(xué)校環(huán)境,沒有人指導(dǎo)的情況下的自學(xué)更是難。
成都創(chuàng)新互聯(lián)主營(yíng)蓮湖網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),蓮湖h5小程序開發(fā)搭建,蓮湖網(wǎng)站營(yíng)銷推廣歡迎蓮湖等地區(qū)企業(yè)咨詢
所以我想讓有經(jīng)驗(yàn)的人士幫我參謀建議下自學(xué)C語言的步驟,我好按部就班。下面是我搜索后自己排的一個(gè)步驟,請(qǐng)大家?guī)臀腋x謝!
1、最經(jīng)典的:《C程序設(shè)計(jì)語言》第2版,機(jī)械工業(yè)出版社
這個(gè)是C語言的設(shè)計(jì)者和UNIX系統(tǒng)的設(shè)計(jì)者合作編寫的最經(jīng)典的C語言教材,原書名叫《The C Programming Language》當(dāng)然,這本書不太適合0起點(diǎn)的人,看這本書之前最好把《C程序設(shè)計(jì)》(譚浩強(qiáng),清華大學(xué))看了,老譚的書銷量突破700萬冊(cè)了,雖然比較舊了,也不太符合新標(biāo)準(zhǔn)(現(xiàn)在出第3版了,也還是)但是,入門還是不錯(cuò)的選擇。
2、
另外還有必看的是《C Primer Plus》這個(gè)是一個(gè)美國(guó)人寫的,人民郵電出版社出了中文版了,第5版,比較厚,磚頭書,60元。但是非常適合初學(xué)的人,非常詳細(xì)。
還有《從問題到程序——程序設(shè)計(jì)與C語言引論》機(jī)械工業(yè)出版社,這本書也很不錯(cuò)。
注意一下,這倆不是一個(gè)東西。 C語言寫的東西就是用函數(shù)堆出來的。 而C#只有類,C#里是不允許存在類外方法的。追問: 我是想學(xué)習(xí)C語言可是不知道從哪學(xué)起?函數(shù)我不會(huì)能學(xué)么回答: 任何人都是從不會(huì)到會(huì)的。只要你能堅(jiān)持下去。。。 難道不是么???回答: 當(dāng)然不是,數(shù)學(xué)里函數(shù)在編程里最多算是一個(gè)解決問題的算法 等你學(xué)了c你就明白了 這根本是兩回事追問: ...回答: #includestdio.h int main(){printf("Are you clear?");return 0;}這是一個(gè)程序 它只有一個(gè)主函數(shù)main 一個(gè)程序可以由多個(gè)函數(shù)構(gòu)成 在這里printf也是個(gè)函數(shù) 和數(shù)學(xué)函數(shù)壓根就沒關(guān)系追問: 意思是數(shù)學(xué)函數(shù)不懂也沒關(guān)系?回答:額。。。 想深入的話 還是學(xué)點(diǎn)的好 因?yàn)樗途幊汤锏乃惴P(guān)系不淺 而且你程序的運(yùn)行效率也會(huì)要用到它
其實(shí)寫庫函數(shù)干嗎的啊 就是為了方便使用,這就是函數(shù)的根本所在,只要輸入?yún)?shù),就能得出結(jié)果,不管過程的什么樣的(在不考慮時(shí)間復(fù)雜度的情況下),所以記住庫函數(shù)是必須的,但只要記住這個(gè)函數(shù)是干嗎的,接收什么樣的參數(shù),能得出什么東西就行了
函數(shù)在C語言中只是一種語法上的實(shí)體,和本義——數(shù)學(xué)上的函數(shù)區(qū)別是比較大的(例如前者可以保存狀態(tài),后者通常不保存狀態(tài))。不過學(xué)會(huì)思想方法和表達(dá)形式還是有用的,f(a)表示參數(shù)為a的單值函數(shù)f的調(diào)用,也表示函數(shù)調(diào)用之后的返回值,數(shù)學(xué)中的函數(shù)形式一致,只是數(shù)學(xué)中的函數(shù)不強(qiáng)調(diào)調(diào)用(代入?yún)?shù)值并計(jì)算和其它操作)的過程而已,只強(qiáng)調(diào)輸入值(自變量/參數(shù))和輸出值(函數(shù)值)的關(guān)系。不關(guān)心函數(shù)計(jì)算過程的具體實(shí)現(xiàn)時(shí),使用函數(shù)可以達(dá)到基本的過程抽象(保證輸入和輸出滿足一定條件,過程可以不同),這是使用C語言的很重要的基本手法。
至于具體的函數(shù),只要掌握標(biāo)準(zhǔn)庫的一些常用函數(shù)(printf、scanf、exit)的基本使用方法就行了,實(shí)際使用時(shí)可以查詢手冊(cè)或者自己實(shí)現(xiàn)。
當(dāng)然C語言的核心語言特性遠(yuǎn)遠(yuǎn)不止函數(shù),對(duì)于聲明和定義、類型、表達(dá)式、條件、循環(huán)和分支結(jié)構(gòu)控制、指針、預(yù)處理等許多特性,和函數(shù)本身沒有直接關(guān)系。
====
[原創(chuàng)回答團(tuán)]
答: 代碼也需要多敲,但是敲代碼并不是練習(xí)打字,在這個(gè)過程當(dāng)中要更加去理解整個(gè)邏輯,如下所示,希望可以幫助到你呀。
多多理解里面的代碼邏輯。就比如說為什么在這里會(huì)有這么多的if語句,是為了判斷哪種異常輸入的情況,同時(shí)如果代碼里面有for循環(huán)的話,注意查看循環(huán)執(zhí)行的次數(shù),也就是說注意循環(huán)終止的條件呀,當(dāng)然如果說你只是觀看著這個(gè)代碼,其實(shí)要理解這個(gè)邏輯也會(huì)相對(duì)復(fù)雜,所以這個(gè)時(shí)候你在敲代碼的時(shí)候你可以不用全敲,如果你能找到這本書對(duì)應(yīng)的代碼文件的話,你可以直接導(dǎo)入運(yùn)行查看,效果在運(yùn)行的時(shí)候?qū)W會(huì)調(diào)試的功能,你可以以一個(gè)變量為基礎(chǔ)查看一下,在整個(gè)過程當(dāng)中調(diào)試或者打印這個(gè)變量的結(jié)果,看程序執(zhí)行完它發(fā)生了什么變化,后期的話你想要理解哪個(gè)分支,那你就可以在這個(gè)分支內(nèi)進(jìn)行設(shè)置變量調(diào)試呀,這樣的話我覺得會(huì)比機(jī)械的敲代碼效果更好呀;
多多注重一題多解呀。比如說書上的例子提供了問題的一種解法,但是因?yàn)檎n本這種東西一般來說是比較經(jīng)典的,所以很多知識(shí)可能很久都沒有更新了,那么你也可以除此之外多學(xué)習(xí)一些簡(jiǎn)便的方法,或許通過一種新的方法也可以把這個(gè)問題解決,而且代碼還會(huì)更加簡(jiǎn)潔高效呀,這樣的話做一道題就不只是一道題,可以舉一反三,觸類旁通呀。
希望可以幫助到你呀~