c語言程序設(shè)計(jì)知識(shí)點(diǎn)總結(jié)_第1頁
c語言程序設(shè)計(jì)知識(shí)點(diǎn)總結(jié)_第2頁
c語言程序設(shè)計(jì)知識(shí)點(diǎn)總結(jié)_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C 語 言 程 序 設(shè) 計(jì) 教 學(xué) 基 本 知 識(shí) 點(diǎn)第一章 C 語言基本知識(shí)源程序的框架盡管各個(gè) C 源程序的功能千變?nèi)f化,但框架是不變的,主要有:編譯預(yù)處理、主函數(shù)() 、函數(shù) n() 等,主函數(shù)的位置不一定在最前面, 可以在程序的中部或后面, 主函數(shù)的名字固定為 main。 語言源程序的書寫規(guī)則:(1) C 源程序是由一個(gè)主函數(shù)和若干個(gè)其它函數(shù)組成的。(2) 函數(shù)名后必須有小括號(hào),函數(shù)體放在大括號(hào)內(nèi)。(3) C 程序必須用小寫字母書寫。(4) 每句的末尾加分號(hào)。(5) 可以一行多句。(6) 可以一句多行。(7) 可以在程序的任何位置加注釋。3. 語句種類 語句是程序的基本成分, 程序的執(zhí)

2、行就是通過一條條語句的執(zhí)行而得以實(shí)現(xiàn)的, 根據(jù)表現(xiàn)形 式及功能的不同, C 語言的基本語句可以分為五大類。(1) 流程控制語句 流程控制語句的功能是控制程序的走向, 程序的流程有三種基本結(jié)構(gòu): 順序結(jié)構(gòu)、 分支結(jié)構(gòu) 和循環(huán)結(jié)構(gòu), 任何復(fù)雜的程序都可以由這三種基本結(jié)構(gòu)復(fù)合而成。 其中后兩種結(jié)構(gòu)要用特定的流 程控制語句實(shí)現(xiàn)。(2) 表達(dá)式語句 表達(dá)式語句的形式是:表達(dá)式;,即表達(dá)式后跟一分號(hào)“;”,分號(hào)是語句結(jié)束符,是一個(gè) 語句必不可少的成分。 表達(dá)式和表達(dá)式語句的區(qū)別在于表達(dá)式代表的是一個(gè)數(shù)值, 而表達(dá)式語句 則代表一種動(dòng)作。最常見的表達(dá)式語句是賦值語句。(3) 函數(shù)調(diào)用語句 函數(shù)調(diào)用語句實(shí)際上

3、也是一種表達(dá)式語句, 形式為: 在一次函數(shù)調(diào)用的小括號(hào)后面加上一個(gè)分號(hào)。(4) 空語句 空語句的形式就是一個(gè)分號(hào),它不代表任何動(dòng)作,常常作為一個(gè)意義轉(zhuǎn)折點(diǎn)使用。(5) 復(fù)合語句 復(fù)合語句從形式上看是多個(gè)語句的組合, 但在語法意義上它只相當(dāng)于一個(gè)語句, 在任何單一 語句存在的地方都可以是復(fù)合語句。 注意復(fù)合語句中最后一個(gè)語句末尾的分號(hào)不能少。 復(fù)合語句 右大括號(hào)后面沒有分號(hào)。4. 運(yùn)算符 用來表示數(shù)據(jù)各種操作的符號(hào)稱為運(yùn)算符。運(yùn)算符實(shí)際上代表了一種類型數(shù)據(jù)的運(yùn)算規(guī)則。不同的運(yùn)算符具有不同的運(yùn)算規(guī)則, 其操作的數(shù)據(jù)類型必須符合該運(yùn)算符的要求, 運(yùn)算結(jié)果的數(shù) 據(jù)類型也是固定的。根據(jù)參加操作的數(shù)據(jù)個(gè)數(shù)

