c語(yǔ)言程序設(shè)計(jì) c語(yǔ)言項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)那本書(shū)好?
c語(yǔ)言項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)那本書(shū)好?謝謝你的邀請(qǐng)!首先,肯定您的選擇,學(xué)習(xí)C語(yǔ)言不會(huì)讓您后悔!這種語(yǔ)言被稱為上帝般的語(yǔ)言。編程界有一句話:真正的程序員使用C語(yǔ)言學(xué)習(xí)程序設(shè)計(jì)要遵循一定的科學(xué)規(guī)律,不能令人驚訝地
c語(yǔ)言項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)那本書(shū)好?
謝謝你的邀請(qǐng)
!首先,肯定您的選擇,學(xué)習(xí)C語(yǔ)言不會(huì)讓您后悔!這種語(yǔ)言被稱為上帝般的語(yǔ)言。編程界有一句話:真正的程序員使用C語(yǔ)言
學(xué)習(xí)程序設(shè)計(jì)要遵循一定的科學(xué)規(guī)律,不能令人驚訝地學(xué)習(xí),這涉及到你是否有語(yǔ)言基礎(chǔ),是否有人指導(dǎo)你,準(zhǔn)備好的材料是否充足,學(xué)習(xí)路線是否合理等等。!每天學(xué)習(xí)8小時(shí),如果你有語(yǔ)言基礎(chǔ),那么你可以基本掌握一周左右的語(yǔ)法,然后在一個(gè)月左右的時(shí)間里做一些綜合性的實(shí)驗(yàn),你基本上可以用C來(lái)開(kāi)發(fā),你可以在使用它的同時(shí)學(xué)習(xí)。如果沒(méi)有語(yǔ)言基礎(chǔ),學(xué)習(xí)C語(yǔ)言是相當(dāng)困難的,因?yàn)檎Z(yǔ)言涉及許多抽象概念。如果不能建立一個(gè)有效的圖景,許多概念就很難理解。例如,內(nèi)存空間的應(yīng)用和釋放是C語(yǔ)言中最常見(jiàn)的操作。沒(méi)有語(yǔ)言基礎(chǔ),仍然很難理解。
建議如果你想有效利用時(shí)間,最好有專業(yè)的指導(dǎo),這樣肯定會(huì)縮短你的探索時(shí)間,并獲得一些開(kāi)發(fā)和調(diào)試程序的經(jīng)驗(yàn)。
如果您周圍沒(méi)有此類資源,則必須觀看網(wǎng)絡(luò)上的視頻資料。觀看視頻對(duì)專業(yè)程序員來(lái)說(shuō)是浪費(fèi)時(shí)間,但對(duì)于初學(xué)者來(lái)說(shuō),沒(méi)有基礎(chǔ)是一個(gè)很好的選擇。雖然節(jié)奏很慢,但你有足夠的時(shí)間去理解。一開(kāi)始,你可以用視頻做實(shí)驗(yàn),逐漸增加自己的練習(xí)量。
每天學(xué)習(xí)8小時(shí)C語(yǔ)言的時(shí)間稍微長(zhǎng)一點(diǎn)??梢圆迦霐?shù)據(jù)庫(kù)內(nèi)容。一方面,你可以改變你的想法。另一方面,數(shù)據(jù)庫(kù)也是編程中必須使用的工具。
學(xué)習(xí)C語(yǔ)言是一個(gè)漫長(zhǎng)而痛苦的過(guò)程。C語(yǔ)言是一種先難后易的語(yǔ)言。初期會(huì)比較困難,過(guò)了這個(gè)階段會(huì)更好。我們應(yīng)該逐步培養(yǎng)自己的編程思維,從問(wèn)題的根源上解決問(wèn)題,不要太過(guò)形式化。
最后,祝你早日掌握這門神似的語(yǔ)言
每天學(xué)習(xí)八小時(shí)C語(yǔ)言,大概多久能完全掌握?
我在C上工作了6年,我覺(jué)得這個(gè)領(lǐng)域的需求還是很大的
第一,嵌入式設(shè)備:幾乎所有的硬件設(shè)備都離不開(kāi)C,手機(jī)和Android設(shè)備都是Linux內(nèi)核,純C,硬件都是驅(qū)動(dòng)的,都是C,單片機(jī),數(shù)據(jù)機(jī)。
第二,網(wǎng)絡(luò)設(shè)備:各種網(wǎng)絡(luò)設(shè)備、光纖設(shè)備、交換機(jī)、防火墻、小型家庭路由器、TCP/IP協(xié)議都是用C語(yǔ)言編寫的,C語(yǔ)言的需求和網(wǎng)絡(luò)的發(fā)展空間一樣大。
第三,服務(wù)器端:大部分服務(wù)器端程序都是C,精通nginx和squid,可以使公司上市,如Netshop技術(shù)。云服務(wù)離不開(kāi)C。亞馬遜,業(yè)界最強(qiáng)大的云,不能靠買書(shū)來(lái)做這么多。還有流行的大數(shù)據(jù)、IPv6等,涉及的業(yè)務(wù)非常廣泛。很多工具都是用C寫的,比如PHP,python…
但是C不是那么簡(jiǎn)單,不僅僅是語(yǔ)法,比如Linux驅(qū)動(dòng)程序,你應(yīng)該熟悉內(nèi)核架構(gòu),并且有一些硬件知識(shí)。C有很多開(kāi)源代碼要看。歡迎大家補(bǔ)充
我認(rèn)為我們需要不斷的學(xué)習(xí)和語(yǔ)言實(shí)踐,也就是知識(shí)的積累和舌頭的靈活性,才能使語(yǔ)言得到快速的提高。
C語(yǔ)言能干什么?
只有精通C語(yǔ)言的程序員是遠(yuǎn)遠(yuǎn)不夠的,更不用說(shuō)C語(yǔ)言了,即使你只精通Java,精通C,都不是程序員,為什么?請(qǐng)繼續(xù)閱讀:
了解C語(yǔ)言意味著你可以根據(jù)C語(yǔ)言的語(yǔ)法編寫一段代碼,但它只是一段簡(jiǎn)單的代碼。想讓代碼有靈魂,那就是能夠在實(shí)踐中解決問(wèn)題或滿足客戶的實(shí)際需求。試想一下,客戶讓你做一個(gè)網(wǎng)絡(luò)視頻傳輸模塊,你需要了解視頻從客戶端服務(wù)器到終端的交互過(guò)程,才能編寫這個(gè)系統(tǒng),而你只能用scanf函數(shù)從鍵盤上讀取一個(gè)數(shù)據(jù),然后用printf函數(shù)輸出數(shù)據(jù),這只能說(shuō)明你的C語(yǔ)言語(yǔ)法不錯(cuò),但有什么用呢?您幫助客戶解決了哪些問(wèn)題?
算法是程序的靈魂,程序員在編寫每一個(gè)C語(yǔ)言代碼時(shí)都會(huì)不知不覺(jué)地使用一些算法。其中最常見(jiàn)的是人體識(shí)別算法。
也許你可以用C語(yǔ)言的指針很流暢,用C語(yǔ)言的鏈表很方便,用C語(yǔ)言的二維數(shù)組就不用說(shuō)了,但只要寫這些就可以認(rèn)出一張臉了?顯然不是。
算法就像一張印有規(guī)則的紙。你看看紙上的規(guī)則,然后用你學(xué)過(guò)的C語(yǔ)言語(yǔ)法,按照規(guī)則寫代碼。算法的靈魂在于代碼。
要為客戶做生意,僅僅理解一種編程語(yǔ)言是不夠的。例如,如果你懂Java,Android的開(kāi)發(fā)是非常順利的。但是如果你想在Android手機(jī)上實(shí)現(xiàn)視頻采集,目前只懂java是不夠的。這種與視頻處理相關(guān)的底層功能需要借助原生方法,而原生方法通常是用C語(yǔ)言實(shí)現(xiàn)的。
大多數(shù)情況下,許多編程語(yǔ)言相互補(bǔ)充以實(shí)現(xiàn)一個(gè)目標(biāo)。
以上只是程序員學(xué)習(xí)的一小部分,程序員要學(xué)的東西太多了,技術(shù)日新月異,要保持一顆學(xué)習(xí)的心!