{eval=Array;=+count(Array);}
謝邀,區(qū)塊鏈底層技術(shù)研發(fā)工程師一枚,攜滿腔熱情來怒答一發(fā)。
c語言是個好東西,編程語言中的戰(zhàn)斗機,上至應(yīng)用系統(tǒng),下至操作系統(tǒng),都可以來用c語言操作一發(fā),可謂是用途之多,下面我就列舉以下:
大名鼎鼎的linux就是c語言實現(xiàn)的,而且時至今日,linus也是到處反對c++,認(rèn)為c是最好的語言。linux可能80%都是c語言實現(xiàn)的,剩下的20%可能是一些腳本和匯編語言實現(xiàn)的。c語言比較高效,也適合和設(shè)備打交道,所以要開發(fā)個什么驅(qū)動啊,寫個什么底層網(wǎng)絡(luò)庫啊,c是比較適合的。
所以學(xué)了c語言,首先可以做做嵌入式相關(guān)的項目。
在要求安全性和性能的領(lǐng)域,c語言往往是第一的選擇,而實時通信和服務(wù)端處理則是這樣的領(lǐng)域。我們能在網(wǎng)絡(luò)上看到很多招聘中后臺選擇一些跟高級語言的,但是也有后臺選擇c/c++的,尤其是一些性能要求高的場景的項目。
所以學(xué)了c,可以試著做做網(wǎng)絡(luò)相關(guān),后臺相關(guān)的項目。
c語言是最經(jīng)典的語言,也是每個程序員必須掌握的語言,學(xué)好c語言,能對你的技術(shù)有更好的幫助,學(xué)好c語言,也是每個程序員要成為高手的必備條件。
做項目是有計劃,完成時間的這點就要求我們對基礎(chǔ)的東西必須掌握
1、C語言關(guān)鍵字,用法你得明白吧,基本的api。掌握的越好越熟練。寫起代碼來也就更帶勁了。
2、數(shù)組指針各種用法要熟記于心靈活應(yīng)用,程序bug多少跟你對指針的熟練程度關(guān)系那是相當(dāng)大,這個搞不定項目我看你就別做了,還是多去看看書了。
3、算法得熟悉,雖然大部分項目都用不著什么牛逼的算法,但是小范圍的使用基礎(chǔ)算法還是很多的。牛逼不牛逼體現(xiàn)的都在算法上。
4、文檔會看不,做項目完全自己開始從零寫代碼的可能非常的小,都是利用一些開源的東西改成自己想要的,所以看文檔必須會。
5、bug會跟蹤會調(diào)試不,分析查找問題都得通過bug調(diào)試來追蹤。這個也能體現(xiàn)能不能做項目。上面這些都是得必須掌握的基礎(chǔ),沒有這些基礎(chǔ)做項目免談。
項目開發(fā)代碼部分是實現(xiàn)劃分的模塊功能。
1、完整清晰的思路來保證如何實現(xiàn)我們的功能模塊,畢竟項目架構(gòu)師不可能去實現(xiàn)具體的模塊,這些都是碼農(nóng)們干的事情,你能獨自設(shè)計一個功能模塊嗎。
2、寫代碼的熟練度,這個東西不好評估。只此一條,就是你一口氣寫完一個單一的功能模塊。編譯錯誤很少,稍許改動就能運行調(diào)試。這個就說明你做項目至少在code上已經(jīng)達到開發(fā)項目要求了。
C 語言很強大,很牛逼,可以做如下東西:
C 語言可以做嵌入式開發(fā)。51 單片機、ARM 等....
C 語言可以做服務(wù)器開發(fā),游戲服務(wù)器端大多都是 C/C++ 開發(fā)的。
C 語言,可以寫游戲。cocos2d-x 就是 C/C++ 寫的。DirectX 也是。
C 語言還可以寫驅(qū)動的開發(fā),各種硬件的驅(qū)動都是 C /C++ 寫的。
C 語言可以做視頻圖片流媒體處理。
C 語言不僅如此,其實 C 語言也可以寫界面,例如 soui 就是用 C 寫出來的。
而且很多系統(tǒng)的底層都是用 C 寫的。 C 語言學(xué)好了,真的可以干很多事情。
我也是C學(xué)習(xí)者,如果你真的是想用C來做項目,那是需要一段很長的積累時間,首先,項目不是簡單的一個小程序,C有得天獨厚的硬件控制優(yōu)勢,要用C做項目,一定是底層開發(fā),如寫驅(qū)動,寫芯片等等,這些是需要深入學(xué)習(xí)C編程的,而且你要熟悉PC的原理,熟悉操作系統(tǒng),如果你旨在搞底層開發(fā),你就要有足夠的勇氣走下去,因為底層開發(fā)需要很多知識和努力,一般,學(xué)C只是為了打基礎(chǔ),為了了解面向?qū)ο?,如果你真的想底層開發(fā),那就要好好加油,如果你想鞏固好C以方便以后面向?qū)ο蟮膶W(xué)習(xí),寫寫小型的程序是可以的,如:學(xué)生成績管理系統(tǒng),圖書館借閱系統(tǒng),其實這些都是舉一反三的,好好的寫一個,其他的都差不多……關(guān)鍵是寫的時候要有自己的想法,敢于創(chuàng)新。
這個問題反過來思考比較貼近生活,先確定要做什么項目,再考慮是不是要用c語言!你要做網(wǎng)站項目,你鼓搗c語言作甚?你要開發(fā)手機app,也沒必要鼓搗c語言!你要開發(fā)sql或者access項目,也不用考慮c語言了。。。那c語言有啥用呢?第一,考試!第二,嵌入式開發(fā)!第三,與圖形界面無關(guān)的算法演示、patch補丁啥的。當(dāng)然,如果一定要用c語言來解決所有問題,也只是時間問題,毅力足夠的話,放手開干就行!
作為一名c,c++,java語言都研究過的小碼農(nóng)來回答您這個問題
首先語言這個東西在我看來對于一些練手項目的話都能寫,但是如果是正經(jīng)項目的話就要考慮每種語言的優(yōu)點了,單純學(xué)完了c語言的話建議可做如下方面:
1. 系統(tǒng)的開發(fā)和優(yōu)化
2. openkinect 也是c語言所開發(fā)
3. Linux 平臺上 GTK+ 應(yīng)用程序的開發(fā)
4. 自然語言處理
5.算法方面-工資也很高,市場需求很大
6.如果你真的學(xué)通了c建議你研究一下其他語言,幾多不壓身,你會發(fā)現(xiàn)其他語言原來如此。
現(xiàn)在很多牛逼的軟件工具都是c語言開發(fā)的,比如 mysql, nginx等等 c語言的oop擴展的oc現(xiàn)在是ios的主流開發(fā)語言, 可以去開發(fā)ios上面的app。
當(dāng)然作為比較底層的語言還可以開發(fā)一些客戶端工具軟件等等,當(dāng)然用c開發(fā)會比較吃力,學(xué)點c++, 現(xiàn)在大型web底層處理都是c++支撐
10
回答0
回答0
回答2
回答0
回答10
回答1
回答0
回答10
回答7
回答