菜鳥的c語言課程筆記①
從開學到現在已經有兩個多月,我開始從一個曾對電腦科學與技術專業一無所知的萌新,開始對C語言程式設計一點一點的瞭解。
到現在,從開始剛剛接觸這門課程只知道C語言的資料型別,識別符號,關鍵字。曾經以為高大上的二進位制原來也只是皮毛,各種例如算數表示式,賦值表示式的東西才只是剛剛開始。到學習第二章資料的輸出、輸入我深刻意識到嚴謹之於學習程式設計的我們的必要性。每一個指令都必須保證單詞的正確和字元型別、運算順序的恰當。n++,n--這樣不起眼的自增自減運算子有時候也是非常有用的。有時巧妙的定義巨集常量,const常量以及對字元型別的轉換都是能大大提高運算的方便性和準確性的。同時隨著深入學習,我也發現了現階段學習的知識解決問題的侷限性。比如之前線上程式設計作業中求三角形面積只限於特殊的三角形並且還要運用海倫公式才能解決。隨著學習選擇控制結構我才覺得剛剛開始接觸到真正的程式設計。if條件語句,if-else條件語句以及switch語句的恰當使用使得演算法更好更快,這樣才能提供更優化的程式。
現在我所能用程式設計解決的問題僅限於線上作業提出的問題。只是解決這些問題就給我一種深刻的認識。解決再簡單的問題也要有嚴謹的輸入程式碼的意識。有時只是一個標點的誤差就會導致之後的一系列執行錯誤產生,有時還會導致超時等問題,程式設計過程的手忙腳亂以為追求速度只會讓我們以花費更多時間為代價來發現並改正它。所以沉穩紮實也是一個學習計算機的學生、一個程式設計師應有的素質。我覺得運用現在所學的知識只是能將簡單不變的一個問題擴大到解決一類問題。而這類問題太過於理想化,不能容許有一點點誤差得干擾。能將解決一個問題擴大到解決一類問題是一件很棒的事情,但是覺得所能解決的問題太侷限。我覺得如果將現在所學應用於實踐中,也就能應用於類似於機械加工的工廠流水線之中做機械化簡單化的反覆性工作了。希望隨著以後深入的學習,能夠應用程式設計解決更實際,更能應對變化的問題。