4、多少,可以將 C 語言的運(yùn)算符分為單目運(yùn)算符,雙目運(yùn)算符和三 目運(yùn)算符 (三目運(yùn)算符只有條件運(yùn)算符一個(gè) ) 。根據(jù)運(yùn)算對(duì)象和運(yùn)算結(jié)果的數(shù)據(jù)類型可分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符等。5. 表達(dá)式 表達(dá)式是由常量、變量、函數(shù),通過運(yùn)算符連接起來而形成的一個(gè)算式。一個(gè)常量,一個(gè)變 量或一個(gè)函數(shù)都可以看成是一個(gè)表達(dá)式。表達(dá)式的種類有: 算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式、字位表達(dá)式、強(qiáng)制類型轉(zhuǎn)換表達(dá)式、逗號(hào)表達(dá)式 (順序表達(dá)式 )、條件表達(dá)式、指針表達(dá)式。6. 數(shù)據(jù)的輸入 /輸出C 語言本身沒有輸人 /輸出語句,數(shù)據(jù)的輸入 /輸出是通過調(diào)用庫函數(shù)來實(shí)現(xiàn)的。第二章 數(shù)據(jù)類型知識(shí)點(diǎn) 劃分

5、數(shù)據(jù)類型的意義是編譯系統(tǒng)對(duì)每個(gè)不同類型的數(shù)據(jù)在內(nèi)存中分配的字節(jié)數(shù)不同, 不同類 型的數(shù)據(jù)可以按規(guī)定參加不同類型的運(yùn)算。語言的數(shù)據(jù)類型 數(shù)據(jù)類型有:整型、字符型、實(shí)型單精度型、雙精度型、構(gòu)造類型數(shù)組類型、結(jié)構(gòu)體類型、 共用體類型、枚舉類型、指針類型、空類型,其中整型、實(shí)型、字符型是 C 語言中的基本類型。2. 各種類型數(shù)據(jù)的定義方法定義形式:數(shù)據(jù)類型變量名1,變量名2 ,變量名n;3. 常量與變量(1)常量在程序執(zhí)行期間其值不變的量。它不能被賦值。(2)變量在程序運(yùn)行期間其值可以改變的量。4. 各種類型數(shù)據(jù)的混合運(yùn)算各類數(shù)據(jù)運(yùn)算前會(huì)自動(dòng)轉(zhuǎn)換成同一類型。規(guī)律如右圖示:從右向左的箭頭表示必定的轉(zhuǎn)換,

6、如 float 型數(shù)據(jù)運(yùn)算前化成 double 型,以提高運(yùn)算精度,結(jié)果也為 double 型, short 或 char 型數(shù) 據(jù)運(yùn)算前化成 int 型,結(jié)果也為 int 型;從下向上的箭頭表示轉(zhuǎn)換方向是向級(jí)別高的靠攏。5. 強(qiáng)制類型變換當(dāng)我們需要對(duì)數(shù)據(jù)進(jìn)行類型變換, 而機(jī)器又不能自動(dòng)完成時(shí), 就要用強(qiáng)制類型變換, 形式為: (數(shù)據(jù)類型符 )( 被轉(zhuǎn)換對(duì)象 )。第三章 選擇知識(shí)點(diǎn)C 語言中實(shí)現(xiàn)選擇結(jié)構(gòu)的控制語句有兩種:條件分支語句 if 和開關(guān)分支語句 switch 。 語句的三種形式:(1)if( 表達(dá)式 ) 語句;(2)if( 表達(dá)式 ) 語句 1;else 語句 2;(3)if( 表達(dá)

7、式 1)語句 1;else if( 表達(dá)式 2)語句 2;else if( 表達(dá)式 3) 語句 3;else if(表達(dá)式n)語句n;2. 開關(guān)分支語句 switch(1)形式 switch( 表達(dá)式 ) case e1: 語句 1 ; break;case e2語句 2 ; break;case e3語句 3 ; break;case en語句 n ; break;default : 語句 n+1;(2)功能當(dāng)表達(dá)式的值等于 e1 時(shí),執(zhí)行語句 1 ; 當(dāng)表達(dá)式的值等于 e2 時(shí),執(zhí)行語句 2;當(dāng)表達(dá)式的值等于 en 時(shí),執(zhí)行語句 n;default 后的語句C 語言中有三種循環(huán)語句當(dāng)表達(dá)式

