看看大家都是如何談論C語言的

來源:文萃谷 1.62W

C語言是我們關注最多的一門學科,同時也是最讓我們提心吊膽,擔驚受怕的學科。下面讓我們一起來看看大家都是怎麼看待C語言的吧!

看看大家都是如何談論C語言的

1. C語言是我們關注最多的一門學科,同時也是最讓我們提心吊膽,擔驚受怕的學科。每年的掛科率居高不下,怎末能不讓我們擔心,這門學科真的難到學不會的地步嗎?問題究竟出在哪兒?這是一個值得關注的話題。。。

2. 據理解學生反應,C語言很難,當然這些共同的見解不是沒有根據的:我們已經對C語言產生了畏懼感,生怕學不會,掛了科怎麼辦?同時我們的老師又偏偏要我們在課堂上回答問題,這對於大部分同學來説又是難上加難!

3. 就這樣,一次又一次的緊張氣氛把我們搞得慌慌不定,找不着頭緒,以至於對此學科厭倦,甚至會產生放棄的念頭。

4. 既然我們開了這門課,就必定要學會它;既然有的同學能夠學會,我們也不能落後,至少要保證不掛才是;現在根據眾人反應,有些同學保證不掛就有一定難度了,這已經成為了事實,每個人都有被卡的危險,我也是。不過從現在開始還不算晚,到時候還是有希望考過的。

5.C語言是我們最先接觸的一門程序編寫語言,由於對這方面的東西還不甚瞭解,再加上C語言的知識點非常瑣碎,而且即使完全背下來,不理解的話也難以編成好的程序。這些都是我們被困的重要原因,那麼既然問題出來了就要設法去解決,來彌補以往的缺憾。。。。。

6.為了學好C語言,最先學的時候就應該養成良好的習慣,不過這些確實是説着容易,大道理誰都懂但做起來就不再那麼簡單了。比如説在編程序時,對應大括號儘量對齊,內部程序儘量在兩括號連線之後等等。這些規則課本上沒有做明確的要求,但要是能做到這些就能提高讀題速度,提高做題審題能力。課本上的例題默認的書寫格式是最重要的,確實值得模仿,做到這些很難,但希望大家儘可能規範自己的書寫格式。

7.課前看一遍課本還是挺重要的,結合例題看課本內容,多看幾個例子,時常拿幾個例題來比較一下,看看都哪個地方不同,為什麼會出現這些情況。舉個簡單地例子來説:在void main()之前常常加些與處理命令什麼的,如#include,而有時也會不加加上它又有什麼作用呢?加與不加是由什麼決定的?再如在一個程序執行完畢之後,最後一歩常加上printf(“/n”);或者在最後一條語句適當的位置加上/n等等這些小問題,課本上都會有解釋,而這類的問題是最容易忽視的地方,往往成為我們編寫程序的致命傷。

8.C語言與上學期的機械製圖有相似之處,需要記憶的東西較多,而且看到例題來也無頭緒,特別是在不理解的時候就會感到更煩,這種心裏大概和我看英語時的感覺差不多。C語言每週有兩大節課,每次老師都會講很多內容,一次課下來,聽不懂的同學感到頭暈,而聽懂的同學會感到頭脹,總之,此門學科時我們共同的難點。

9.另外我們的C語言老師常常告訴我們,不要死記課本內容,當然這些説法時正確的,實踐也足以證明這一點。但要是一味地編程序,連課本都放棄的話能編好嗎?在可與無事的時候,翻開課本看一下那些文字説明,也沒必要強壓着自己去編程序,明明不想去幹,為什麼要逼着自己去浪費時間呢?

