當前位置:首頁 » 編程語言 » 如何成為c語言高手
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何成為c語言高手

發布時間: 2023-03-23 11:25:24

1. 如何學好c語言 成為編程高手

沒有捷徑!必須一點一滴的積累,下面的資料也是來自網路。希望對你能有所幫助,
在初學C語言時,可能會遇到有些問題理解不透,或者表達方式與以往數學學習中不同(如運算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學習,待學完後面的章節知識,前面的問題也就迎刃而解了,這一方面我感覺是我們同學最欠缺,大多學不好的就是因為一開始遇到困難就放棄,曾經和好多同學談他的問題,回答是聽不懂、不想聽、放棄這樣三個過程,我反問,這節課你聽過課嗎?回答又是沒有,根本就沒聽過課,怎麼說自己聽不懂呢?相應的根本就沒學習,又談何學的好?
學習C語言始終要記住「曙光在前頭」和「千金難買回頭看」,「千金難買回頭看」是學習知識的重要方法,就是說,學習後面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學生最不易做到的,然而卻又是最重要的。學習C語言就是要經過幾個反復,才能前後貫穿,積累應該掌握的C知識。
那麼,我們如何學好《C程序設計》呢?
一.學好清升歷C語言的運算符和運算順序
這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,只要我們對此合理進行分類,找出它們與我們在數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運算符按優先順序不同分類,《C程序設計》運算符可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序.
二.學好C語言的四種程序結構
(1)順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如;a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。 順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分笑沖支結構中的復合語句、循環結構中的循環體等。
(2) 分支結構
順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖答搜,弄清各分支所要執行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。
①if(條件)
{
分支體
}
這種分支結構中的分支體可以是一條語句,此時「{ }」可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;
②if(條件)
{分支1}
else
{分支2}
這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求ax^2+bx+c=0的根
分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程序段如下:

d=b*b-4*a*c;
if(d>=0)
{x1=(-b+sqrt(d))/2a;
x1=(-b-sqrt(d))/2a;
printf(「x1=%8.4f,x2=%8.4f\n」,x1,x2);
}
else
{r=-b/(2*a);
i =sqrt(-d)/(2*a);
printf(「x1=%8.4f+%8.4fi\n」r, i);
printf(「x2=%8.4f-%8.4fi\n」r,i)
}
③嵌套分支語句:其語句格式為:
if(條件1) {分支1};
else if(條件2) {分支2}
else if(條件3) {分支3}
……
else if(條件n) {分支n}
else {分支n+1}
嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套後,語句結構變得非常復雜,對於程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用下面的語句。
④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else 語句,它的所有分支都是並列的,程序執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。
(3)循環結構:
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do –while循環和for循環。四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環。常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹後就會明白如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。
在學完這三個循環後,應明確它們的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while 循環和for循環都是先判斷表達式,後執行循環體,而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while 循環和for就可能一次都不執行。另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和 continue語句進行控制的。
順序結構、分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種演算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。
(4)模塊化程序結構
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。 因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。
三.掌握一些簡單的演算法
編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。這就要求掌握演算法,根據我們的《C程序設計》教學大綱中,只要求我們掌握一些簡單的演算法,在掌握這些基本演算法後,要完成對問題的分析就容易了。如兩個數的交換、三個數的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些演算法的內在含義
結語:當我們把握好上述幾方面後,只要同學們能克服畏難、厭學、上課能專心聽講,做好練習與上機調試,其實C語言並不難學

2. 如何成為c語言高手

最好買一些教程,跟著教程裡面的步驟去學習;如果不蘆李願花錢的話,自己上網下個電灶猛子版的教程陪辯遲學習吧。重要的是多練習例子。

3. 如何成為一個編程高手

如何成為一個編程高手, 怎樣才能成為一個編程高手

1、扎實的基礎
數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握它們,很難寫出高水平的程序。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。因此多讀一些計算機基礎理論方面的書籍是非常有必要的。
2、豐富的想像力
不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。開闊的思維對程序員來說很重要。
3、最簡單的是最好的
這也許是所有科學都遵循的一條准則,復雜的質能轉換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4、不鑽牛角尖
當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5、對答案的渴求
人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6、多與別人交流
三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7、良好的編程風格
注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8、韌性和毅力
這也許是「高手」和一般程序員最大的區別。高手們並不是天才,他們是在無數個日日夜夜中磨煉出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠差御旅不間斷地完成這一工作,你就可以滿足這一條。

入門的話路就長著

  1. 安卓開發學習書籍,精通Android2 或者 Android2高級編程,兩本都可以。

  2. 看更多的學習視頻,是許多自學android開發的新手必經之路,畢竟看書只有你一個人的思維在活躍,看視頻虛凳是兩個人的思維在碰撞。

  3. 關注安卓開發學習學習網站,DevStore(主要是開發者服務商店)還有csdn和開源中國,都是開發者經常關注的網站。

    學了基拆裂本的東西了,你就應該掌握扎實的基礎,包含語言(Java,C++),演算法,計算機原理等。對Android介面的熟悉,專一於某個方面的開發,還有就是對它的熱愛。

如何成為一個計算機編程高手

萬丈高樓平地起.那麼首先打好基礎.
抓好演算法,首先認真學習C語言或是C++語言
其次:如果向數據系統開發,掌握一些資料庫
如果硬體或嵌入式,學習介面和通訊

如何才能成為一個android編程高手

打好基礎。首先要學好四大組件的相關知識。比如要了解activity下面各個布局及控制項的使用;要學會service的生命周期及使用;要學會broadcast廣播機制的知識;要學會ContextProvider內容提供者的相關知識,學會sqlit3資料庫的使用。
多做些項目。可以先從android 自帶的demo學起。
進階。學好android的網路編程、線程、OpenGL、5等相關知識。參與公司項目。

如何成為Shell編程高手

多寫代碼,多學習各種命令和用法
學會調試,-x,然後斷點

如何自學快速成為一個linux編程高手

掌握Java的精華特性而且一定要知道為什麼。比如,Interface和multi-thread。用interface是更好的多繼承的模型,而多線程則是設計到語言一級的重要特性。要完全理解interface是為什麼,用多線程又有幾種常用的編程模型。 理解了語言的特性是為什...

怎麼才能成為一個編程高手

學習,不斷的練習。扎實的基礎知識。

如何成為java編程高手——程序員

送你4字 勤學苦練

如何成為一個電腦編程高手,想自己做個小游戲玩玩

看書,或者先到編程的公司去工作一旦時間。祝你成功,到時候介紹給我玩啊

4. 求助:怎樣成為一個實質意義的C語言高手

程序員你管什麼CPU工作的原理,那是寫編譯器的人該管的事。數據存放可能還有點用,不過大部分情況下編譯器也幫你解決了,你只需保證數據正常創建和銷毀即可。
你應該熟悉下你編程的方向,面向網路就學學winsock庫,圖形就看看D3D或者OpenGL開發包,應用洞讓就熟悉一下MFC框架。搞好自己份內的事,其他事有別人去干。
C/C++博大精深,也許至今都沒有人敢說全部明白了。多練習,從練習中了解,鞏固自己的知識謹虧。
如果你覺得自己C過關了,去學C++吧,總有你不會的納晌局。

5. 如何成為c語言高手

你真的讀過譚浩強的那本書嗎?!你真的覺得外國名著都是經典嗎?!
對於數學功底在你初期用到的少之又少或者說都是最簡單的,如果1+1的問題你還有辦法簡化後讓計算機計算那麼才是真正到數學層面了ACM也就沒什麼問題了。

舉個簡單的例子
int i =1, k=1;
if ( i || k++)
{
i++;
k++;
}
i和k各是多少? 這就不是數學問題了,十個人9.8個絕對還會算錯,所以程序不僅僅只是數學好的問題,而是思考方式和你解決問題的能力。但是:思考方式才能決定你的高度

我所了解到了對於C學習還算有點深度的都覺得那本(譚浩強的)書再適合初學者不過的了,入門就是學點語法,深入之後就是數據結構,編譯原理就不說了,沒有數據結果也就無從說起了,所以你糾結的應該是數據結構。編譯原理選誰的書(後者一般用到的並不多),而不是入門級語法選誰的書,就像你學英語對於開始學英文字母那個差別大小至少我是看不到的。計算機的書,你只要會打個字,知道Ctrl+z c v a 就沒什麼問題了

也許有點極端了,但是這是我個人最真的看法和建議

還有一點就是你口口聲聲的高手你覺得他們有時間給你回答這些問題嗎?你所謂的高手是什麼級別的: 兩三天做一套操作系統?還是一套財務管理軟體呢

6. 如何成為C語言高手步驟

首先,別去讀什麼「速成」之類的東西,打不好根基的。其次,多讀一下別
人的程序。第三,多找一些專業報刊雜志來看。

C語言的優勢在於它靈活,執行速度快,被封裝的少,可以直接操作硬體等等。
C語言雖然出來很久了,但它遠遠沒有過時。反而被用得越來越多,特別是在嵌入式等追求靈活,高效的領域,他有其他語言不可替代的優勢。它可以用來編寫硬體的驅動,操作系統。在應用軟體領域它也被廣泛使用,特別是Unix環境下的後台業務,批處理都是C語言寫的。

要學好C語言,要多下功夫,對計算機原理,編譯原理,數據結構,操作系統原理都要有較深的了解。

我覺得,中國的C語言應用前景還是很明朗的,中國是製造業大國,正在向製造業強國轉變,對於提高技術含量要求很高,對嵌入式方面的需求尤其明顯。在通信,機械製造,家電,數碼設備等領域,C語言肯定有用武之地的。

書山有路勤為徑,多看書,多做練習,特別是多打代碼

找一本國外比較經典的資料,自學!在學的過程中,除了書本外,你每天給寫上兩個或以上程序,要堅持每天寫呵,幾個月下來你不是高手就找我呵
再者還要有自信呵,相信自己