c語言複習知識點

2021-09-08 02:23:04 字數 4943 閱讀 9339

1.c源程式的框架

儘管各個c源程式的功能千變萬化,但框架是不變的,主要有:編譯預處理、主函式()、函式n()等,主函式的位置不一定在最前面,可以在程式的中部或後面,主函式的名字固定為main。

2.c語言源程式的書寫規則:

(1)c源程式是由乙個主函式和若干個其它函式組成的。

(2)函式名後必須有小括號,函式體放在大括號內。

(3)c程式必須用小寫字母書寫。

(4)每句的末尾加分號。

(5)可以一行多句。

(6)可以一句多行。

(7)可以在程式的任何位置加注釋。

3.語句種類

語句是程式的基本成分,程式的執行就是通過一條條語句的執行而得以實現的,根據表現形式及功能的不同,c語言的基本語句可以分為五大類。

(1)流程控制語句

流程控制語句的功能是控制程式的走向,程式的流程有三種基本結構:順序結構、分支結構和迴圈結構,任何複雜的程式都可以由這三種基本結構復合而成。其中後兩種結構要用特定的流程控制語句實現。

(2)表示式語句

表示式語句的形式是:表示式;,即表示式後跟一分號";",分號是語句結束符,是乙個語句必不可少的成分。表示式和表示式語句的區別在於表示式代表的是乙個數值,而表示式語句則代表一種動作。

最常見的表示式語句是賦值語句。

(3)函式呼叫語句

函式呼叫語句實際上也是一種表示式語句,形式為:在一次函式呼叫的小括號後面加上乙個分號。

(4)空語句

空語句的形式就是乙個分號,它不代表任何動作,常常作為乙個意義轉折點使用。

(5)復合語句

復合語句從形式上看是多個語句的組合,但在語法意義上它只相當於乙個語句,在任何單一語句存在的地方都可以是復合語句。注意復合語句中最後乙個語句末尾的分號不能少。復合語句右大括號後面沒有分號。

4.運算子

用來表示資料各種操作的符號稱為運算子。運算子實際上代表了一種型別資料的運算規則。不同的運算子具有不同的運算規則,其操作的資料型別必須符合該運算子的要求,運算結果的資料型別也是固定的。

根據參加操作的資料個數多少,可以將c語言的運算子分為單目運算子,雙目運算子和三目運算子(三目運算子只有條件運算子乙個)。

根據運算物件和運算結果的資料型別可分為算術運算子、關係運算子、邏輯運算子等。

5.表示式

表示式是由常量、變數、函式,通過運算子連線起來而形成的乙個算式。乙個常量,乙個變數或乙個函式都可以看成是乙個表示式。

表示式的種類有:

算術表示式、關係表示式、邏輯表示式、賦值表示式、字位表示式、強制型別轉換表示式、逗號表示式(順序表示式)、條件表示式、指標表示式。

6.資料的輸入/輸出

c語言本身沒有輸人/輸出語句,資料的輸入/輸出是通過呼叫庫函式來實現的。

第二章資料型別知識點

劃分資料型別的意義是編譯系統對每個不同型別的資料在記憶體中分配的位元組數不同,不同型別的資料可以按規定參加不同型別的運算。

1.c語言的資料型別

資料型別有:整型、字元型、實型單精度型、雙精度型、構造型別陣列型別、結構體型別、共用體型別、列舉型別、指標型別、空型別,其中整型、實型、字元型是c語言中的基本型別。

2.各種型別資料的定義方法

定義形式:資料型別變數名1,變數名2,......變數名n;

3.常量與變數

(1)常量——在程式執行期間其值不變的量。它不能被賦值。

(2)變數——在程式執行期間其值可以改變的量。

4.各種型別資料的混合運算

各類資料運算前會自動轉換成同一型別。規律如右圖示:從右向左的箭頭表示必定的轉換,如float型資料運算前化成double型,以提高運算精度,結果也為double型,short或char型資料運算前化成int型,結果也為int型;從下向上的箭頭表示轉換方向是向級別高的靠攏。

5.強制型別變換

當我們需要對資料進行型別變換,而機器又不能自動完成時,就要用強制型別變換,形式為:(資料型別符)(被轉換物件)。

第三章選擇知識點

c語言中實現選擇結構的控制語句有兩種:條件分支語句if和開關分支語句switch。

1.if語句的三種形式:

(1) if(表示式)語句;

(2) if(表示式)語句1;

else語句2;

(3) if(表示式1)語句1;

else if(表示式2)語句2;

else if(表示式3)語句3;

...else if(表示式n)語句n;

2.開關分支語句switch

(1)形式

switch(表示式)

(2)功能

當表示式的值等於e1時,執行語句1;

當表示式的值等於e2時,執行語句2;

......

當表示式的值等於en時,執行語句n;

當表示式的值與常量e1、e2......en誰都不等時,就執行default後的語句

第四章迴圈知識點

迴圈就是在程式執行過程中,反覆多次的執行同一段程式。c語言中有三種迴圈語句。

1.while迴圈語句

形式為:while(表示式)

;執行過程是:先計算表示式的值,當表示式的值非0時就執行迴圈體,之後再判斷表示式的值,且重複以上過程;當表示式的值為0時就結束迴圈。

2.do-- while迴圈語句

形式為:do

