① c語言如何看懂別人的程序
首先我假設你已經學過C語言了,沒學過回去學去。
然後對程序里出現的每一個詞,根據語法判斷他是變數還是函數,找到它在哪定義的,是什麼含義。復雜的程序列個變數表和函數表;如果是子程序,看他的輸入和輸出是什麼,用一句話概括它的功能。
如果再看不懂,把程序扔給編程的人,讓他慢慢改去
② C語言代碼怎樣閱讀
* 掌握C語言的基本語法和規定。
* 掌握程序設計基本演算法和思路,開拓思路,
* 提高上機操作能力,掌握上機調試程序的方法
* 培養自學能力,強調自主學習。
* 養成良好的程序設計習慣。
通過總結多年的教學經驗,總結學生在學習過程中具有規律性的特點,可以發現,在本課程學習過程中學生經常出現下面這些問題:
* 注重理論學習,忽視上機編程實踐,造成"只能用筆在紙上編程"的奇怪現象。特別是一些女同學,一到機器前面就手忙腳亂,如果程序再出現錯誤,就更不知道該如何查找錯誤,如何排除錯誤了。
*入門時自以為難度大,產生畏難情緒,總是怕,最後因為怕學不好而導致沒有學好。
*前期沒有抓緊,希望通過突擊完成課程學習。本課程要靠平時的積累,幾乎不能靠臨時突擊,由於前面基礎補扎實,到了後面已經無法彌補。
*太注重學習語句的語法規定,忽視了對編程的思路和方法的訓練。有些同學再學習結束的感覺就是:對每一個語句的語法和每一條規定都明白,就是面對實際問題的時候不知道該如何思考,該如何編程。
*急於求成,總想編寫綜合性的程序,忽視基本概念,忽視基本功的訓練和練習。在編寫程序中發現問題,一追根源,全是概念或基礎問題。
為了學好本課程,沒有什麼竅門,建議大家採用如下的"笨"方法:
*認真聽講,積極思考,提高上課效率。教師上課講述的都是課程的重點和難點,聽好課程可以達到"事半功倍"的目的。
*主動上機,多多實踐,提高動手能力。通過上機實踐來驗證所學的理論,通過在機器上查找錯誤來鞏固概念,通過提高上機能力來促進理論學習,開闊編程思路,提高反映速度,提高分析問題解決問題的能力,鍛煉心理素質,提高心理承受能力。
*學習初期重點掌握語言的語法和規定。這是基礎。
*後期重點掌握編程的思路和基本演算法。這是重點。
*學會自學,加強交流,及時答疑解惑。可以採用多種形式進行交流,可以是傳統的面面進行答疑,也可以是利用網路通過郵件、BBS進行網上交流。不要將疑問積累到最後。
*開闊眼界,打開思路,多看幾本書。C語言的書非常多,各有自己的特色,要找到適合自己的參考數目
1.不要看到別人的回復第一句話就說:給個代碼吧!你應該想想為什麼。當自己想
出來再參考別人的提示,你就知道自己和別人思路的差異。
2.初學者請不要看太多太多的書那會誤人子弟的,先找本系統的學,很多人用了很久
都是只對部分功能熟悉而已,不系統還是不夠的。
3.看幫助,不要因為很難而自己是初學者所以就不看;幫助永遠是最好的參考手冊,
雖然幫助的文字有時候很難看懂,總覺得不夠直觀。
4.不要被對象、屬性、方法等詞彙所迷惑;最根本的是先了解最基礎知識。
5.不要放過任何一個看上去很簡單的小問題--他們往往並不那麼簡單,或者可以引伸
出很多知識點;不會舉一反三你就永遠學不會。
6.知道一點東西,並不能說明就會寫腳本,腳本是需要經驗積累的。
7.學腳本並不難,JSP、ASP、PHP等等也不過如此--難的是長期堅持實踐和不遺餘力的博覽
群書;
8.看再多的書是學不全腳本的,要多實踐
9.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;
10.學習腳本最好的方法之一就是多練習;
11.在任何時刻都不要認為自己手中的書已經足夠了;
12.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
13.別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍;
14.請把書上的例子親手到電腦上實踐,即使配套光碟中有源文件;
15.把在書中看到的有意義的例子擴充;並將其切實的運用到自己的工作中;
16.不要漏掉書中任何一個練習——請全部做完並記錄下思路;
17.當你用腳本到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將余
下的部分粗略的完成以保證這個代碼的完整性,然後分析自己的錯誤並重新編寫和工
作。
18.別心急,寫腳本確實不容易;水平是在不斷的實踐中完善和發展的;
19.每學到一個腳本難點的時候,嘗試著對別人講解這個知識點。
20.記錄下在和別人交流時發現的自己忽視或不理解的知識點;
21.保存好做過的所有的源文件----那是最好的積累之一;
22.對於網路,還是盡量能多利用一下,很多問題不是非要到論壇來問的,首先
要學會自己找答案,比如google、網路都是很好的搜索引擎,你只要輸入關鍵字就
能找到很多相關資料,別老是等待別人給希望。
③ C語言怎樣才能看懂
隨便買一本代碼比較多的,個人推薦譚浩強的,其實學習C語言包括其他計算機編程語言,不能像小學生那個學習模式了。基本語法沒有多少,
常用的語句也就那幾個。本人認為沒有必要像小學生那樣每天都看課本,等看完了,你會發現什麼都沒有學到。
開始的時候自己可以找一點例子(書上的例題就行),不要看簡單,但是能讓自己對語法和格式進行熟悉。
我甚至認為看代碼之前可以不看書,自己去領悟代碼的意思,實在領悟不了,在看書,這樣學習速度會比較快。還有一點最重要的是:要不停的練習,找一些經典的演算法進行練習,或者編寫一些能夠使用的小程序。這樣對技術和興趣都是很好的提高.
以上就是我的觀點,說得不好請見諒。呵呵
④ c語言代碼看不懂
開頭的float height(float father,float mother);是載入一個函數。
中間的son=height(father,mother);是調用這個函數。
最後面的float height(float father,float mother)是定義一個函數,關於函數,你可以理解為一個方法,可以重復使用的方法。
你看代碼最下面有這個函數的聲明。
⑤ 怎麼去學習編程c語言,我沒有一點數學基礎 還有就是看不懂裡面的代碼 需要怎樣去學 謝謝!
一、C語言是最值得學習的語言
學習C語言,首先要明確地告訴自己:C語言是世界上最值得學習的語言。
如今決定學習任何一門其他語言之前,都要先考察這個語言有什麼成功項目嗎?唯獨C語言沒有必要問,因為世界上所有最最重要的的系統中,都必然有C語言的身影。比如操作系統內核、高級語言底層等等。
為什麼C最適合擔任系統核心?主要原因可能是C語言具有和匯編語言的對應性,一條C語言代碼,對有經驗的人來說,可以轉換為一條或多條匯編代碼,也就是說編譯結果具有可預測性。C代碼不會在被編譯時被加上奇奇怪怪的修飾,也不會在二進制兼容性方面帶來大問題。這種穩穩當當的語言,一切都在掌握之中,一切榮耀歸屬於coder,一切錯誤也歸罪於coder。
學習C語言的同時,就自然而然的理解了硬體與操作系統的淺表一層。比如int有幾個位元組的問題,已經是QQ加群驗證是否是程序員的一個標准了(笑),這從側面說明了學習C語言時確實會關心底層軟硬體的實現。C語言簡單的基於值類型的數據類型體系(引用靠指針,指針本身也是值類型),保持了和硬體底層的一致性(即內存、緩存、寄存器只能保存值),不會出現其他語言比如C#那樣既有值又有引用反而對理解底層實現製造了障礙。
從某些角度上講,C語言從設計上來說並不是為了讓我們更好的寫邏輯代碼而設計的,它真的是「只能是這樣」,沒有對錯好壞之分。因為計算機體系結構就是這樣的、匯編就是這樣的,所以C語言大致也只能是這樣的,誰也不能隨意捏造它。它足夠簡單,評論它的設計優劣意義不大。
廢了這么多口舌,是為了堅定思想,端正態度,只有抱著「最好」的態度,才能排除雜念,勇往直前。時代在進步,某些東西易逝,而另一些東西持久。很多編程大師都用親身經歷告訴你,C語言永遠值得用最純粹的態度去學習。
二、學習C語言的初步路線
我們說學習任何東西,都有先把書讀厚,再把書讀薄的過程。也就是說,先學習大量知識和細節,然後總結歸納、提綱挈領,就徹底掌握了這門知識。
而學習C語言,一開始就不那麼厚 : ) 。大道至簡,只需一本:
<img src="https://pic2.mg.com/50/v2-_hd.jpg" data-rawwidth="286" data-rawheight="337" class="content_image" width="286">
賞析一下書中前幾個問題:
第1章 正則表達式匹配器
第2章 Subversion中的增量編輯器:像本體一樣的介面
第3章 我編寫過的最漂亮代碼
第4章 查找
可能是知識結構不足,本書後面的例子我讀起來有點不清晰。對C語言學習者來說,前幾個例子非常值得一讀,可以迅速意識到自己的不足並迅速成長。本書建議先找電子版試讀。
PS:關於C語言開發環境
1、Windows平台,請使用Dev-C++。不要用Visual Studio,對C語言支持不完整。
2、安裝Linux虛擬機,桌面版本的,比如Ubuntu,現在貌似「深度Linux」挺火,沒試過。
三、關於進階
C語言的進階會遇到兩個主要問題:
1、明白基礎以後,缺少大量練習。而大量練習本身會非常費時間,因為在顧及語法的同時要顧及邏輯問題,捉襟見肘。這時候的初學者,邏輯抽象能力和語法使用都是半吊子,非常難受。
2、閱讀代碼方面,C語言的成熟工程代碼一般會比較冗長,函數中間夾雜著很多宏和指針操作,我閱讀的感覺是讀後面忘前面,非常難入手。如果不明白某個函數的功能,強行將其讀懂非常費時費力,容易放棄。
這樣一來,學完基本知識之後的進階之路真的非常陡峭。
我個人大膽給出C語言進階的一個相對緩和的路線:
1、實現鏈表、可變長數組、哈希表等基本數據結構,實現方便的string結構體。然後大膽的用在自己寫的程序中。不要怕寫的有BUG,也不要怕效率不高。現代編程中容器是非常關鍵的武器,沒有容器寸步難行。而編寫容器時會練到封裝、指針、內存分配,都是C語言進階時極其重要的方面。
2、如果工作學習中用到C語言就再好不過,比如現在很多本科、碩士畢業論文都要用C語言實現,那麼這時候抓住機會多練練,是最好的。
3、嘗試ACM競賽題,ACM競賽和OnLineJudge平台,比如
http://tyvj.cn/
類似有很多,北大、北郵這種大學都有類似的網站,上面不僅有題目,還有演算法、有答案、有提示,還能直接在網頁上做題。刷題可以獲得及時反饋,一旦你AC了3道題,那種成就感可以讓你繼續下去,哈哈。不過除非你興趣就是演算法本身,那麼刷30道題基本就可以了,畢竟這種刷題會猛烈地提高演算法能力,但是對架構能力的提升幾乎沒有任何作用,對大多數人來說不建議刷太多。
4、非常重要的私貨:如果除了做練習題以外沒有練習機會,那麼請把C語言放一下,快速學習Python(首選)、Lua(次選)、JavaScript(或TypeScript更好)等能夠立即實現功能效果的語言。學習好的動態語言有兩方面好處:
第一:表層來說,能迅速提高邏輯代碼的編寫能力。用C語言構思半天才能寫一點的功能,用動態語言會快速的多,動態語言將我們從內存分配、容器等基本問題中解脫出來,直接實現我們想要的效果。用動態語言實現之後,可以用C語言仿寫這些邏輯代碼,相當於按圖索驥,直達目的。
第二:深層來說,較高級的語言對底層的語言編寫有強烈的指導意義。我個人在工作中使用C++用了很長時間,但是總感覺遇到瓶頸無法突破。直到我學習了Python,寫了一兩個比較復雜的工具,從另一個角度突破了邏輯設計的屏障,才感覺到編程水平有了明顯提高。
第三:在掌握了Lua或Python後,再找資料一邊學習一邊看Lua和Python的C源碼,對提高C語言水平有實質性的幫助。
這里舉一個簡單的例題:一個文件中有很多對ID和欄位,這些ID和欄位對分別代表另一個文件。而另一個文件內容可能會鏈接到更深一級的文件。怎樣讀取這些文件組成一棵樹呢?
這個問題對能力達到一定水平的人是基礎問題,而對於初學者來說可能是一個門檻。這種問題我的建議是用Python或Lua的表、字典來解決,然後理清思路之後,改寫為C代碼。
⑥ C語言初學者:很多代碼都看不明白怎麼辦
多看看書
是對的
看書不要死看
先把基本的語法
看懂
再
要看他的演算法
掌握這兩點
就不會很吃力了
有的剛開始看不怎麼明白
你一定要堅持
等看到後面
有時你就會豁然開然
前面為什麼不怎麼懂了
⑦ C語言閱讀代碼有什麼技巧嗎
讀代碼是很慢,程序員都不讀自己的代碼。看代碼時要順著邏輯理解,不能從上到下的看。
⑧ C語言怎麼學會 ,感覺照著代碼能打出來,但不知其中的含義和運用
沒有誰是天生什麼都懂的。學習知識都有一個漸進的過程!
⑨ 怎麼去學習C語言代碼 意思 代碼的意思總是看不懂 我是新手
首先學基礎,可通過一些選擇、填空題(如:歷年ncre2的題目)加深理解,然後必須多上機,可先模仿寫一些簡單的代碼,然後逐步深入……這是一個反復的過程,很痛苦,熬出來了你就會發現你的能力有了很大的提高。。。
⑩ c語言編程看不懂,怎麼辦啊
我的專業軟體工程,大學第1學期學的就是這個,下面說說個人的一些體會:
1,開始的時候先是學好基礎,如int,char各代表什麼,要記憶的東西要記牢並且要好好理解;
2,通過1段時間的學習要對C語言的基本特點有個大概的認識,找些參考書籍看看簡短的語句表示什麼意思,和一些改錯題,要十分注意,有可能這些就是你要犯的錯誤哦。
3,當然是多多的練習編寫程序了,最起碼要能快速的打完程序,因為考試可是有時間限制的。這時候就要注意了,開始編寫程序的程序的時候可能不知道自己編的是什麼東東,這要多聽老師的講解。最主要的是老師編寫程序的思想和邏輯,這時候你就要把自己所學的循環,數組,指針,函數的聲名調用等等運用到你的程序中去了,而且要形成1種C語言的思維。強烈介意多看點思維邏輯方面的閑書(總不能都看C語言吧,那真是太痛苦了),培養自己的思維。
4,程序要從簡單的寫起,不要一下子渴望能寫出什麼來,主要還是你要在編寫程序時候要培養思維方式的,等你能寫出老師規定的程序和一般程序都沒什麼問題的時候,要規范你的程序了,形成自己獨有的風格啊,讓人1看這就是你的程序
5,多多注意你程序編寫運行時候出現的錯誤,要對每個錯誤要有深刻的理解,還有注意細節,不要出現丟個分號什麼的。
6,還有就是不要灰心和輕易說自己不會,可以明確的告訴你,剛學C語言是覺的困難正常,全班1班人不過正常,只要你堅持就行了,我第1次考試才48,但之後就都是80多了,所以開始沒學好沒什麼的,想想我考了40,你的心理總有些安慰吧。
總之,想學好C語言就是理解基礎,培養思維和多多編寫程序了