8、的值與常量 el、e2en誰都不等時(shí),就執(zhí)行第四章 循環(huán)知識(shí)點(diǎn)循環(huán)就是在程序執(zhí)行過程中,反復(fù)多次的執(zhí)行同一段程序。循環(huán)語句形式為: while( 表達(dá)式 ) 循環(huán)體;執(zhí)行過程是: 先計(jì)算表達(dá)式的值, 當(dāng)表達(dá)式的值非 0 時(shí)就執(zhí)行循環(huán)體, 之后再判斷表達(dá)式的 值,且重復(fù)以上過程;當(dāng)表達(dá)式的值為 0 時(shí)就結(jié)束循環(huán)。while 循環(huán)語句 形式為: do循環(huán)體 while( 表達(dá)式 ) ;執(zhí)行過程是: 先執(zhí)行循環(huán)體一次, 再判斷表達(dá)式的值, 當(dāng)表達(dá)式的值非 0 時(shí)就再執(zhí)行循環(huán)體, 之后再判斷表達(dá)式的值,且重復(fù)以上過程;當(dāng)表達(dá)式的值為 0 時(shí)就結(jié)束循環(huán)。循環(huán)語句形式為: for( 表達(dá)式 1;表達(dá)式 2

9、; 表達(dá)式 3) 循環(huán)體 4.三種循環(huán)語句的比較 三種循環(huán)語句可以完成同一件事,可任選其一。使用 while 和 do- while 循環(huán)時(shí), 要提前給循環(huán)變量賦初值。 而 for 循環(huán)是在表達(dá)式 1 中賦初 值的。while 循環(huán)和 for 循環(huán)都是先判斷條件后執(zhí)行循環(huán)體,有可能一次也不執(zhí)行循環(huán)體,do- while 循環(huán)是先執(zhí)行循環(huán)體,后判斷條件,即循環(huán)體至少也得執(zhí)行一次。 for 循環(huán)不限于計(jì)數(shù)循環(huán),其循 環(huán)條件可以是邏輯表達(dá)式和字符表達(dá)式等。5.循環(huán)嵌套 三種循環(huán)控制語句可以互相嵌套, 即在一個(gè)循環(huán)體內(nèi)部又可以出現(xiàn)另一循環(huán), 這種嵌套在理 論上來說可以是無限的。注意必須是一個(gè)循環(huán)完整的

10、套住另一個(gè)循環(huán)。語句break 語句只能出現(xiàn)在三種循環(huán)語句和switch 多分支語句中,其作用是用來中斷這四種語句的執(zhí)行。當(dāng)程序執(zhí)行到 break 語句時(shí),會(huì)跳出 break 語句所在的循環(huán)或 switch 分支,而直接執(zhí)行 緊跟在它們后面的語句。語句continue 語句只能出現(xiàn)在三種循環(huán)語句中,當(dāng)程序執(zhí)行到 continue 語句時(shí),其作用是提前結(jié) 束本次循環(huán), 自動(dòng)跳過循環(huán)體中后半部剩余的語句的執(zhí)行, 而直接回到循環(huán)條件判斷。 根據(jù)判斷 的結(jié)果決定是否繼續(xù)執(zhí)行下次循環(huán)。8. goto 語句goto 語句是一種非結(jié)構(gòu)化語句, 其作用是使程序的執(zhí)行無條件的轉(zhuǎn)移到某一處。 使用格式為 : go

11、to 標(biāo)號(hào);利用 goto 語句與 if 條件語句配合,也可以實(shí)現(xiàn)條件循環(huán)。 C 語句允許在任何語句前 添加標(biāo)號(hào),作為跳轉(zhuǎn)目標(biāo),標(biāo)號(hào)的構(gòu)成是標(biāo)識(shí)符后面加一個(gè) : 。第五章 數(shù)組知識(shí)點(diǎn)數(shù)組就是同類型的一批數(shù)據(jù)的集合,用一個(gè)變量名存放,區(qū)分各元素的辦法是用下標(biāo)。1. 一維數(shù)組類型說明符數(shù)組名 數(shù)組長度 ;(1) 數(shù)組命名要符合標(biāo)識(shí)符的命名規(guī)則。(2) 數(shù)組名后的括號(hào)必須是方括號(hào),不能是圓括號(hào)。(3) 數(shù)組長度必須是正整數(shù) ,可以是個(gè)表達(dá)式,但不能有變量,C 語言不支持動(dòng)態(tài)數(shù)組。(4) 數(shù)組長度表示數(shù)組中元素的個(gè)數(shù)(5) 數(shù)組元素的下標(biāo)從 0 開始數(shù),所以最大下標(biāo)是數(shù)組的長度減1。2多維數(shù)組 ( 以

12、二維為例 )類型說明符數(shù)組名 第一維長度 第二維長度 ;(1) 數(shù)組命名要符合標(biāo)識(shí)符的命名規(guī)則。(2) 數(shù)組名后的括號(hào)必須是兩個(gè)方括號(hào),定義時(shí)不能寫成inta3 , 4 ;。(3) 數(shù)組長度必須是整型常量表達(dá)式。(4) 第一維長度表示數(shù)組行數(shù),第二維長度表示數(shù)組列數(shù)。(5) 每個(gè)數(shù)組元素都有兩個(gè)下標(biāo),第一維表示該元素所在的行,第二維表示該元素所在的列,每 一維的下標(biāo)都從 0 開始數(shù)。二維數(shù)組的初始化: C 語言規(guī)定只有靜態(tài)數(shù)組和外部數(shù)組才允許在定義時(shí)賦初值, 賦初值形式 如下:static 類型說明符數(shù)組名 第一維長度 第二維長度 = 初值表 ;二維數(shù)組的引用: 二維數(shù)組不能整體引用, 要引用

