1. C++編程是什麼意思啊
計算機皮碧專業語言。
簡單來說,就是編寫編定程序,讓計算機代碼解決某個問題,對某個計算體系燃猛舉規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的想法知敗,人類通過某種方式,將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴它,讓計算機完成人的指令。
2. C/C++!成為一個C/C++程序員要多久每天練三小時,多久後可找到工作
從不會到找到一個普通的工作 一年左右吧 我計算機專業 不過剛開始專業課 看了看以後的專業課 平均每天練不到一個小時 3年後畢業就能找工作了 一天3個小時差不多一年夠了 當然 找好工作的話一天得8個小時
3. C\C++程序員需要掌握什麼書籍
c/c++程序員需要掌握的書籍大概可以分成幾個方面:
計算機基礎類書籍,這類書籍包括計算機組成原理、計算機網路、資料庫、操作系統、數據結構與演算法。
c/c++類專業書籍,這類書籍包括基礎的C語言程序設計、C++primer。
擴展類書籍,c/c++相關擴展類,推薦的有C陷阱與缺陷、深度探索C++對象模型、effective C++。
平台擴展類書籍,這類就要看你在哪類系統下做開發,一般常用的系統平台是嵌入式、windows、Unix及ios(object C++),這類書籍就比較多了,可以按照個人需求選擇。
按照上述推薦的理由是:
學習計算機語言需要一定的基礎,這類基礎是非常重要但是很無聊的,後續在做開發的時候會覺得非常實用。
學好語言其實不是非常麻煩的部分,一般的教材類書籍即可,重要而麻煩的是在敲代碼的過程中去熟練掌握、運用和創新。
擴展類書籍3可以幫助你更深入的理解你所學到的東西,而深入理解是程序員進階的必經之路。
平台類書籍略有區別,但是標准C++是一樣的,只是針對各自平台做了相應擴展(objectc++除外)。如果需要在某個平台下做開發,或者學習再去學習使用即可。
4. c++程序員需要學什麼
c++程序員需要學以下9點主要知識:
1. 語言基礎
我們要成為一個程序員,學的東西會很多很雜,但是最開始一定要從語言開始學習。
學習語言的目的就是打好基礎,特別是自學的,一定規劃好自己的學習路線,一步一個腳印學習下去。學習語言最關鍵的莫過於多讀書,但不能隨便找一本C++書籍就去讀了。
2. GUI
C++方面的GUI庫有很多種,比如MFC、WTL、wxWidgets、QT。
這些GUI庫都各有自己的特點,其實我們只要先了解一種就可以了,只要深入了解了一種GUI庫。
需要的時候再學習其他的就夠了,本質上都差不多,很快就可以上手了。
MFC雖然設計上有很多問題,但是作為入門還是不錯的,而且學習資料很多,碰到問題也好解決。
3. 數據結構和演算法
很多人都忽視了數據結構和演算法方面的知識,尤其是一些編程語言的庫做得非常好;幾乎不需要自己去實現一些數據結構和演算法,導致現在很多程序員不重視甚至忽略這方面的知識。
但是,當我們想讓我們的程序跑得更快、內存佔用更少的時候,這些知識就非常非常重要了。很多程序員都是剛開始的時候不重視這些,但是工作幾年後又來補習這些知識。
最開始可能不需要學習的太深入,但是基本的數據結構和演算法一定要知道。
4. 資料庫
學習資料庫的基礎知識,並且掌握一種資料庫使用。
推薦使用Oracle,而且最好不要用一些封裝好的介面。
而應該直接用Oracle提供的資料庫API,可能對資料庫了解的會更深入。
5. 並行
CPU主頻已經不能遵循摩爾定律了,現在CPU發展的趨勢是多核心。無論是多線程,還是多進程,都是為了更好地利用CPU的性能,提供更好的用戶體驗。這就要求我們如果要寫出高效的應用程序,必然要涉及到並行計算。多花些精力在並行計算上吧,一定會有豐富的回報。
6.網路編程
這里所指的網路編程是指socket編程。
現在C++的應用很多都是在做伺服器開發,如何開發一個高並發、大吞吐量、高穩定性的伺服器就是我們要考慮的了。
7. 設計模式
設計模式不是具體的技術,更多的是如何讓代碼更容易閱讀、更好擴展、更容易使用。
8. 庫的使用
C++標准庫僅僅提供了一些很基本的功能,所以我們經常會引入一些第三方庫。最著名的恐怕就是被稱為准標准庫的boost庫,它提供了我們編程中用到的各方面的技術,文本處理、演算法、網路、多線程、圖像處理等等,幾乎無所不包。
其它也有一些專注於某一方面的庫,比如ACE是網路通信方面的,TinyXML是解析xml的,OGRE是圖形渲染方面的。
9. 操作系統的知識
程序員需要了解的操作系統知識和普通用戶是不一樣的一個高手是需要深入了解操作系統的方方面面,而不是停留在使用層面。
至於應該了解哪些知識,Windows上的去看《Windows核心編程》,Linux的去看《深入理解Linux內核》,應該可以知道自己應該學什麼了。
以上都是學習C++游戲開發的前期准備,也就是打好基礎。上面都是基本功,看起來有點多,但是磨刀不誤砍柴工。這對於你後面學習游戲開發有非常大的幫助。總而言之,道路還是很艱辛的,且行且珍惜!!!
5. 不懂C/C++就不是真正的程序員嗎
C++更偏向底層,與操作系統關系甚大(如內核對象,多線程等),所以一個程序員能夠把C++學好那他對操作系統乃至計算機組成等各方面應該都有較深的研究,他們往往能夠開發出更為高效,實用,功能強大的軟體,因此當然算是一個好的程序員,但如果從當今市場來說,能夠轉變成高效生產力的技術才算是真正的好技術,能夠高效創造更多經濟利潤的程序員才是好的程序員,這要看你怎麼看了。。。
6. C程序員待遇如何_c++程序員工資
軟體開發工程師在IT行業當中算是較高的,C程序員相對於其他程序員又能高一節;究其原因也就是因為C較難上肆團手,沒有一定計算機基礎,要想學出來肯定得下苦功夫;不過一旦入門,以後的發展空間是很大,在南京,C程序員起薪基本讓橡就是5k,而且C程序員格外難招聘,南京也是一座軟坦雹旁件名城,軟體培訓業非常多,一般人學不下去就直接轉java了,真正的去做C培訓的幾乎沒有,不過如果C能用得很好的話,其他計算機編程語言都不在話下,但是C確實比較難一些,但也不是學不會的,老話說得好,「只要功夫深鐵杵磨成針」,真心想學習C的話,最好本科以上學歷,理工科專業,可以去江蘇萬和看看,那邊的C培訓是南京最好的
7. 怎樣自學C++,以成為程序員
每個人的情況不一樣,我下面的描述可能並不適合每一個看到這篇文章的人。
一、C/C++語言
如果你的基礎很差, 建議不要一開始就學C++語言,從C開始學起,對程序有個初步的認識,循序漸進。C語言的書嘛,先買一本 300 頁以內的,把書中的每一個例子都通過鍵盤敲打進去到 Visual studio裡面去,然後單步執行,逐行調試去看各個變數的值。或者自行添加一些printf語句去輸出變數的值。這樣當你看完一本書後, 你就有編寫小程序的感覺了。
記住,千萬不要偷懶,不敲進去,自以為聰明, 能看懂, 或者直接從光碟復制。偷懶的代價是會花費更多的時間學習,最後還沒有學會,給自己的自信心造成巨大打擊,再也不想學程序了。
C語言看完一本書後,下來你就可以買一本C++的書看了。 C++的書也是一樣, 必須300頁以內的那種,不要一來就想學《C++ Primer中文版》這樣的好書, 因為太厚了,怕你沒有信心能夠看完,即使你很有信心,花費一年的時間才看完,不值得。這種經典的厚的好書, 適合作為資料查閱,不適合挨個細節都看。
還是要提醒各位,一定要把書中的例子挨個敲打到電腦裡面, 單步執行。一定不要從光碟復制, 一定要單步執行。
經過兩本書的磨練, 估計你對C/C++肯定有比較深入的了解了, 下來應該可以進入實戰了。
二、帶界面的應用程序
學會了C/C++語言本身,可能還沒有什麼成就感,畢竟都是控制台的程序, 老是輸出一串字元串, 整天面對各黑框框,成就感估計不是那麼爽。要是能搞個帶UI界面的程序就爽了。
下來就看個人的志向了, 如果走微軟路線, 那你下來學MFC好了,如果要走開源路線, 那開源跨平台的界面庫多得是。
通用的並且簡單的就是 wxWidget 了, 官方網站為 www.wxwidgets.org/ 。你下載後看具體的例子, 把裡面的例子程序敲到你的 visual studio 裡面, 去調試, 看運行的結果, 你也可以試著去修改例子, 添加按鈕,響應按鈕事件等。
走到這一步, 恭喜你,可以照葫蘆畫瓢的搞個小應用程序了, 還帶界面。
三、網路應用程序
語言搞懂了,UI程序也會了, 下來該學學網路咯, 現在那個程序不需要聯網啊,懂網路對你理解很多程序非常有幫助。但是網路應用程序從哪裡入手呢 ?
我來告訴你,從《UNIX網路編程》這本書入手吧,這本書可以教會你網路套接字的底層原理,把上面的例子好好學習,自己動手寫一個回應伺服器。寫一個伺服器端,在寫一個客戶端。伺服器端請務必學會 select 這個簡單的多路復用模型,這樣你才能慢慢的深入裡面 poll , epoll ,IOCP 之類的模型。
四、文件操作
所有的程序,基本都會用到文件的讀寫操作,windows系統有自己的文件操作API, 比如CreateFile, DeleteFile 等,請新手不要學windows的文件操作API, 新手請學標准C語言的文件操作函數,簡單易學還跨平台。就那麼幾個函數,三下五除二你也就學會了, fopen, fclose, fread , fwrite, fseek, ftell 就這么幾個而已。
五、深刻理解內存與指針的關系
作為一個C/C++程序員, 從學習程序的頭一天開始,就要和內存的分配釋放作斗爭。你必須理解內存與指針的關系。怎麼樣才能理解呢, 請大家去看 《高質量C/C++編程》裡面自帶的幾個經典例子吧。把那幾個例子搞得清清楚楚, 基本能夠理解其中的原理了。
六、仔細研究apache源碼
學程序非特別是C/C++程序,非3年之功可以出山,三年對一個C/C++程序來說是一個從量變到質變的過程,三年的項目實戰經驗,可以讓你接觸到一個完整的應用程序所需要具備的骨架。但是這個階段你寫的代碼,可能充滿BUG, 會宕機,運行效率很差,自己回頭看看一年前寫的代碼,可能自己都感覺惡心, 看不下去。沒有關系,這種感覺是每一個進步青年都會有的。要提高自己的代碼水平, 還是要像高手學習。你可能要問,公司同事的水平一般, 水平好的人家也不願意給我講。沒有關系,開源的代碼就是你像高手學習的最佳途徑,開源代碼是高手留下的練功秘訣, 你看了後你會突然感覺茅塞頓開, 感覺自己的水平差人家太遠了。我為何要推薦apache的源碼呢?
apache的源碼是高手中的高手寫的,執行效率和程序架構堪稱一絕。裡面的很多思想是所有程序都通用的,搞懂了, 很多模塊你也可以直接拿來使用。apache對內存池的使用, 對線程池的使用, 對模塊結構的封裝,非常具有實際意義。要是你能把apache的源碼吃個透徹,每一個細節都搞明白了為何人家要這么實現,我可以給你說,「恭喜你 , 你離傳說中的高手已經不遠了。」
七、修煉C++
我上面說的基本都是修煉C的, 要修煉C++, 還得再花3年功夫, 才有可能練成C++高手。C++太博大精深了,其中最復雜的莫過於泛型編程思想,不要以為能寫個模板類就認為泛型編程不過如此而已。仔細看看STL源碼, Boost 源碼, 你就知道泛型編程有多麼的博大精深了。修煉C++, 可以從用C++封裝的MFC, wxWidget入手, 看高手如何通過C++語言, 封裝這樣龐大的UI庫,裡面應用了很多的C++機制, 最典型的就是多態機制, 還有很多的設計模式應用可以研究。
八、深研設計模式
設計模式是程序設計的靈魂,是通用方法,當你面對一個大型項目的時候,如何設計一個有彈性的系統,是所有系統分析員應該掌握的技能。在設計模式的研究上,要結合實際的項目進行。
8. c++程序員 是什麼樣的崗位
就是主要使用C++開發的程序呀,就是開發崗。
一般是後端類用c++
9. c/c++程序員的平常工作是怎麼樣的。
程序員是從事程序開發、維護的專業人員。一般我們將程序員分為程序設計人員和程序編碼員,但兩者的界限並不非常清楚,特別是在中國。
作一個真正合格的程序員,應該具有的素質。
1:團隊精神和協作能力
團隊精神和寫作能力是作為一個程序員應具備的最基本的素質。軟體工程已經提了將近三十年了,當今的軟體開發已經不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。
2:文檔習慣
文檔是一個軟體系統的生命力。一個公司的產品再好、技術含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體作坊。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。
3:規范化的代碼編寫習慣
知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。 一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說他不是一名合格的程序員。
4:需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
5:模塊化思維能力
作為一個優秀的程序員,他的思想不能在局限當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能是系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
6:測試習慣
測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。
7:學習和總結的能力
程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟體設計師、系統分析員、項目經理。
作為高級程序員,乃至於設計師而言,除了應該具備上述全部素質之外,還需要具備以下素質:
1、 需求分析能力
2、 整體框架能力
3、 流程處理能力
4、 模塊分解能力
5、 整體項目評估能力
6、 團隊組織管理能力