while(表示式);

執行過程是:先執行迴圈體一次,再判斷表示式的值,當表示式的值非0時就再執行迴圈體,之後再判斷表示式的值,且重複以上過程;當表示式的值為0時就結束迴圈。

3.for迴圈語句

形式為:for(表示式1;表示式2;表示式3)

4.三種迴圈語句的比較

三種迴圈語句可以完成同一件事,可任選其一。

使用while和do-- while迴圈時,要提前給迴圈變數賦初值。而for迴圈是在表示式1中賦初值的。

while迴圈和for迴圈都是先判斷條件後執行迴圈體,有可能一次也不執行迴圈體,do-- while迴圈是先執行迴圈體,後判斷條件,即迴圈體至少也得執行一次。for迴圈不限於計數迴圈,其迴圈條件可以是邏輯表示式和字元表示式等。

5.迴圈巢狀

三種迴圈控制語句可以互相巢狀,即在乙個迴圈體內部又可以出現另一迴圈,這種巢狀在理論上來說可以是無限的。注意必須是乙個迴圈完整的套住另乙個迴圈。

6.break語句

break語句只能出現在三種迴圈語句和switch多分支語句中,其作用是用來中斷這四種語句的執行。當程式執行到break語句時,會跳出break語句所在的迴圈或switch分支,而直接執行緊跟在它們後面的語句。

語句continue語句只能出現在三種迴圈語句中,當程式執行到continue語句時,其作用是提前結束本次迴圈,自動跳過迴圈體中後半部剩餘的語句的執行,而直接回到迴圈條件判斷。根據判斷的結果決定是否繼續執行下次迴圈。

8. goto 語句

goto語句是一種非結構化語句,其作用是使程式的執行無條件的轉移到某一處。使用格式為: goto 標號;利用goto語句與if條件語句配合,也可以實現條件迴圈。

c語句允許在任何語句前新增標號,作為跳轉目標,標號的構成是識別符號後面加乙個":"。

第五章陣列知識點

陣列就是同型別的一批資料的集合,用乙個變數名存放,區分各元素的辦法是用下標。

1.一維陣列

型別說明符陣列名\[陣列長度\];

(1)陣列命名要符合識別符號的命名規則。

(2)陣列名後的括號必須是方括號,不能是圓括號。

(3)陣列長度必須是正整數,可以是個表示式,但不能有變數,c語言不支援動態陣列。

(4)陣列長度表示陣列中元素的個數

(5)陣列元素的下標從0開始數,所以最大下標是陣列的長度減1。

2.多維陣列(以二維為例)

型別說明符陣列名\[第一維長度\]\[第二維長度\];

(1)陣列命名要符合識別符號的命名規則。

(2)陣列名後的括號必須是兩個方括號,定義時不能寫成inta\[3,4\];。

(3)陣列長度必須是整型常量表示式。

(4)第一維長度表示陣列行數,第二維長度表示陣列列數。

(5)每個陣列元素都有兩個下標,第一維表示該元素所在的行,第二維表示該元素所在的列,每一維的下標都從0開始數。

二維陣列的初始化:c語言規定只有靜態陣列和外部陣列才允許在定義時賦初值,賦初值形式如下:

static型別說明符陣列名\[第一維長度\]\[第二維長度\]=;

二維陣列的引用:二維陣列不能整體引用,要引用陣列的單個元素,形式為:陣列名\[下標\]\[下標\]和普通變數的使用無任何區別。

3.字元陣列

c語言中沒有字串變數,字串是靠字元陣列實現的,所謂字元陣列就是元素的資料型別為字元型的陣列。

(1)字元陣列的定義形式:char陣列名\[陣列長度\];

因為c語言中的整型資料和字元型資料是相通的,所以也可以這樣定義:int陣列名\[陣列長度\];

(2)字元陣列的初始化:給字元陣列的初始化有兩種方式,一種是用字元常量,另一種是用字串。形式如下:

staticchar陣列名\[陣列長度\]=;

staticchar陣列名\[陣列長度\]=;

4.陣列與函式

陣列經常作為函式的引數,陣列做函式的引數有兩種形式,一是陣列元素做函式的引數,一是陣列名做函式的引數,當用陣列名做函式的實參時傳送的是首位址。

5.常用的字串處理函式

c語言提供了一些處理字串的標準函式,用以完成一些常見的操作。對以下幾個函式要掌握其功能和呼叫形式。

(1)gets(字元陣列名)此函式功能是從鍵盤輸入一串字元,回車後送到字元陣列中,注意定義陣列時陣列長度要足夠大。

(2)puts(字元陣列名)此函式功能是將字元陣列的內容輸出到螢幕上。

(3)strcat(字元陣列名1,字元陣列名2)此函式功能是將字元陣列1中的'\\0'去掉後將字元陣列2的內容連線到字元陣列1的末尾。

(4)strcpy(字元陣列名1,字元陣列名2)函式功能是將字元陣列2的內容(包括'\\0')拷貝到字元陣列1中,字元陣列2處也可以是字串常量。strcpy函式可以實現拷子串。

(5)strcmp(字元陣列名1,字元陣列名2)函式功能是兩個字串(ascii碼)比大小。

C語言知識點複習

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

C語言複習 一 知識點總匯

關鍵字就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等 由ansi標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typedef char extern...

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

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