13、數(shù)組的單個(gè)元素, 形式為:數(shù)組名 下標(biāo) 下 標(biāo) 和普通變量的使用無任何區(qū)別。3字符數(shù)組C 語言中沒有字符串變量, 字符串是靠字符數(shù)組實(shí)現(xiàn)的, 所謂字符數(shù)組就是元素的數(shù)據(jù)類型 為字符型的數(shù)組。(1)字符數(shù)組的定義形式: char 數(shù)組名 數(shù)組長度 ;因?yàn)?C 語言中的整型數(shù)據(jù)和字符型數(shù)據(jù)是相通的, 所以也可以這樣定義: int 數(shù)組名 數(shù)組長度 ;(2)字符數(shù)組的初始化:給字符數(shù)組的初始化有兩種方式,一種是用字符常量,另一種是用字符 串。形式如下:staticchar 數(shù)組名 數(shù)組長度 = 字符常量表 ;staticchar 數(shù)組名 數(shù)組長度 = 字符串常量 ;4. 數(shù)組與函數(shù) 數(shù)組經(jīng)常作為函數(shù)

14、的參數(shù), 數(shù)組做函數(shù)的參數(shù)有兩種形式, 一是數(shù)組元素做函數(shù)的參數(shù), 一是數(shù)組名做函數(shù)的參數(shù),當(dāng)用數(shù)組名做函數(shù)的實(shí)參時(shí)傳送的是首地址。5. 常用的字符串處理函數(shù)C 語言提供了一些處理字符串的標(biāo)準(zhǔn)函數(shù), 用以完成一些常見的操作。 對(duì)以下幾個(gè)函數(shù)要掌 握其功能和調(diào)用形式。(1)gets( 字符數(shù)組名 )此函數(shù)功能是從鍵盤輸入一串字符,回車后送到字符數(shù)組中,注意定義數(shù)組 時(shí)數(shù)組長度要足夠大。(2)puts( 字符數(shù)組名 ) 此函數(shù)功能是將字符數(shù)組的內(nèi)容輸出到屏幕上。(3)strcat( 字符數(shù)組名 1,字符數(shù)組名 2)此函數(shù)功能是將字符數(shù)組1 中的 0去掉后將字符數(shù)組2 的內(nèi)容連接到字符數(shù)組 1 的末

15、尾。(4)strcpy( 字符數(shù)組名 1,字符數(shù)組名 2)函數(shù)功能是將字符數(shù)組2 的內(nèi)容 (包括 0 )拷貝到字符數(shù)組 1 中,字符數(shù)組 2 處也可以是字符串常量。 strcpy 函數(shù)可以實(shí)現(xiàn)拷子串。(5)strcmp( 字符數(shù)組名 1,字符數(shù)組名 2)函數(shù)功能是兩個(gè)字符串 (ASCII 碼 )比大小。(6)strlen( 字符數(shù)組名 )此函數(shù)功能是求字符串的長度,注意不包括0。(7)strlwr( 字符數(shù)組名 )此函數(shù)功能是將字符串中的所有大寫字母都變成小寫。(8)strupr( 字符數(shù)組名 )此函數(shù)功能是將字符串中的所有小寫字母都變成大寫。第六章 函數(shù)知識(shí)點(diǎn)每個(gè)C源程序都是由函數(shù)組成的,一

