<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言基礎小知識

            時間:2025-02-24 15:29:43 C語言 我要投稿

            C語言基礎小知識

              想要學好C語言,那么必須打好基礎,下面小編為大家帶來了C語言基礎小知識,歡迎大家閱讀!

            C語言基礎小知識

              C語言基礎小知識

              基本數據類型

              void:聲明函數無返回值或無參數,聲明無類型指針,顯示丟棄運算結果。(C89標準新增)

              char:字符型類型數據,屬于整型數據的一種。(K&R時期引入)

              int:整型數據,表示范圍通常為編譯器指定的內存字節長。(K&R時期引入)

              float:單精度浮點型數據,屬于浮點數據的一種。(K&R時期引入)

              double:雙精度浮點型數據,屬于浮點數據的一種。(K&R時期引入)

              _Bool:布爾型(C99標準新增)

              _Complex:復數的基本類型(C99標準新增)

              _Imaginary:虛數,與復數基本類型相似,沒有實部的純虛數(C99標準新增)

              _Generic:提供重載的接口入口(C11標準新增)

              類型修飾關鍵字

              short:修飾int,短整型數據,可省略被修飾的int。(K&R時期引入)

              long:修飾int,長整型數據,可省略被修飾的int。(K&R時期引入)

              long long:修飾int,超長整型數據,可省略被修飾的int。(C99標準新增)

              signed:修飾整型數據,有符號數據類型。(C89標準新增)

              unsigned:修飾整型數據,無符號數據類型。(K&R時期引入)

              restrict:用于限定和約束指針,并表明指針是訪問一個數據對象的唯一且初始的方式。(C99標準新增)

              復雜類型關鍵字

              struct:結構體聲明。(K&R時期引入)

              union:聯合體聲明。(K&R時期引入)

              enum:枚舉聲明。(C89標準新增)

              typedef:聲明類型別名。(K&R時期引入)

              sizeof:得到特定類型或特定類型變量的大小。(K&R時期引入)

              inline:內聯函數用于取代宏定義,會在任何調用它的地方展開。(C99標準新增)

              存儲級別關鍵字

              auto:指定為自動變量,由編譯器自動分配及釋放。通常在棧上分配。與static相反。當變量未指定時默認為auto。(K&R時期引入)

              static:指定為靜態變量,分配在靜態變量區,修飾函數時,指定函數作用域為文件內部。(K&R時期引入)

              register:指定為寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數。(K&R時期引入)

              extern:指定對應變量為外部變量,即標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。(K&R時期引入)

              const:指定變量不可被當前線程改變(但有可能被系統或其他線程改變)。(C89標準新增)

              volatile:指定變量的值有可能會被系統或其他線程改變,強制編譯器每次從內存中取得該變量的值,阻止編譯器把該變量優化成寄存器變量。(C89標準新增)

              流程控制關鍵字

              跳轉結構

              return:用在函數體中,返回特定值(如果是void類型,則不返回函數值)。(K&R時期引入)

              continue:結束當前循環,開始下一輪循環。(K&R時期引入)

              break:跳出當前循環或switch結構。(K&R時期引入)

              goto:無條件跳轉語句。(K&R時期引入)

              分支結構

              if:條件語句,后面不需要放分號。(K&R時期引入)

              else:條件語句否定分支(與if連用)。(K&R時期引入)

              switch:開關語句(多重分支語句)。(K&R時期引入)

              case:開關語句中的分支標記,與switch連用。(K&R時期引入)

              default:開關語句中的“其他”分支,可選。(K&R時期引入)

              編譯

              #define 預編譯宏

              #if 表達式 #else if 表達式 #else #endif 條件編譯

              #ifdef 宏 #else #endif 條件編譯

              #ifndef 宏 #else #endif 條件編譯與條件編譯

              語法結構

              順序結構

              順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。

              例如:a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那么正確的程序為:c = a; a = b; b = c;執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b =c;則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的.面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環結構中的循環體等。

              選擇結構

              順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對于要先做判斷再選擇的問題就要使用選擇結構。選擇結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。選擇結構的程序設計方法的關鍵在于構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的選擇語句。選擇結構適合于帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然后根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易于理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。[23]

              循環結構

              循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段算法的問題,這是程序設計中最能發揮計算機特長的程序結構,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語言基礎知識小總結07-08

            C語言基礎知識10-13

            C語言的基礎知識08-16

            C語言程序基礎知識09-09

            C語言基礎知識大全09-23

            c語言入門基礎知識07-18

            C語言基礎知識匯總07-15

            c語言公共基礎知識06-21

            C語言基礎知識總結09-13

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院