學(xué)習(xí)C語(yǔ)言應(yīng)從哪幾方面著手

談及C語(yǔ)言,我想凡是學(xué)過(guò)它的朋友都有這樣一種感覺(jué),那就是“讓我歡喜讓我憂。”歡喜的是,C語(yǔ)言功能非常強(qiáng)大、應(yīng)用廣泛,一旦掌握了后,你就可以理直氣壯地對(duì)他人說(shuō)“我是電腦高手!”,而且以后若是再自學(xué)其他語(yǔ)言就顯得輕而易舉了。憂慮的是,C語(yǔ)言猶如“少林武功”一般博大精深,太難學(xué)了。其實(shí)就筆者認(rèn)為C語(yǔ)言并非是“difficult(困難)”的,只要你能理清思路,掌握它的精髓,那么自學(xué)C語(yǔ)言是一件非常容易且又其樂(lè)無(wú)窮的事。今天本人就與大家一起談?wù)勅绾螌W(xué)習(xí)C語(yǔ)言或者說(shuō)學(xué)習(xí)C語(yǔ)言應(yīng)從哪幾方面著手。

了解一些基本知識(shí)

一.C語(yǔ)言的背景

就個(gè)人感觸,無(wú)論學(xué)習(xí)哪門語(yǔ)言首先應(yīng)該了解一下自己所學(xué)語(yǔ)言的背景,也可以說(shuō)它的發(fā)展史。

C語(yǔ)言屬于高級(jí)程序語(yǔ)言的一種,它的前身是“ALGOL”。其創(chuàng)始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語(yǔ)言問(wèn)世時(shí)是帶有很大的局限性,因?yàn)樗荒苡糜赨NIX系統(tǒng)上。然而隨著科學(xué)技術(shù)的進(jìn)步,計(jì)算機(jī)工業(yè)的發(fā)展,C語(yǔ)言逐漸脫離UNIX。1987年美國(guó)標(biāo)準(zhǔn)化協(xié)會(huì)制定了C語(yǔ)言的國(guó)際標(biāo)準(zhǔn),簡(jiǎn)稱“ANSI C”,從此以后它便成為一種廣泛使用的程序語(yǔ)言。C語(yǔ)言的優(yōu)點(diǎn)很多,主要的有如下四點(diǎn):

1.兼?zhèn)涓呒?jí)語(yǔ)言與低級(jí)語(yǔ)言的優(yōu)點(diǎn),屬于一種中間語(yǔ)言。

2.它是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,非常適合結(jié)構(gòu)化程序設(shè)計(jì)。

3.有較豐富的數(shù)據(jù)類型、運(yùn)算符以及函數(shù)供以選用。

4.直接與內(nèi)存打交道,使修改、編輯其他程序與文檔變得輕松,簡(jiǎn)單。

二.二大語(yǔ)系二種不同的學(xué)習(xí)方法

筆者學(xué)習(xí)過(guò)很多程序語(yǔ)言,例如:C,C++(C語(yǔ)言的擴(kuò)展),QBASIC,VB(BASIC的可視化),JAVASCRIPT,JSCRIPT ,VBSCRIPT,JAVA,ASP,F(xiàn)OXPRO,PERL等等,就本人實(shí)踐所得,其實(shí)高級(jí)程序語(yǔ)言分為兩大語(yǔ)系。一路是以C為主的程序語(yǔ)言,例如:JAVASCRIPT,JAVA等,這類語(yǔ)言在函數(shù)的調(diào)用,程序語(yǔ)句的書(shū)寫,循環(huán)的控制都極為相似。另一路是以BASIC為首的程序語(yǔ)言,例如:FOXPRO,VBSCRIPT等,此類語(yǔ)言同樣具有相似的函數(shù)調(diào)用,程序語(yǔ)句書(shū)寫以及循環(huán)控制,但與C語(yǔ)系是不同的。因此若是您以前是從QBASIC起家的,那么在學(xué)習(xí)C語(yǔ)言前最好是先洗洗腦,千萬(wàn)不要把學(xué)習(xí)BASIC的方法以及思路用在C身上。

講到這里,我想大家對(duì)C語(yǔ)言一定有了感性認(rèn)識(shí)吧!下面讓我們?cè)偕A一下,全方位親密接觸它。學(xué)習(xí)C語(yǔ)言必須從以下四點(diǎn)入手,也就是說(shuō),只要你能掌握這四點(diǎn)的內(nèi)容,那么基本上就大功告成了。

怎樣才能學(xué)好c語(yǔ)言

有人問(wèn)我c語(yǔ)言是不是很難學(xué),我說(shuō)不是,后來(lái)問(wèn)的人多了,我就萌生了寫一篇關(guān)于c語(yǔ)言如何入門的文章的念頭來(lái)。

其實(shí)c語(yǔ)言很簡(jiǎn)單,它只是一種交流的規(guī)則,一種表達(dá)的工具,一種承載思想的容器而已,之所以感覺(jué)難,我覺(jué)得是還不習(xí)慣使用計(jì)算機(jī)特點(diǎn)來(lái)考慮問(wèn)題。這就好比中國(guó)人從到英國(guó)定居一樣,雖然你學(xué)過(guò)英語(yǔ),但是那只是想象中的英國(guó),和現(xiàn)實(shí)的英國(guó)的情況還相差很遠(yuǎn),所以要有一個(gè)適應(yīng)的過(guò)程,也就是常說(shuō)的過(guò)渡期或磨合期。

