抓住這兩點,讓你的編程水平再上一層樓


抓住這兩點,讓你的編程水平再上一層樓

第一關鍵字

關鍵字又稱為保留字,就是已被C語言本身使用,不能作其它用途使用的字.例如關鍵字不能用作變量名,函數名等標識符

由ANSI標準定義的C語言關鍵字共32個:

基本數據類型關鍵字

void char int float double

類型修飾符關鍵字

short long signed unsigned

複雜類型關鍵字

struct union enum typedef

存儲類型關鍵字

auto static register extern const volatile

跳轉結構關鍵字

return continue break goto

選擇結構關鍵字

if else switch case default

循環結構關鍵字

for do while

判斷數據類型佔用字節數關鍵字

抓住這兩點,讓你的編程水平再上一層樓

sizeof

  • 基本數據類型關鍵字
  • void:聲明函數無返回值或無參數,聲明無類型指針,顯式丟棄運算結果(C89新增)
  • char:字符型類型數據,屬於整型數據的一種(K&R引入)
  • int:整型數據(K&R時期引入)
  • float:單精度浮點型數據,屬於浮點數據的一種(K&R引入)
  • double:雙精度浮點型數據,屬於浮點數據的一種(K&R引入)
  • 類型修飾符關鍵字
  • short:修飾int,短整型數據,可省略被修飾的int(K&R引入)
  • long:修飾int,長整型數據,可省略被修飾的int(K&R引入)
  • signed:修飾int,有符號數據類型(C89新增)
  • unsigned:修飾int,無符號數據類型(K&R引入)
  • 複雜類型關鍵字
  • struct:結構體聲明(K&R引入)
  • union:聯合體聲明(K&R引入)
  • enum:枚舉聲明(C89新增)
  • typedef:聲明類型別名(K&R引入)
  • 存儲類型關鍵字
  • auto:指定為自動變量,由編譯器自動分配及釋放,通常在棧上分配.與static相反.當變量未指定時默認為auto(K&R引入)
  • static:指定為靜態變量,分配在靜態變量區,修飾函數時指定函數作用域為文件內部(K&R引入)
  • register:指定為寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數.(K&R引入)
  • extern:指定對應變量為外部變量,即標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義.(K&R引入)
  • const:指定變量不可被當前線程改變(但有可能被系統或其他線程改變)(C89新增)
  • volatile:指定變量的值有可能會被系統或其他線程改變,強制編譯器每次從內存中取得該變量的值,阻止編譯器把該變量優化成寄存器變量.(C89新增)
  • 跳轉結構關鍵字
  • return:用在函數體中,返回特定值(K&R引入)
  • continue:結束當前循環,開始下一輪循環(K&R引入)
  • break:跳出當前循環或switch結構(K&R引入)
  • goto:無條件跳轉語句(K&R引入)
  • 選擇結構關鍵字
  • if:條件語句(K&R引入)
  • else:if語句的否定分支,與if連用.(K&R引入)
  • switch:分支語句.(K&R引入)
  • case:分支語句中的分支標記,與switch連用.(K&R引入)
  • default:分支語句中的''其他'分支,可選.(K&R引入)
  • sizeof:得到特定類型或特定類型變量佔用字節大小(K&R引入)
抓住這兩點,讓你的編程水平再上一層樓


第二語法結構

  • 順序結構
  • 順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行.
  • 大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個複雜的程序
  • 選擇結構
  • 順序結構的程序雖然能解決計算,輸出等問題,但不能做判斷再選擇.對於要先做判斷再選擇的問題就要使用選擇結構.選擇結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序.選擇結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的選擇語句,選擇結構適合於帶有邏輯或關係比較等條件判斷的計算,設計這類程序時往往都要先繪製其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解.
  • 循環結構
  • 循環結構可以減少源程序重複書寫的工作量,用來描述重複執行某段算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環,while循環,do while循環和for循環.四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤.
  • 特別要注意在循環體內應包含趨於結束的語句(即循環變量值的改變),否則就可能成了一個死循環.
  • 三個循環的異同點:用while和do…while循環時,循環變量的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while循環和for循環都是先判斷表達式,後執行循環體,而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while循環和for就可能一次都不執行.另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和continue語句進行控制的.
  • 順序結構,分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環,順序結構,其實不管哪種結構,均可廣義的把它們看成一個語句.在實際編程過程中常將這三種結構相互結合以實現各種算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長,結構重複多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構.
抓住這兩點,讓你的編程水平再上一層樓


程序結構

C語言的模塊化程序結構用函數來實現,即將複雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫

因此常說:

C程序=主函數+子函數.

對函數的定義調用,值的返回等中要尤其注重理解和應用

  • 選擇結構
  • if語句
  • switch語句
  • 循環結構
  • while語句
  • do-while語句
  • for語句
  • 跳轉語句
  • goto語句
  • break語句
  • continue語句
  • return語句
抓住這兩點,讓你的編程水平再上一層樓

寫在文末的一句話,更多幹貨關注小編,關注小編不迷路。需要學習資料的評論區留郵箱!


分享到:


相關文章: