關於近兩個月程式設計的總結性報告
前四章的學習對於我個人來說,我認為這是程式設計的入門環節,這是程式設計的基礎,也讓我大致總結出來了大部分題目程式的編寫格式。
1.標頭檔案
2.定義變數與常量(一定要聯絡自己之後輸入輸出然後想好定義成什麼數,做過一些題之後,我個人認為除了必須輸入整數時,將變數定義為double是最穩妥的,即便是隻需要輸出整數時,也可以用double,只需要寫上%.0lf就可以,這個小技巧是跟我一個朋友學到的。)
3.輸入值
4.寫好函式
5.輸出
學會了這個格式之後會發現程式設計的樂趣,它的樂趣不僅在於邏輯思考,更在於你體會著自己去解決題目的樂趣。我認為這一部分最難以掌握的地方還是題目本身的邏輯。
在學習選擇控制結構與迴圈結構之前,我的程式設計水平只停留於在螢幕上輸出一串字元或是做簡單的加減運算,但當我學會了選擇控制結構與迴圈結構之後,我對於c語言學習的興趣又提升了一個檔次,因為此時的我認識到,認真學我也可以寫出以前看似複雜的程式。
對於我自己來說我關於這部分的學習方法比較簡單,但是不代表學起來簡單。在大致瞭解書本內容後,結合題目仿照書本例題格式,去體會理解,感受每一步在整個程式中的地位與作用。經過與一些學習比較輕鬆程式設計水平比較高的同學的交流之後,我將做這部分題目的步驟大致分為以下幾點
1.大致閱讀題目,瞭解題目思路,認清程式的作用。
2.構思出選擇控制時的條件和迴圈結構的條件。
3.仔細閱讀題目,找到題目細節,完善自己的程式設計語句。
4.構建糾錯,執行驗證。
我認為這4步中最核心的也是最難的是第二步,在做題的過程當中也讓我真切體會到了費老師曾說過的一段話,意思大致就是講:許多編出好程式的人,都是學數學出身或是數學很好的人。因為程式設計需要的邏輯思維是極強的,想寫出程式,語言嚴謹性是一方面,但沒有思路再好的語言也沒有用。在上次作業中我不得不說我遇到的最難的一道題
打牌
描述
小金打牌,當對方手裡紙牌的張數大於等於10張時,他會觀察對方的神情,若對方神情緊張,他就出“炸”,若對方在笑,他就什麼牌也不出。
字元 'J'表述對方申請緊張,'H'表述對方在笑。小金出“炸”,則輸出“Z”,如果什麼牌都不出,則輸出“pass”。
當對方手裡紙牌的張數小於10張的時候,他會“接”對方出的牌,也就是對方出“單”,他也出“單”,對方出“雙”,他也出雙。
字元 'D’代表對方出“單”,'S'代表對方出“雙”。小金出“單”,則輸出“D”,如果出“雙”,則輸出“S”。
輸入
三個引數,分別代表對方手裡紙牌的張數、對方的神情、對方出的牌,中間用空格隔開
輸出
小金出牌的情況
樣例輸入
樣例1:
15 H D
樣例2:
9 J S
樣例輸出
樣例1:
pass
樣例2:
S
這道題我在程式設計軟體上寫了無數遍,這應該是我這套作業提交的最後一道題目,這道題使用了多路選擇的switch語句,由於需要討論情況過多,所以選擇了switch語句代替條件語句簡化程式設計,switch英文中意思是開關,而它的作業也和本義一樣,像多路開關一樣使程式控制流程形成了多個分支,而我認為這都題目難的地方在於它講if語句與switch語句做了結合,打牌時神情與出牌相關,邏輯關係密切。
不過做這些題目的時候還有一些我自己的小缺點需要改進,那就是細心。我認為如果一道題目做不出來或者沒有思路也許是能力問題說明還需要鍛鍊,但如果出現了一些粗心而犯的錯誤,那就非常需要檢討自己了。比如說自己曾經犯過的錯誤:
1.老是忘記“=”是賦值而不是真正意義上的等於。
2.若表示小於等於或大於等於不能直接使用“0<=N<1而是用“N>=0&&N<1”,不能按照自己的想法胡編亂造新的語句。