

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、如何才能提高用如何才能提高用C語言編程的能力語言編程的能力一一學好學好C語言的運算符和運算順序語言的運算符和運算順序這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多于其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現(xiàn)多種運算符
2、時,運算的優(yōu)先順序和結合規(guī)則顯得十分重要。在學習中,只要我們對此合理進行分類,找出它們與我們在數(shù)學中所學到運算之間的不同點之后,記住這些運算也就不困難了,有些運算符在理解后更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。先要明確運算符按優(yōu)先級不同分類,《C程序設計》運算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1~15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序。下面
3、我們通過幾個例子來說明:(1)584%10這個表達式中出現(xiàn)3種運算符,是同級運算符,運算順序按從左至右結合,因此先計算58=40,然后被4除,結果為10,最后是%(求余數(shù))運算,所以表達式的最終結果為10%10=0;(2)a=3b=5c=ab;d=ab;對于c=ab來說,按表中所列順序,先執(zhí)行,后執(zhí)行,所以a執(zhí)行后,a的值為4,由于為前置運算,所以a的值4參與運算,C的值計算式為45=20而不是35=15了;而對于d=ab來說,由于a為
4、后置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算后其值加1,值為5。這個例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20;(3)(a=3,b=5,b=a,c=b5)例子中的“,”是逗號結合運算,上式稱為逗號表達式,自左向右結合,最后一個表達式的結果值就是逗號表達式的結果,所以上面的逗號表達式結果為40,a的值為3,b的值為8,c的值為40。(4)a=5b=6c=aba:b例中的aba:b是一個三目運算,它
5、的功能是先做關系運算ab部分,若結果為真,則取問號后a的值,否則取冒號后b的值,因此c的值應該為6,這個運算可以用來代替if…else…語句的簡單應用。二學好二學好C語言的四種程序結構語言的四種程序結構(1)順序結構順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。例如;a=3,b=5,現(xiàn)交換a,b的值,這個問題就好象交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那么
6、正確的程序為:c=a;a=b;b=c;執(zhí)行結果是a=5,b=c=3如果改變其順序,寫成:a=b;c=a;b=c;則執(zhí)行結果就變成a=b=c=5,不能達到預期的目的,初學者最容易犯這種錯誤。順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s=3.14159rr輸出圓的面積s。不過大多數(shù)情況下順序結構都是作為程序的一部分,與其它結構一起構成
7、一個復雜的程elseif(條件3)分支3……elseif(條件n)分支nelse分支n1嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套后,語句結構變得非常復雜,對于程序的閱讀和理解都極為不便,建議嵌套在3重以內(nèi),超過3重可以用下面的語句。④switch開關語句:該語句也是多分支選擇語句,到底執(zhí)行哪一塊,取決于開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else語句,它的所有分支都是并列的,程序執(zhí)行時,由第
8、一分支開始查找,如果相匹配,執(zhí)行其后的塊,接著執(zhí)行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。(3)循環(huán)結構:循環(huán)結構可以減少源程序重復書寫的工作量,用來描述重復執(zhí)行某段算法的問題,這是程序設計中最能發(fā)揮計算機特長的程序結構,C語言中提供四種循環(huán),即goto循環(huán)、while循環(huán)、do–while循環(huán)和f循環(huán)。四種循環(huán)可以
9、用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環(huán),因為強制改變程序的順序經(jīng)常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、f三種循環(huán)。常用的三種循環(huán)結構學習的重點在于弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環(huán)的格式和執(zhí)行順序,將每種循環(huán)的流程圖理解透徹后就會明白如何替換使用,如把while循環(huán)的例題,用f語句重新編寫一個程序,這樣能更好地理解它們的作用
10、。特別要注意在循環(huán)體內(nèi)應包含趨于結束的語句(即循環(huán)變量值的改變),否則就可能成了一個死循環(huán),這是初學者的一個常見錯誤。在學完這三個循環(huán)后,應明確它們的異同點:用while和do…while循環(huán)時,循環(huán)變量的初始化的操作應在循環(huán)體之前,而f循環(huán)一般在語句1中進行的;while循環(huán)和f循環(huán)都是先判斷表達式,后執(zhí)行循環(huán)體,而do…while循環(huán)是先執(zhí)行循環(huán)體后判斷表達式,也就是說do…while的循環(huán)體最少被執(zhí)行一次,而while循環(huán)和f就可
11、能一次都不執(zhí)行。另外還要注意的是這三種循環(huán)都可以用break語句跳出循環(huán),用continue語句結束本次循環(huán),而goto語句與if構成的循環(huán),是不能用break和continue語句進行控制的。順序結構、分支結構和循環(huán)結構并不彼此孤立的,在循環(huán)中可以有分支、順序結構,分支中也可以有循環(huán)、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現(xiàn)各種算法,設計出相應程序,但是要編程的問題較大
12、,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。(4)模塊化程序結構C語言的模塊化程序結構用函數(shù)來實現(xiàn),即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數(shù),然后通過主函數(shù)調用函數(shù)及函數(shù)調用函數(shù)來實現(xiàn)一大型問題的C程序編寫,因此常說:C程序=主函數(shù)子函數(shù)。因些,對函數(shù)的定義、調用、值的返回等中要尤其注重理解和應用,并通過上機調試加以鞏固。三掌握一些簡單的算法三掌握一些簡單的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論