想盡快上手就得掌握計(jì)算機(jī)的特點(diǎn),計(jì)算機(jī)的特點(diǎn)包括:

1、 計(jì)算機(jī)在問(wèn)題的處理方式上要求全,將所有的可能都要告訴它。人可以根據(jù)習(xí)慣忽略一些東西,但計(jì)算機(jī)不行。比如說(shuō)求解一元二次方程,我們考慮問(wèn)題就已經(jīng)默認(rèn)了a不等于0,更有甚者把b方減4ac也默認(rèn)大于等于零了。這是我們的習(xí)慣,既然有解,我們一般習(xí)慣上就把它定為實(shí)數(shù)解,所以你做出來(lái)的程序一般是不考慮這兩個(gè)條件的,但是計(jì)算機(jī)不行,計(jì)算機(jī)是有名的弱智。計(jì)算機(jī)沒(méi)有象人一樣的智能處理能力,它是人忠實(shí)的信徒,不管你怎么想,它都會(huì)執(zhí)行你的命令。由于你的習(xí)慣,導(dǎo)致一些別有用心的人或者無(wú)意犯錯(cuò)的人來(lái)犯錯(cuò)誤,致使計(jì)算機(jī)有時(shí)無(wú)所適從。很疲憊,甚至崩潰,報(bào)錯(cuò),造成你的程序是不成功的,所以你感覺(jué)很難。

2、 計(jì)算機(jī)要求程序的描述精確,無(wú)二義性。人的語(yǔ)言有很強(qiáng)的隨機(jī)性和二義性。我們平時(shí)說(shuō)話時(shí),有時(shí)是一些招呼,有時(shí)說(shuō)話的邏輯性可以不太清楚,話既可以表達(dá)這樣的意思,也可以表達(dá)那樣的意思,人可以根據(jù)環(huán)境和對(duì)方想表達(dá)的含義進(jìn)行分析,最終得到正確的結(jié)果,但是計(jì)算機(jī)很弱智,雖然它很聽(tīng)話,但是他不能理解你表達(dá)的思想,只會(huì)按你交給的指令執(zhí)行,這樣導(dǎo)致執(zhí)行時(shí)報(bào)警和出錯(cuò)。

3、 計(jì)算機(jī)編程是要求有很強(qiáng)的全局性和邏輯性,不存在起伏的問(wèn)題。人的思維有很強(qiáng)的活躍期和蟄伏期,計(jì)算機(jī)不會(huì),它隨時(shí)待命。人在考慮問(wèn)題時(shí),有很多盡興的東西,但這不是處理問(wèn)題的整體,而是一部分,所以就出現(xiàn)做完一段代碼后,就不愿意再寫,或感覺(jué)很吃力,所以感覺(jué)很難。

計(jì)算機(jī)要求它的主人,考慮問(wèn)題要全面,所有可能的情況及處理都要告訴它,要求學(xué)會(huì)沉穩(wěn),心態(tài)要穩(wěn)定,要求交流的語(yǔ)句一定要明了含義單一。

怎樣才能很快的學(xué)會(huì)c語(yǔ)言,更快的度過(guò)磨合期呢?C語(yǔ)言的語(yǔ)法規(guī)則記憶理解當(dāng)然是不可少的,除此之外還應(yīng)注意以下幾個(gè)方面:

1、 好好理解一下變量和函數(shù)的概念,至少要重新回頭看看初等數(shù)學(xué)。這是基礎(chǔ),否則就會(huì)先天不足,你學(xué)的再好,也成不了大氣候。

2、 平衡心態(tài),雖然不能做到“不以物喜,不以己悲”的水平,但至少不要浮躁,不要急于求成,欲速則不達(dá)。

3、 培養(yǎng)自身的全局意識(shí),既能小無(wú)內(nèi),也能大無(wú)外,才行。

4、 嚴(yán)格按照程序設(shè)計(jì)過(guò)程設(shè)計(jì)程序,不要跳脫,天馬行空,沒(méi)有規(guī)矩是不成方圓的。

5、 努力提高自身的綜合素質(zhì)。程序是人思維的表達(dá)形式,是人處理問(wèn)題思路和語(yǔ)言的結(jié)合體。你對(duì)客觀看成到什么程度和你掌握的知識(shí)成正比。如果你對(duì)處理的問(wèn)題不理解,不會(huì)處理,你怎么也寫不出程序。

6、 學(xué)會(huì)交流,多交流,相互補(bǔ)益,同時(shí)團(tuán)隊(duì)合作也是很重要的。

總之,實(shí)踐出真知,多學(xué)、多練、多思、多交流,勤奮好學(xué)才能學(xué)成。

小編推薦一個(gè)學(xué)C語(yǔ)言/C++的學(xué)習(xí)裙六六六二九五四九八 邀請(qǐng)編碼【凌云】無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!

這些是C/C ++ 能做的

服務(wù)器開(kāi)發(fā)工程師、人工智能、云計(jì)算工程師、信息安全(黑客反黑客)、大數(shù)據(jù) 、數(shù)據(jù)平臺(tái)、嵌入式工程師、流媒體服務(wù)器、數(shù)據(jù)控解、圖像處理、音頻視頻開(kāi)發(fā)工程師、游戲服務(wù)器、分布式系統(tǒng)、游戲輔助

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容