16、個(gè)主函數(shù)和若干個(gè)其它函數(shù),C語言程序設(shè)計(jì)的基礎(chǔ)工作就是函數(shù)的具體編寫,C語言中的函數(shù)就相當(dāng)于其它高級(jí)語言中的子程序。1. 函數(shù)的概念函數(shù)就是一個(gè)數(shù)據(jù)加工廠 ,從函數(shù)外部接收數(shù)據(jù),在函數(shù)內(nèi)部加工處理,然后得到一個(gè)結(jié)果返回給外部的調(diào)用者。所以函數(shù)就是對(duì)語言功能的擴(kuò)充,對(duì)函數(shù)的調(diào)用就是對(duì)功能的調(diào)用。2. 標(biāo)準(zhǔn)函數(shù)各種高級(jí)語言都定義了一些標(biāo)準(zhǔn)函數(shù), C 語言中的標(biāo)準(zhǔn)函數(shù)稱為庫函數(shù),是將一些基本的、 常用的功能編成了函數(shù),供大家使用方便。使用庫函數(shù)時(shí)必須把它的頭文件用#include 命令包含進(jìn)來,每個(gè)庫函數(shù)的功能及對(duì)應(yīng)的頭文件都會(huì)在手冊(cè)中給出。3. 自定義函數(shù)C語言也允許用戶自己編寫函數(shù)以實(shí)現(xiàn)C庫函數(shù)

17、中沒有提供的功能,稱作自定義函數(shù)。4定義函數(shù)C 語言規(guī)定每個(gè)函數(shù)都要獨(dú)立定義,函數(shù)定義不能嵌套。函數(shù)定義的形式:數(shù)據(jù)類型函數(shù)名(形參表 )形參說明語句序列 說明語句序列 可執(zhí)行語句序列 5函數(shù)調(diào)用函數(shù)調(diào)用的形式是: 函數(shù)名 (實(shí)參表 )。當(dāng)實(shí)參表中有多個(gè)參數(shù)時(shí),要用逗號(hào)隔開,若被調(diào) 函數(shù)無參數(shù),調(diào)用時(shí)小括號(hào)也不能省。函數(shù)調(diào)用過程是:將實(shí)參的值傳給形參,在函數(shù)體內(nèi)進(jìn)行加工處理,然后由 return 語句將函數(shù)值返回調(diào)用處。5全局變量和局部變量 局部變量:在函數(shù)內(nèi)部定義的變量稱為局部變量,只在本函數(shù)中有效。全局變量:在函數(shù)外部定義的變量稱為全局變量,它的作用范圍是從定義開始到本文件結(jié)束。 6動(dòng)態(tài)存

18、儲(chǔ)與靜態(tài)存儲(chǔ)內(nèi)存中的用戶數(shù)據(jù)區(qū)分為動(dòng)態(tài)存儲(chǔ)區(qū)和靜態(tài)存儲(chǔ)區(qū), 動(dòng)態(tài)存儲(chǔ)區(qū)是指程序運(yùn)行期間給變量臨 時(shí)分配存儲(chǔ)單元,變量用完后立即釋放單元的區(qū)域,動(dòng)態(tài)存儲(chǔ)區(qū)放的是函數(shù)的形參、自動(dòng)變量、 函數(shù)調(diào)用期間的現(xiàn)場保護(hù)數(shù)據(jù)和返回地址。 靜態(tài)存儲(chǔ)區(qū)是指程序運(yùn)行期間給變量分配固定的存儲(chǔ)單元,放的是全局變量和局部靜態(tài)變量。 一個(gè)變量除了它的數(shù)據(jù)類型以外還有存儲(chǔ)類型,定義一個(gè)變量時(shí)應(yīng)該說明這兩種類型。 第七章 預(yù)處理知識(shí)點(diǎn)對(duì)高級(jí)語言編譯連接就是把源程序轉(zhuǎn)換成機(jī)器語言, C 語言在進(jìn)行編譯之前還要預(yù)先處理三 件事:宏定義命令、文件包含命令和條件編譯命令,統(tǒng)稱為預(yù)處理命令,其特點(diǎn)是:1. 所有的預(yù)處理命令都放在程序的頭

