本文目錄一覽:
- 1、C語言學精通了能幹什麼,只學了C語言的人,請高級程序員回答?
- 2、精通C語言和C++能找到哪方面工作
- 3、C語言有什麼作用,能做什麼,學到什麼程度才算精通
- 4、如果精通C語言,能從事哪方面的工作?
C語言學精通了能幹什麼,只學了C語言的人,請高級程序員回答?
這個問題有點像,學習英文有什麼用?回答是,英文沒有任何用途,但是用英文寫的書籍、資料確實相當的有用,甚至是不可缺少的。 同樣,僅僅孤立的學習c,除了能通過考試,也沒有任何用,但是問題就是目前大多數的公司的項目,以及開源項目,都是用c來描述的,他們很有用。
c無所不能,僅僅懂得語法卻是一無是處。
如果你精通了windows下的api,那麼你可以用c開發任何的windows應用程序,當然也可以不用c,用任何一門你喜歡的語言,只要你有相應的編譯器。
如果你想開發其他os的應用程序,也只要學習相應os平台的api即可。
如果你想開發一個驅動程序,你應該學習你所對應操作系統的驅動框架以及硬體的知識,最後再用c來實現,最後的實現也許用的最多的就是賦值語句,例如向地址為0x7F000000地方寫一個數0x1234,至於為什麼是這個地址以及為什麼要寫這個數,你可能研究了一周的datasheet才得出結論。
如果你的強項是演算法,假如你能把一張8G的dvd能壓縮成8M並且畫質還可被大眾接受,那麼你只需要把論文發表,論文上用數學的原理把這個事情解釋清楚就可以了,到時候會有無數的小弟幫你編程實現。如果你沒有達到這個高度,你想要看看其他人的演算法,這個演算法的實現雖然說和具體語言沒有任何關係,可大部分的還是c描述的,所以學了c也不吃虧。
說多了,其實還有個問題想說,就是為什麼要從c開始
如果說這個行業是一個江湖,那麼各門語言好比兵器,既然使寶劍人的多,以及大多數的武林秘籍都是劍譜,那肯定有他的道理,不要為了耍酷就選一個狼牙棒或者九耳大環刀之類的東西,因為你上來就選這麼一個東西,不好和人組隊啊,就不利於你的提高,反而踏踏實實練劍的人到了一定界別,無論什麼兵器,拿過來熟悉熟悉就能用,所以那些爭論那種兵器好的人有兩種,一種是剛學武功的人,會了一招半式跟著瞎起鬨的,他用什麼就說什麼兵器好;一種就是拿狼牙棒的高手,這種人比較陰暗,他怎麼練到這個地步的他不說,只說他的狼牙棒有多好。
精通C語言和C++能找到哪方面工作
C/C++語言應用是非常廣泛的,那麼學習C/C++能用來幹什麼呢?
1. 實驗室開發
不敢說C++是世界上最好的語言,但C++基本是工科生中的大語言。
都說C++兼具面向過程以及面向對象的特性,既擁有比較優秀的運行速度,又有良好的大型項目開發能力,那簡直可以制霸高校實驗室了。
2. 後端開發
主流的後端開發語言就那麼幾種,以Java、C++領銜,Python和Go緊跟其後。
3. 遊戲開發
掌握了C++基本語法之後,開發遊戲也依然是一個不錯的選擇,目前工業級別的3D遊戲引擎仍然是用C或C++編寫的。
雖然以個人能力無法去完成一個龐大的網路遊戲,但是從簡單開始,編寫一些小遊戲,然後逐漸深入,循序漸進並最終加入大型遊戲開發團隊還是非常好的一個選擇。與之相應的就業崗位主要有遊戲開發工程師、遊戲引擎架構工程師等。
4. 客戶端開發
畢竟C++已經是一個很成熟的語言了,所以除了後端開發其實它還有很多其它的開發崗位可以選擇。自然而然的,就是客戶端開發了。
相信大多數學C++的同學都用過C++寫桌面軟體吧。那時候估計還是用MFC,照著代碼書上敲一遍就能寫一個比較簡單的界面了。所以如果不想做後端,完全可以靠C++找一份客戶端開發的工作。做客戶端同樣也需要紮實的編程基礎和計算機理論基礎,同時可能還要熟悉Windows/C++編譯鏈接機制、QT客戶端開發技術體系、Windows消息機制等技術。
所以,假如你學的是C++,同時也不在乎業內莫名其名的崗位歧視鏈的話,找一個客戶端開發的工作也是非常不錯的。只不過相較於後端開發,你可能需要重新審視客戶端這個角色。
5. 多媒體開發
目前多媒體技術同樣滲入到人們的日常生活中,音視頻已經成為人們獲取信息的一個非常重要的手段。音視頻在傳輸過程中都是經過壓縮並且按照一定規則打包過的。視頻的編碼技術從最開始的H.261到如今的H.265,經歷了30多年的發展,而且實現代碼全部是由C或C++實現。
最新的HEVC編碼標準就是由C++代碼實現,對此感興趣的話在學完C++語法後,可以去ITU(國際電信聯盟)官網去下載源碼查看。與之相應的就業崗位有圖像演算法工程師、視頻編碼研發工程師、音視頻轉碼工程師等。
6. 嵌入式開發
上面幾種崗位選擇都是偏軟體方方向的,而C/C++還有一類非常大的就業方向,就是去做嵌入式。嵌入式本身可能是偏硬體一點,但是現在做個什麼事,都是軟硬不分家的。
嵌入式的開發同樣也會涉及到網路編程、並發編程等方面。通俗點解釋可能就是,嵌入式代碼是運行在別的小系統上,而不是傳統意義的計算機上。這個方向除了需要編程能力,還需要基本的電路理論素養。
一般招聘嵌入式開發崗的公司大多是以硬體產品為主的互聯網+公司,比如小米、華為等。進去公司很多都是在做物聯網相關的工作,畢竟這是熱點。當然也會有其它的業務方向,例如晶元、機器人等。
7. 人工智慧
人工智慧、機器學習等方向也少不了C或C++語言的身影。
需要強調的是雖然C++語言可以從事的方向非常廣泛,但是僅僅掌握C++語法是遠遠不夠的,上述的應用領域C++語言是基礎,進入這些領域還需要進一步深入系統學習相關領域的知識以及去接觸真實企業項目的內容。
C語言有什麼作用,能做什麼,學到什麼程度才算精通
C語言是比較底層的程序語言,主要是用來編寫一些底層的軟體(比如操作系統)。理論上當然C語言可以做任何事情,但是只是理論上而已。比如,要去一個地方,可以走路,可以坐車,可以坐飛機。有些地方坐飛機或者汽車是去不了的,但是只要是陸地,基本上沒有走路到不了的吧。C語言就基本上處在走路的位置了。
C語言本身很簡單,很容易可以精通。但是,語言只是個工具。一把小刀在我手裡可能只能削蘋果,在小李手裡,那是威力巨大呀。計算機系統/演算法/協議等等才是真正意義的武功,C語言只是把刀。
如果精通C語言,能從事哪方面的工作?
眾所周知PHP或java等編程語言是比較容易學習,是快速上手的編程語言,特別是PHP,有些人一周時間就可以開發博客系,而C語言是目前所有編程語言中公認難度最大的,需要學習技術,掌握知識比較廣泛,需要你不斷在練習磨鍊,所以不像外面培訓機構說的幾個月就可以出去找工作的。
C語言學到什麼程度可以出去找工作?
第一,熟練C語言基礎編程,學會使用linxu系統,常用用法,設計基本的api,C語言在開發項目中如果你連基礎都沒有掌握,你是沒有辦法繼續開發項目或看懂別人的基礎編程代碼。
第二,指針,學習C語言的程序員都知道,指針是C語言中最常用也是最基本的,很多程序的BUG都是與指針熟練程度有直接關聯,所以老手平時喜歡說新手如果這個你都搞不懂,你就應該再去看看C語言的基礎。
第三,記得寫文檔,還要看懂別人的寫的文檔。很多開源項目都是可以直接再次開發,自己開發的地方要記得寫文檔,當然在看法之前先看別人的文檔,要不然你沒有辦法下手。
第四,查看BUG,調試BUG。C語言每次運行程序都是要編譯過程,在編程過程是沒有辦法直接修改BUG,所以要懂得調試BUG。
第五,簡單演算法,新手開發項目中很少涉及大量演算法,一般都是簡答的演算法。
第六,項目實戰。項目實戰是考察你是否真的掌握C語言的基本開發技能。所以至少可以自己獨立完成簡單的項目,比如,簡單計算器,貪吃蛇遊戲。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279915.html