10.説這個意思就是,以娛樂的方式瀏覽課本,不要求記住多少,就是為了看看那些容易被忽略的規定,啥時候在程序中見到了要知道這個知識點,要知道這些時規定。(就像看小説一樣,不用思考,能記多少就記多少,記不住也就算了。)有時候就根本不需要理解這些東西,只需要知道,就是這樣用的。看多了就會慢慢適應,對於一個陌生的東西,當我們什麼都不懂的時候怎麼知道它時什麼意思呢?比如説,一個小孩子剛學會説話,他知道每句話時什麼意思?也不會有其它的詞來解釋它的意思,但是後來就能理解,這又是為什麼,C語言也是如此,有些規定初學時根本就不需要知道為什麼,會用就行了。

11.C語言有一個重要的特點,就是結構性極強,這是學會的關鍵點,也是學不會的頭疼處。如一個程序題出來了,讓我們看運行結果,最好的方法就是先劃分一下程序結構,哪些時循環結構,哪些時嵌套結構等。大括號誰和誰相對應,哪些句子是並列的。其中最容易忽視的就是單分支選擇結構,有if但沒有else,配對時最易搞錯。要是在if後的模塊中有眾多的語句就更不好看了。所以先整體劃分一下結構時很有必要的。

12.看運行結果時更需要注重這一點,由於種種原因會把前後對應的語句弄得不太明顯,影響我們的思路。比如説,在switch語句時,裏面往往加上幾個for循環大括號一層套一層,弄得一個循環和函數差不多大小,等寫完或看完此模塊後忘記用break,要事先把整個分支圈起來就不會出現這種情況。尤其時一個case,裏面再有switch語句的話,程序寫出來就會有一大堆break,最容易忘記上述問題。所以劃分模塊很重要,希望大家試着用一下。當然,要是有更好的方法那更好,學得越快越高興。。。。

13.學習的時候要重抓基礎,一些課本上常見的字符最好記住,如系統定義的函數fabs(),log(x),sin(x)等最起碼見到的時候要能夠認出來,知道各是什麼意思。只有這樣才能夠判斷什麼時候用#include。另外還有其它的字符如t 水平製表,v 垂直製表,n 換行,r 回車不換行,這些意思很接近,要搞清楚。不但要知道各是什麼意思,還要知道在運行結果中的輸出格式。這只是一個舉例,並不是説明本字符有多重要,大家要經常找找區別,進行比較記憶……

此外,學C語言還要儘量聯繫實際,記得老師上次講了一個自定義函數中的'值傳遞與地址傳遞,下面就給大家一個比喻來説明問題,或許不是很準確,由於現在還沒有學地址傳遞,所以這裏面有可能出錯,但目的大家要明白,是想讓大家多多聯繫實際,舉個例子罷了。定義一個函數average(int x int y),照正常的順序運行下去並不能得出想要的結果,達不到目的,問題出在哪裏呢?假如,老師讓A同學做題,求已知兩個數的平均值,但是A不會求,B會求(B就是求平均數的工具,即自定義函數),每個變量都有自己的存儲區,其中包括地址和數值,這就相當於A、B各有一個練習本,用來存儲運行結果,數值傳遞就是把A本上的兩個數寫到B本上,B可以通過B本上的地址在自己的本上找到兩個數,而運算後又順着地址把腦中的數寫到了自己本上,這時A仍然得不到運算結果,(A不能看B本,因為由數據單向傳遞決定)。那麼怎樣才能讓A等到結果呢?當先前A不把值複製給B而是把A本的地址給B的話,B就可以順着A給B本上的地址一直找到A本上,這時A同學就可以看到程序運行結果,此時Average(int x int y)函數調用成功。

上述是一種途徑,還有沒有其它的路徑完成調用自定義函數的功能呢?假如先前定義一個全局變量,相當於一個空本子,誰想看誰看,對整個程序都起作用,這時把B本上的運算結果再賦值給這個全局變量,A在從全局變量中看到運行結果,這樣也可以實現調用自定義函數功能。總之方法很多,學C語言要多想想實際的例子,找一個恰當的實例幫助理解問題是最好的。

熱門標籤