19、部,以#開頭,且 #號(hào)后面不留空格。2. 預(yù)處理命令不是 C 的語句,行尾不加分號(hào)。3. 預(yù)處理命令是在編譯預(yù)處理階段完成的,所以它們沒有任何計(jì)算、操作等執(zhí)行功能。4. 預(yù)處理命令有所變動(dòng)后,必須對(duì)程序重新進(jìn)行編譯和連接。1宏定義宏定義命令的作用是給一些常用的對(duì)象重新命名, 在程序中可以用宏名來引用這些對(duì)象, 預(yù) 處理時(shí)宏名會(huì)被代表的內(nèi)容替換,此過程稱為宏展開或宏替換。宏定義有兩種形式:2文件包含 使用文件包含命令可以將另個(gè) C 源程序的全部內(nèi)容包含進(jìn)來,其形式為:#include v文件名 或#include 文件名通常可以把經(jīng)常用到的,帶公用性的一些函數(shù)或符號(hào)等集合在起形成一個(gè)源文件,然后

20、用此命令將這個(gè)源文件包含進(jìn)來,這樣可以避免在每個(gè)新程序中都要重新鍵入這些內(nèi)容。 3條件編譯顧名思義滿足條件時(shí)進(jìn)行編譯, 為了解決程序移植問題,C 語言提供了條件編譯命令,它能使源程序在不同的編譯環(huán)境下生成不同的目標(biāo)代碼文件。條件編譯命令有3 種形式。第八章 指針知識(shí)點(diǎn)1. 什么是指針和指針變量? 指針就是內(nèi)存地址,因?yàn)橥ㄟ^“地址”可以找到變量,所以內(nèi)存“地址形象的稱為指針。指針變量就是存地址的變量。在 C 語言中用一個(gè)變量存另一個(gè)變量的地址,那么就稱這個(gè) 變量為指針變量,指針變量的值就是地址。通常指針變量被簡稱為指針。指針變量是有類型的, 即指針值增 1 表示指向下一個(gè)數(shù)據(jù), 如整型數(shù)據(jù)在內(nèi)存

21、中占兩個(gè)字節(jié), 它的指針變量增 1是增兩個(gè)字節(jié)。如實(shí)型數(shù)據(jù)在內(nèi)存中占 4個(gè)字節(jié),它的指針變量增 1是增 4 個(gè)字節(jié)。2. 怎樣定義指針變量?定義形式為:數(shù)據(jù)類型*指針變量名1, *指針變量名2;3. 指針的有關(guān)運(yùn)算 指針為內(nèi)存地址是整數(shù),可以進(jìn)行一些算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算、特殊運(yùn)算等,但要注意 運(yùn)算代表的實(shí)際意義。4指向數(shù)組的指針變量(1) 指向數(shù)組元素的指針變量定義形式為: inta10; int*p=a;(2) 指向一維數(shù)組的指針變量定義形式為: inta34;int(*p)4;p=a;(3) 指向字符串的指針變量定義形式為: char*p= 字符序列 ;C語言中的字符串是以隱含形式

22、的字符數(shù)組存放的,定義了指針變量 p并不是將整個(gè)字符串都存放在p中了,而p中存放的是字符串的首地址。5指向函數(shù)的指針變量 一個(gè)函數(shù)在編譯時(shí)被分配一個(gè)入口地址, 這個(gè)地址就是函數(shù)的指針, 可以用一個(gè)指針變量指向它。 指向函數(shù)的指針變量定義形式為:數(shù)據(jù)類型 (* 指針變量名 );6. 指針變量做函數(shù)的參數(shù)(1) 指針作函數(shù)的參數(shù)可以傳送地址,如數(shù)組的首地址,函數(shù)的入口地址等。(2) 指針作函數(shù)的參數(shù)也可以用地址方式傳送數(shù)據(jù)。7返回值是指針的函數(shù) 即函數(shù)的返回值是內(nèi)存的地址,利用這種方法可以將一個(gè)以上的數(shù)據(jù)返回給函數(shù)的調(diào)用者 定義形式如下:數(shù)據(jù)類型 * 函數(shù)名(形參表)8.指針數(shù)組定義形式為:數(shù)據(jù)類

