C語言複習 一 知識點總匯

2021-09-22 23:44:33 字數 4434 閱讀 2817

關鍵字就是已被c語言本身使用, 不能作其它用途使用的字。例如關鍵字不能用作變數名、函式名等

由ansi標準定義的c語言關鍵字共32個 :

auto double int struct break else long switch

case enum register typedef char extern return union

const float short unsigned continue for signed void

default goto sizeof volatile do if while static

根據關鍵字的作用,可以將關鍵字分為資料型別關鍵字和流程控制關鍵字兩大類。

1 資料型別關鍵字

a基本資料型別(5個)

void :宣告函式無返回值或無引數,宣告無型別指標,顯式丟棄運算結果

char :字元型型別資料,屬於整型資料的一種 char ch =』a『;

int :整型資料,通常為編譯器指定的機器字長

float :單精度浮點型資料,屬於浮點資料的一種

double :雙精度浮點型資料,屬於浮點資料的一種

b 型別修飾關鍵字(4個)

short :修飾int,短整型資料,可省略被修飾的int。

long :修飾int,長整形資料,可省略被修飾的int。

signed :修飾整型資料,有符號資料型別

unsigned :修飾整型資料,無符號資料型別

c 複雜型別關鍵字(5個)

struct :結構體宣告

union :共用體宣告

enum :列舉宣告

typedef :宣告型別別名

sizeof :得到特定型別或特定型別變數的大小

d 儲存級別關鍵字(6個)

auto :指定為自動變數,由編譯器自動分配及釋放。通常在棧上分配

static :指定為靜態變數,分配在靜態變數區,修飾函式時,指定函式作用域為檔案內部

register :指定為暫存器變數,建議編譯器將變數儲存到暫存器中使用,也可以修飾函式形參,建議編譯器通過暫存器而不是堆疊傳遞引數

extern :指定對應變數為外部變數,即在另外的目標檔案中定義,可以認為是約定由另外檔案宣告的物件的乙個「引用」

const :與volatile合稱「cv特性」,指定變數不可被當前執行緒/程序改變(但有可能被系統或其他執行緒/程序改變)

volatile :與const合稱「cv特性」,指定變數的值有可能會被系統或其他程序/執行緒改變,強制編譯器每次從記憶體中取得該變數的值

2 流程控制關鍵字

a 跳轉結構(4個)

return :用在函式體中,返回特定值(或者是void值,即不返回值) void ***()

continue :結束當前迴圈,開始下一輪迴圈

break :跳出當前迴圈或switch結構

for ( )

break(2);

}goto :無條件跳轉語句

b 分支結構(5個)

if :條件語句

else :條件語句否定分支(與if連用)

switch :開關語句(多重分支語句)

case :開關語句中的分支標記

default :開關語句中的「其他」分治,可選。

c 迴圈結構(3個)

for :for迴圈結構,for(1;2;3)4;的執行順序為1->2->4->3->2...迴圈,其中2為迴圈條件

do :do迴圈結構,do 1 while(2); 的執行順序是 1->2->1...迴圈,2為迴圈條件

while :while迴圈結構,while(1) 2; 的執行順序是1->2->1...迴圈,1為迴圈條件

以上迴圈語句,當迴圈條件表示式為真則繼續迴圈,為假則跳出迴圈。

c源程式的結構特點:

1.乙個c語言源程式可以由乙個或多個原始檔組成。

2.每個原始檔可由乙個或多個函式組成。

3.乙個源程式不論由多少個檔案組成,都有乙個且只能有乙個main函式,即主函式。

4.源程式中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在原始檔或源程式的最前面。

5.每乙個說明,每乙個語句都必須以分號結尾。但預處理命令,函式頭和花括號「}」之後不能加分號。

6.識別符號,關鍵字之間必須至少加乙個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。

c語言的運算子和運算順序

這是學好《c程式設計》的基礎,c語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式語言。

運算子按優先順序不同分類,《c程式設計》運算子可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算子的運算順序.

結構化程式的三種基本結構

1)順序結構

2)分支結構

分支結構的程式設計方法的關鍵在於構造合適的分支條件和分析程式流程,根據不同的程式流程選擇適當的分支語句。分支結構適合於帶有邏輯或關係比較等條件判斷的計算,設計這類程式時往往都要先繪製其程式流程圖,然後根據程式流程寫出源程式,這樣做把程式設計分析與語言分開,使得問題簡單化,易於理解。程式流程圖是根據解題分析所繪製的程式執行流程圖。

下面介紹幾種基本的分支結構。

①if(條件)

這種分支結構中的分支體可以是一條語句,此時「」可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:

要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程式段為:if(x<0)

x=-x;

②if(條件)

else

這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求ax^2+bx+c=0的根

分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程式段如下: d=b*b-4*a*c;

if(d>=0)

else

③巢狀分支語句:其語句格式為:

if(條件1) ;

else if(條件2)

else if(條件3)

…… else if(條件n)

else

巢狀分支語句雖可解決多個入口和出口的問題,但超過3重巢狀後,語句結構變得非常複雜,對於程式的閱讀和理解都極為不便,建議巢狀在3重以內,超過3重可以用下面的語句。

④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設定,也就是表示式的值與常量表示式相匹配的那一路,它不同if…else

語句,它的所有分支都是並列的,程式執行時,由第一分支開始查詢,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查詢下乙個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設定以及break語句的合理應用。

(3)迴圈結構:

迴圈結構可以減少源程式重複書寫的工作量,用來描述重複執行某段演算法的問題,這是程式設計中最能發揮計算機特長的程式結構,c語言中提供四種迴圈,即goto迴圈、while迴圈、do while迴圈和for迴圈。四種迴圈語句可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto迴圈,因為強制改變程式的順序經常會給程式的執行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種迴圈。常用的三種迴圈結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種迴圈的格式和執行順序,將每種迴圈的流程圖理解透徹後就會明白如何替換使用,如把while迴圈的例題,用for語句重新編寫乙個程式,這樣能更好地理解它們的作用。

特別要注意在迴圈體內應包含趨於結束的語句(即迴圈變數值的改變),否則就可能成了乙個死迴圈。

在學完這三個迴圈後,應明確它們的異同點:用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語言複習知識點

1.c源程式的框架 儘管各個c源程式的功能千變萬化,但框架是不變的,主要有 編譯預處理 主函式 函式n 等,主函式的位置不一定在最前面,可以在程式的中部或後面,主函式的名字固定為main。2.c語言源程式的書寫規則 1 c源程式是由乙個主函式和若干個其它函式組成的。2 函式名後必須有小括號,函式體放...

C語言知識點複習

national computer rank examination 全國計算機等級考試 c語言與公共基礎知識部分 第一部分 c語言知識複習資料 第一章 c語言基本知識 考點1 c程式 用c語言編寫的程式稱為c語言源程式,源程式檔案的字尾名為 c 源程式經編譯後生成字尾名為 obj 的目標檔案,再把...

期末複習C語言知識點歸納

一 概述部分 主要考察知識點 c程式的結構特點 c程式的副檔名 程式的開發過程 函式的構成 c語言使用的基本符號 ascii字符集 識別符號的命名規則 關鍵字 使用者自定義識別符號 程式的基本模組是函式,乙個c語言源程式可以由乙個或多個函式組成,有且只有1個main 函式,可以放在程式中的任何位置....