c語言游戲編程入門書籍,自學了C語言語法?
學完c語言,調用windows api可以實現很多功能,包括圖形界面,但是那樣太麻煩,所以再學c++,然后學習qt或者mfc等界面框架,這樣就能以工程的方式快速開發桌面程序了、給你分享點計算機編程資料吧,有各種編程語言書籍,和開發工具,還有視頻教程,www.xen123.cn 希望有用,
但是讓自己寫代碼完全不知道如何下手怎么辦?
謝邀。
初學者在學習一段時間C語言后,會對語法和結構基本了解,再看書常會產生一種“什么都會”的錯覺。之所以說“錯覺”是因為,真讓自己寫C語言代碼,不少初學者完全不知道如何下手。
這是一個比較普遍的現象,題主也不用驚慌,這里我將介紹一種非常適合初學者的編寫C語言程序的方法。
從頭開始編寫C語言程序解決某個問題,應該按照什么步驟來呢?我還記得我當初學習C語言時,看人家寫的例子非常順暢,覺得 C 語言也不過如此。可是真的給我一個問題讓我從頭編程解決,還真是一臉懵逼,完全沒有頭緒,不知道從何下手。
現在想想,這是因為當時我還沒有編程思想,還不會按照計算機的思維考慮問題,這項能力只能多鍛煉獲得。
長征是一步一步走的,再復雜的C語言程序也是一句一句完成的。這里我將介紹一種“增量式”開發的思路,非常適合還沒有形成“計算機思維”的初學者。
“增量式”C語言程序開發還是以實際問題為例,對這種開發思路做介紹,請看問題:
一個長方形對角的兩個點坐標分別為 (x1, y1) 和 (x2, y2),用 C 語言編寫程序求它的面積。
從數學上來看,要解決這個問題,顯然可以分三步:
計算這個長方形的長: L=|x1-x2|計算這個長方形的寬:W=|y1-y2|利用公式:長 x 寬 計算這個長方形的面積 S=L x W這里直接認為長方形的長在 x 軸方向,寬在 y 軸方向了,長寬的方向并不影響計算面積。
接著,我們看看如何用C語言計算長方形的長。首先應該知道,坐標,長寬,面積應該用 double 類型的數據表示,所以計算長方形長的函數可以如下寫:
初學者寫到這里就已經不太自信了:這個函數定義寫得對嗎?雖然我是按我理解的語法規則寫的,但書上沒有和這個一模一樣的例子,萬一不小心遺漏了什么呢?
既然不自信就不要再往下寫了,沒有一個平穩的心態來寫程序很可能會引入Bug。所以在函數定義中插一個return 0.0立刻結束掉它,然后立刻測試這個函數定義得有沒有錯誤:
編譯,運行,一切正常。這時你就會建立起信心了:既然沒問題,就不用管它了,繼續往下寫剩下的C語言代碼。
如果你不敢確定寫的對,可以就此打住,再來測試一次:
編譯并運行這段C語言代碼,程序輸出 2,是正確的。
至此,就完成了根據坐標計算長方形長度的函數,而且測試正確,又有信心往下繼續寫了。下面同樣的方式來完成計算寬度的C語言函數:
好了,計算長和寬的函數都完成了,現在可以來寫計算面積的C語言函數了。計算面積的話,就需要輸入兩個坐標了,也就是四個變量,然后要在計算面積的函數里計算長方形的長和寬,然后再把長寬相乘計算面積。
如果擔心C語言程序寫的不對,可以寫到這里停下來,先把長和寬計算后打印出來。因為你已經測試過 width 和 length 函數都正確了,如果寫到這里出問題了,那就說明肯定是 area 函數寫的有問題,這樣就不用去之前寫的代碼中找問題了。編譯,運行發現一切正常:
確定沒問題了,我們就可以繼續往下寫 area 函數的C語言代碼了。
area 函數中的,包括之前我們測試 width 和 length 函數中的 printf 都起到了類似腳手架的作用:在蓋房子時很有用,但它不是房子的一部分,房子蓋好之后就可以拆掉了。
房子蓋好之后可能還需要維修、加蓋、翻新,又要再加上腳手架,這很麻煩,要是當初不用拆就好了,可是不拆不行,不拆多難看啊。寫代碼卻可以有一個更高明的解決辦法:把 printf 的代碼注釋掉。
到這里我們就寫完了計算面積的代碼,趕緊放到 main 函數中測試:
編譯并運行這段C語言代碼,發現輸出正常:
成功了,至此,終于一點一點的(增量式)用C語言解決了問題。當然,熟練了以后,可以直接寫出求面積的函數:
這樣寫簡潔得多了。但是如果出錯了呢?只知道是這一長串表達式有錯,但根本不知道錯在哪,而且 area2 整個函數就一個語句,插 printf 都沒地方插。
所以用臨時變量有它的好處,程序更清晰,調試更方便。而且,這樣寫,length和width函數還要不要?不要的話刪掉,如果有些情況,只需求長方形的長和寬呢?
那留著 length 和 width 函數咋樣?這樣的話,length,width 以及 area2 函數有相同的C語言代碼,一旦出了錯,修改 length,width 還得記著修改 area2 函數。
維護重復的代碼是非常容易出錯的,在任何時候都要盡量避免。因此,盡可能復用以前寫的C語言代碼,避免寫重復的代碼。
按照這個思路來看,還是 area 函數好一點。更進一步的,我們發現 width 和 length 函數的C語言代碼邏輯其實是一樣的,只是變量的名字不一樣,這也應該避免,width 和 length 函數可以用 distance 函數代替:
整理一下,最終C語言代碼如下:
到這里,我們就一點一點的寫出了自己的C語言程序,可以發現并沒有什么難度。
大一學生初學c語言程序設計?
題主說的準備我理解的是買。接下來問題主兩個問題,一是家庭經濟條件是否允許。二是學習過程是否必需。結合上述問題具體分析,小編建議家庭經濟條件允許,買;學習過程中必需,但是家庭經濟情況差,想辦法買;其他情況,統統不買。
在考慮怎么回答這個問題時,不禁想起了我的第一部手機的經歷。大二時就有部分同學開始用手機,當時通話費還比較貴,手機基本以收發短信為主,還記得10塊錢包360條短信的X感X帶的套餐很受學生歡迎。當時我既沒有女朋友,也沒有除了學習之外的業務,一張十幾塊錢的電話卡都能用半個學期,所以手機不是必需品。此外經濟條件是最主要原因,一部新手機要一千塊錢,一個月生活費二百,別說沒需求,就是有強需求也要掂量掂量不是。觸發買手機的事件印象也深刻。老師課前臨時調整上課教室,由于沒有及時得到通知錯過了好幾次課。省吃儉用了三個月之后,才狠心花了220塊錢買了人生中的第一部不知幾手的手機西門子2128,很興奮也很難忘。
再回到題主的問題上來,你想學好C語言,并把它作為謀生技能的話,多多上機實驗對你的學習有促進作用,這時能有一臺個人電腦就很有必要。
代碼Go建議買筆記本電腦,原因有以下幾個:一、C語言對機器配置的要求不高筆記本足夠使用。二、筆記本電腦便于收納和攜帶。三、筆記本電腦與攢臺式機的預算相差不大,如果預算少的話,可考慮二手設備。說一千道一萬,最終還是要根據自身經濟情況選擇。
最后,愿我的個人經歷和建議能對你有所啟發,也愿你能在短時間內C語言水平從入門到精通。真學不會或者迷茫時,瞅瞅我的個人簡介,你懂的喲。
我是@代碼Go說科技 ,碼農的視角看科技,帶給大家不一樣的感受。歡迎大家閱讀評論轉發加關注。
聲明:圖片來自網絡,如有侵權,聯系必刪!
以上就是關于c語言游戲編程入門書籍和自學了C語言語法的相關問題解答,希望對你有所幫助。