23、型 * 數(shù)組名 數(shù)組長度 ; 數(shù)組中的每個(gè)元素都是指針類型的數(shù)據(jù),這種數(shù)組被稱為指針數(shù)組。9. 指向指針的指針定義形式為:數(shù)據(jù)類型 * 指針變量名; 指向指針數(shù)據(jù)的指針變量稱為指向指針的指針。函數(shù)的形參main 函數(shù)可以帶兩個(gè)形參,如: main(argc,argv)intargc ;char *argv ; 11. 指向結(jié)構(gòu)體的指針變量 結(jié)構(gòu)體變量的指針就是該變量所占據(jù)的內(nèi)存段的首地址。指向結(jié)構(gòu)體的指針變量定義形式為: struct 結(jié)構(gòu)體類型名 *指針變量名;12. 指向共用體的指針變量 共用體變量的指針就是該變量所占據(jù)的內(nèi)存段的首地址。指向共用體的指針變量定義形式為: union 共用體

24、類型名 *指針變量名;替換了的字符時(shí) (這里為正中間的字符 4) ,原來的字符己不復(fù)存在。第九章 結(jié)構(gòu)體與共用體知識(shí)點(diǎn) 結(jié)構(gòu)體類型是 C 語言的一種構(gòu)造數(shù)據(jù)類型,它是多個(gè)相關(guān)的不同類型數(shù)據(jù)的集合,相當(dāng)于 其它高級(jí)語言中的記錄。1. 結(jié)構(gòu)體類型定義 結(jié)構(gòu)體類型的形式為: struct 結(jié)構(gòu)體類型名 數(shù)據(jù)類型成員名 1 ;數(shù)據(jù)類型成員名 n;2. 結(jié)構(gòu)體變量的定義 結(jié)構(gòu)體變量有三種定義形式:(1)先定義結(jié)構(gòu)體類型,后定義結(jié)構(gòu)體變量。(2)定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量。(3) 不定義結(jié)構(gòu)體類型名,直接定義結(jié)構(gòu)體變量。3. 結(jié)構(gòu)體變量的引用(1) 結(jié)構(gòu)體變量的初始化: 許多 C 版本規(guī)定對(duì)外部或

25、靜態(tài)存儲(chǔ)類型的結(jié)構(gòu)體變量可以進(jìn)行初始化, 而對(duì)局部的結(jié)構(gòu)體變量則不可以,新標(biāo)準(zhǔn) C 無此限制,允許在定義時(shí)對(duì)自動(dòng)變量初始化。(2) 結(jié)構(gòu)體成員的引用:由于 C 語言一般不允許對(duì)結(jié)構(gòu)體變量的整體引用,所以對(duì)結(jié)構(gòu)體的引用 只能是對(duì)分量的引用,結(jié)構(gòu)體變量中的任一分量可以表示為:結(jié)構(gòu)體變量名成員名4. 結(jié)構(gòu)體與數(shù)組C 語言中數(shù)組的成員可以是結(jié)構(gòu)體變量,結(jié)構(gòu)體變量的成員也可以是數(shù)組。 結(jié)構(gòu)體數(shù)組有三種定義形式:(1) 先定義結(jié)構(gòu)體類型,后定義結(jié)構(gòu)體數(shù)組。(2) 定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體數(shù)組。(3) 不定義結(jié)構(gòu)體類型名,直接定義結(jié)構(gòu)體變量。5. 結(jié)構(gòu)體與指針一方面結(jié)構(gòu)體變量中的成員可以是指針變量,另一方面也可以定義指向結(jié)構(gòu)體的指針變量, 指向結(jié)構(gòu)體的指針變量的值是某一結(jié)構(gòu)體變量在內(nèi)存中的首地址。結(jié)構(gòu)體指針的定義形式 :struct 結(jié)構(gòu)體類型名 * 結(jié)構(gòu)體指針變量名。 由結(jié)構(gòu)體指針引用結(jié)構(gòu)體成員的方法6. 用指針處理鏈表 結(jié)構(gòu)體的成員可以是指針類型, 并且這個(gè)指針類型就是本結(jié)構(gòu)體類型的, 這樣可以構(gòu)造出一 種動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)成為鏈表。 所謂動(dòng)態(tài)數(shù)據(jù)就是指在編譯時(shí)不能確定數(shù)據(jù)量的多少, 而是在程序 執(zhí)行時(shí)才確定的數(shù)據(jù),動(dòng)態(tài)數(shù)據(jù)可以比較方便的進(jìn)行數(shù)據(jù)插人或刪除等操作。7. 結(jié)構(gòu)體與函數(shù) 結(jié)構(gòu)體變量的成員可以作函數(shù)的參數(shù)、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論