㈠ 怎樣提升自己單片機C語言編程能力啊求高手指點迷津!我硬體也懂一點 但我想朝編程方面發展 跪求高手指教
到樓主描述的這種程度,比較實際的只有兩種方法:一是實踐,實際做一個較大的項目,二是多看看網上的一些好的範例,哪怕是你做過的項目,重點不是看其所實現的功能,而是看其源程序的特點和結構!個別的可以關注一下演算法。還有一種方法,學一些軟體專業的必修基礎課,了解軟體編程的思維模式,這可能要搭些功夫,而且影響是潛移默化的,如果不是搞純軟體的話,個人觀點可以不學。
C語言編程能力並不完全體現在代碼的編寫效率和執行效率高。注意:是不完全,這方面的提升與個人的邏輯思維能力和其它知識水平有關。舉個例子:假如讓你編制一個函數實現求arctan反三角函數的值,你會怎麼做?如果你不知道採用級數展開的方法就無從下手。其實這考驗的是你的數學水平。所以這方面的提高是綜合性的,無法具體而談。
可以提升的我認為體現在如下幾個方面,這幾方面做好了,同樣也可以說具備相當的編程能力了。
1、軟體版本管理:任何軟體,每次修改發布後必須更新軟體版本號,這點工作後尤其關鍵,我見過這方面不認真的,別多了,3、4個版本後就焦頭爛額。
2、源程序中多些注釋:比如函數的功能描述、入口參數說明、返回值說明、調用的要求、完成日期等。另外,關鍵演算法的說明也應該注釋。常言道:好記憶不如爛筆頭,不能太過相信自己的智商。
3、工程化管理源程序:比如對一些常數、介面地址、數據類型定義(typedef)、數據結構定義、自定義的函數聲明等,應寫入單獨建立.H文件,然後在其它.C文件中包含。.C文件,如果軟體大的話也盡量的按照功能分別建立,然後在工程中包含。
4、有時,一個軟體會針對不同型號的設備,此時應採用#ifdef等編譯控制語句加以區分;而且,為方便調試,有時需要對一些狀態或變數賦與初值,而正式版本中不能要,也可以採用這種方法,便於管理,不易出錯。這部分內容應放在前面所說的.H文件中。
5、盡量多使用函數,這樣模塊化強,也能通過函數名看出函數功能,易於代碼閱讀。最簡單的例子就是初學者常用的Delay()。不過也別太過了,A=B+C就沒必要了。
6、對一些常數、地址,最好使用#define通過英文字元來代替,將其放在.H文件中,這樣萬一有變化,只需改一處即可,方便,又不會遺漏。比如定時器重裝值:
#define C_TH0_50MS (65536-50000)/256
如果需要改晶振,只需改此處即可。
以上注重的是整個軟體方面,下面說一些具體需要注意的,不成系統,也沒整理過,想到那說到哪吧。基本上是些規范,規范同樣代表著水平:
1、多分枝邏輯判斷類語句:應養成將所有判斷情況都寫出來、不用的注掉的習慣,這類語句包括if、switch,舉例
if(i==4)
{....}
//else if i>4
//else i<4
其中else的兩部份不用,那也寫出來,注掉。這樣幫助你保證程序的嚴密型,也有助於問題排查
2、常數、變數、函數、埠等的命名:(不要出現全局變數名與局部變數名相同的情況,雖然在C里允許這樣做)我個人採用如下規則
全局變數:類型+具有實際意義的片語或拼音,其中片語或拼音中每個字首字母應大寫。
例如: iSecondCount:一個int類型的秒計數變數
局部變數:全小寫字元,循環計數變數可以採用諸如i、j、k、n之類的無意義字元。最好不用
a、b、c之類的16進制數所使用的字元。
埠:全大寫,並使用具有實際意義的片語或拼音,使用_作為分割符。如KEY_COM
常數:前面加「C_」,後面每個單詞之間最好也加「_」,如上例中的C_TH0_50MS
函數:類似於全局變數,只是前面不加類型說明符。如Timer0、Delay、DelayMs。
3、源程序中的注釋符盡量不使用/* */,而使用//,這樣如果要臨時注掉大塊程序時,使用一次/* */就可以了,否則可能需要修改多處,麻煩。
4、格式上,注意縮進,尤其是多級判斷。而且執行體既便只有一句,有些地方也盡量不要忽略大括弧,舉例:
if(a>4)
{
a++;
}
else
{
a=0;
}
5、..............還有很多,一下想不起來。你可以自己體會,自己制定。
能力的體現方式有很多,比如說求職是否能如願。看人看細節,如果編程時養成了上述的習慣,不管你的實際水平如何,都說明了你的處事態度,在大家的智商水平差不多的前提下,無論於公於私,如果我是老闆的話會選擇你,放心的把任務交給你去做。
你先試試吧,說起來容易,做起來難,我自己的規則,我的執行度也就達到70%水平吧。
㈡ 計算機系學生,感覺自己編程能力很差勁,怎麼提高自己編程能力
想要提高編程能力,最重要的當然是:敲代碼!敲代碼!!敲代碼!!!重要的話說三遍!!!
千萬不想要想別人給你推薦幾本書或者分享幾個視頻教程資源你就以為自己能夠提升或者掌握一些編程能力了。那是一個錯誤的想法。
「編程是門手藝活」。什麼意思?得練。代碼的世界很純粹:你行就行,不行就不行。不像其他一些職業,說你行你就行不行也行,說不行就不行行也不行。要想爬的高,整日里就得琢磨怎麼「混」,是沒有什麼效果的。這一行,就不怎麼需要看簡歷,「行家一出手,就知有沒有」,三言兩語,就把你底子給摸清楚了。
開始學編程,選一個能夠迅速給予你「正反饋」的語言,先把環境搭起來,「Hello World」打出來,這就是第一步。這極其簡單的第一步,對於很多同學可能都覺得非常難,但是沒有辦法,你只有一步一個腳印地做出一個小網頁小游戲,哪怕你還看不懂代碼,都是一個字一個字照著書上敲的都可以,這樣才能使實際操作中不知不覺地掌握編程能力。也許你還會在某一天突然發現自己的編程能力原來有了這么大的提升。
㈢ 代碼量能衡量一個程序員的編程水平嗎
寫代碼是依靠來腦力生源產結果,而編程效率、編程水平、工作時長、代碼質量、運行效率、生產力......這些復雜的因素決定了最後項目的質量。有的大牛隻用50%的代碼量就解決了初級程序員需要100%的代碼才能解決的問題。所以,用「產出的代碼行數」、「每日上班敲代碼的時間」...這種指標來衡量生產力,是不科學的。
㈣ 簡歷中計算機水平怎麼描述才能更有競爭力呢
計算機水平的描述可以更加詳細一點和專業一點,比如會PS就可以描述成具備處理圖片的能力,這樣就會更有競爭力一些。
㈤ 學習提升編程水平該怎麼做
對於編程的能力提升,需要有扎實的基礎,編程語言的理論知識和編程的熟練度是否已經非常的熟悉,如果說編程語言還不是太熟悉,那麼建議把理論知識再去學習一下,多動手做一些編程的實驗,寫一些小功能的代碼來提高自己的代碼水平熟練度
如果說對代碼的理論知識非常了解,對於寫代碼的熟練度也很高,那麼快速提升編程能力的方法,就是在項目的實戰中提升自己,在一個項目中可以了解到構建一個項目的完整流程,包括最初的架構設計,功能的代碼實現,代碼的優化調試,單元測試,性能測試,覆蓋測試等等。可以在互聯網公司實習一段時間看看開發的流程,編寫一些系統功能優化的代碼,或者直接去github上面尋找優秀的開源代碼,可以做一些優化的修改,功能的添加等等,這些都可以提高自己的編程能力
㈥ 怎樣才能提高編程技術
1. 扎實的基礎。數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握他們,很難寫出高水平的程序。學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程序人人都會寫,但當發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使再精通OOP,遇到一些基本演算法的時候可能也會束手無策。
2. 豐富的想像力。不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。
3. 最簡單的是最好的。這也許是所有科學都遵循的一條准則,如此復雜的質能互換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當遇到難題的時候會去玩游戲,而且是那種極暴力的打鬥類游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,會發現那些難題現在竟然可以迎刃而解。
5. 對答案的渴求。人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要堅定信念,一定要找到問題的答案,才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會有很大的啟發。
7. 良好的編程風格。注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使代碼更容易理解,而如果代碼已經清楚地表達了思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8. 韌性和毅力。這也許是"高手"和一般程序員最大的區別。A good programming is 99% sweat and 1% coffee。高手們並不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個 10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
㈦ 怎麼才能知道自己的編程水平
不管是做哪行的,相對來說對自己的能力,都希望得到一個認證,編程的也是這樣的,自己一個人可能看不出什麼,但是卻想知道自己到底是屬於一個怎麼樣的水平,那當然是通過比較了,下面對於這一個話題?簡單聊一聊我的一些看法。
和同行溝通
比如說身邊有同事或者有接觸到同行的話可以就編程這個話題聊一聊,像一些自己覺得比較難,比較容易出錯的地方可以向同伴講一講,看看對方是如何認為的,不過這個東西也不一定有可能她擅長這一塊你擅長另外一塊,反正多多交流溝通,總比閉門造車要好,對自己總是有提高的。
做程序,最重要的就是保持心態,不能急躁,邏輯完整,我們說沒有比較就沒有傷害,如果自己覺得不錯,結果一比較,發現自己水平其實很低,總是會有影響心情的。