




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì)教學(xué)基本知識(shí)點(diǎn)第一章C語(yǔ)言基本知識(shí)1.C源程序的框架盡管各個(gè)C源程序的功能千變?nèi)f化,但框架是不變的,主要有:編譯預(yù)處理、主函數(shù)(、函數(shù)n(等,主函數(shù)的位置不一定在最前面,可以在程序的中部或后面,主函數(shù)的名字固定為main。2.C語(yǔ)言源程序的書寫規(guī)則:(1C源程序是由一個(gè)主函數(shù)和若干個(gè)其它函數(shù)組成的。(2函數(shù)名后必須有小括號(hào),函數(shù)體放在大括號(hào)內(nèi)。(3C程序必須用小寫字母書寫。(4每句的末尾加分號(hào)。(5可以一行多句。(6可以一句多行。(7可以在程序的任何位置加注釋。3.語(yǔ)句種類語(yǔ)句是程序的基本成分,程序的執(zhí)行就是通過(guò)一條條語(yǔ)句的執(zhí)行而得以實(shí)現(xiàn)的,根據(jù)表現(xiàn)形式及功能的不同,C語(yǔ)言的基本
2、語(yǔ)句可以分為五大類。(1流程控制語(yǔ)句流程控制語(yǔ)句的功能是控制程序的走向,程序的流程有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),任何復(fù)雜的程序都可以由這三種基本結(jié)構(gòu)復(fù)合而成。其中后兩種結(jié)構(gòu)要用特定的流程控制語(yǔ)句實(shí)現(xiàn)。(2表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句的形式是:表達(dá)式;,即表達(dá)式后跟一分號(hào)“;”,分號(hào)是語(yǔ)句結(jié)束符,是一個(gè)語(yǔ)句必不可少的成分。表達(dá)式和表達(dá)式語(yǔ)句的區(qū)別在于表達(dá)式代表的是一個(gè)數(shù)值,而表達(dá)式語(yǔ)句則代表一種動(dòng)作。最常見(jiàn)的表達(dá)式語(yǔ)句是賦值語(yǔ)句。(3函數(shù)調(diào)用語(yǔ)句函數(shù)調(diào)用語(yǔ)句實(shí)際上也是一種表達(dá)式語(yǔ)句,形式為:在一次函數(shù)調(diào)用的小括號(hào)后面加上一個(gè)分號(hào)。(4空語(yǔ)句空語(yǔ)句的形式就是一個(gè)分號(hào),它不代表任何動(dòng)作,常常
3、作為一個(gè)意義轉(zhuǎn)折點(diǎn)使用。(5復(fù)合語(yǔ)句復(fù)合語(yǔ)句從形式上看是多個(gè)語(yǔ)句的組合,但在語(yǔ)法意義上它只相當(dāng)于一個(gè)語(yǔ)句,在任何單一語(yǔ)句存在的地方都可以是復(fù)合語(yǔ)句。注意復(fù)合語(yǔ)句中最后一個(gè)語(yǔ)句末尾的分號(hào)不能少。復(fù)合語(yǔ)句右大括號(hào)后面沒(méi)有分號(hào)。4.運(yùn)算符用來(lái)表示數(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ù)多少,可以將C語(yǔ)言的運(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)
4、算符等。5.表達(dá)式表達(dá)式是由常量、變量、函數(shù),通過(guò)運(yùn)算符連接起來(lái)而形成的一個(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語(yǔ)言本身沒(méi)有輸人/輸出語(yǔ)句,數(shù)據(jù)的輸入/輸出是通過(guò)調(diào)用庫(kù)函數(shù)來(lái)實(shí)現(xiàn)的。第二章數(shù)據(jù)類型知識(shí)點(diǎn)劃分?jǐn)?shù)據(jù)類型的意義是編譯系統(tǒng)對(duì)每個(gè)不同類型的數(shù)據(jù)在內(nèi)存中分配的字節(jié)數(shù)不同,不同類型的數(shù)據(jù)可以按規(guī)定參加不同類型的運(yùn)算。1.C語(yǔ)言的數(shù)據(jù)類型數(shù)據(jù)類型有:整型、字符型、實(shí)型單精度型、雙精度型、構(gòu)造類型數(shù)組類型、結(jié)構(gòu)
5、體類型、共用體類型、枚舉類型、指針類型、空類型,其中整型、實(shí)型、字符型是C語(yǔ)言中的基本類型。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)換,如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ù)
6、據(jù)進(jìn)行類型變換,而機(jī)器又不能自動(dòng)完成時(shí),就要用強(qiáng)制類型變換,形式為:(數(shù)據(jù)類型符(被轉(zhuǎn)換對(duì)象。第三章選擇知識(shí)點(diǎn)C語(yǔ)言中實(shí)現(xiàn)選擇結(jié)構(gòu)的控制語(yǔ)句有兩種:條件分支語(yǔ)句if和開關(guān)分支語(yǔ)句switch。1.if語(yǔ)句的三種形式:(1 if(表達(dá)式語(yǔ)句;(2 if(表達(dá)式語(yǔ)句1;else語(yǔ)句2;(3 if(表達(dá)式1語(yǔ)句1;else if(表達(dá)式2語(yǔ)句2;else if(表達(dá)式3語(yǔ)句3;else if(表達(dá)式n語(yǔ)句n;2.開關(guān)分支語(yǔ)句switch(1形式switch(表達(dá)式 case e1:語(yǔ)句1;break;case e2:語(yǔ)句2;break;case e3:語(yǔ)句3;break;case en:語(yǔ)句n;br
7、eak;default :語(yǔ)句n+1;(2功能當(dāng)表達(dá)式的值等于e1時(shí),執(zhí)行語(yǔ)句1;當(dāng)表達(dá)式的值等于e2時(shí),執(zhí)行語(yǔ)句2;當(dāng)表達(dá)式的值等于en時(shí),執(zhí)行語(yǔ)句n;當(dāng)表達(dá)式的值與常量e1、e2en誰(shuí)都不等時(shí),就執(zhí)行default后的語(yǔ)句第四章循環(huán)知識(shí)點(diǎn)循環(huán)就是在程序執(zhí)行過(guò)程中,反復(fù)多次的執(zhí)行同一段程序。C語(yǔ)言中有三種循環(huán)語(yǔ)句。1.while循環(huán)語(yǔ)句形式為:while(表達(dá)式循環(huán)體;執(zhí)行過(guò)程是:先計(jì)算表達(dá)式的值,當(dāng)表達(dá)式的值非0時(shí)就執(zhí)行循環(huán)體,之后再判斷表達(dá)式的值,且重復(fù)以上過(guò)程;當(dāng)表達(dá)式的值為0時(shí)就結(jié)束循環(huán)。2.do- while循環(huán)語(yǔ)句形式為:do循環(huán)體 while(表達(dá)式;執(zhí)行過(guò)程是:先執(zhí)行循環(huán)體一
8、次,再判斷表達(dá)式的值,當(dāng)表達(dá)式的值非0時(shí)就再執(zhí)行循環(huán)體,之后再判斷表達(dá)式的值,且重復(fù)以上過(guò)程;當(dāng)表達(dá)式的值為0時(shí)就結(jié)束循環(huán)。3.for循環(huán)語(yǔ)句形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3 循環(huán)體4.三種循環(huán)語(yǔ)句的比較三種循環(huán)語(yǔ)句可以完成同一件事,可任選其一。使用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)嵌套三種
9、循環(huán)控制語(yǔ)句可以互相嵌套,即在一個(gè)循環(huán)體內(nèi)部又可以出現(xiàn)另一循環(huán),這種嵌套在理論上來(lái)說(shuō)可以是無(wú)限的。注意必須是一個(gè)循環(huán)完整的套住另一個(gè)循環(huán)。6.break語(yǔ)句break語(yǔ)句只能出現(xiàn)在三種循環(huán)語(yǔ)句和switch多分支語(yǔ)句中,其作用是用來(lái)中斷這四種語(yǔ)句的執(zhí)行。當(dāng)程序執(zhí)行到break語(yǔ)句時(shí),會(huì)跳出break語(yǔ)句所在的循環(huán)或switch分支,而直接執(zhí)行緊跟在它們后面的語(yǔ)句。7.continue語(yǔ)句continue語(yǔ)句只能出現(xiàn)在三種循環(huán)語(yǔ)句中,當(dāng)程序執(zhí)行到continue語(yǔ)句時(shí),其作用是提前結(jié)束本次循環(huán),自動(dòng)跳過(guò)循環(huán)體中后半部剩余的語(yǔ)句的執(zhí)行,而直接回到循環(huán)條件判斷。根據(jù)判斷的結(jié)果決定是否繼續(xù)執(zhí)行下次循環(huán)
10、。8. goto 語(yǔ)句goto語(yǔ)句是一種非結(jié)構(gòu)化語(yǔ)句,其作用是使程序的執(zhí)行無(wú)條件的轉(zhuǎn)移到某一處。使用格式為: goto 標(biāo)號(hào);利用goto語(yǔ)句與if條件語(yǔ)句配合,也可以實(shí)現(xiàn)條件循環(huán)。C語(yǔ)句允許在任何語(yǔ)句前添加標(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ù)組類型說(shuō)明符數(shù)組名數(shù)組長(zhǎng)度;(1數(shù)組命名要符合標(biāo)識(shí)符的命名規(guī)則。(2數(shù)組名后的括號(hào)必須是方括號(hào),不能是圓括號(hào)。(3數(shù)組長(zhǎng)度必須是正整數(shù),可以是個(gè)表達(dá)式,但不能有變量,C語(yǔ)言不支持動(dòng)態(tài)數(shù)組。(4數(shù)組長(zhǎng)度表示數(shù)組中元素
11、的個(gè)數(shù)(5數(shù)組元素的下標(biāo)從0開始數(shù),所以最大下標(biāo)是數(shù)組的長(zhǎng)度減1。2.多維數(shù)組(以二維為例類型說(shuō)明符數(shù)組名第一維長(zhǎng)度第二維長(zhǎng)度;(1數(shù)組命名要符合標(biāo)識(shí)符的命名規(guī)則。(2數(shù)組名后的括號(hào)必須是兩個(gè)方括號(hào),定義時(shí)不能寫成inta3,4;。(3數(shù)組長(zhǎng)度必須是整型常量表達(dá)式。(4第一維長(zhǎng)度表示數(shù)組行數(shù),第二維長(zhǎng)度表示數(shù)組列數(shù)。(5每個(gè)數(shù)組元素都有兩個(gè)下標(biāo),第一維表示該元素所在的行,第二維表示該元素所在的列,每一維的下標(biāo)都從0開始數(shù)。二維數(shù)組的初始化:C語(yǔ)言規(guī)定只有靜態(tài)數(shù)組和外部數(shù)組才允許在定義時(shí)賦初值,賦初值形式如下: static類型說(shuō)明符數(shù)組名第一維長(zhǎng)度第二維長(zhǎng)度=初值表;二維數(shù)組的引用:二維數(shù)組不
12、能整體引用,要引用數(shù)組的單個(gè)元素,形式為:數(shù)組名下標(biāo)下標(biāo)和普通變量的使用無(wú)任何區(qū)別。3.字符數(shù)組C語(yǔ)言中沒(méi)有字符串變量,字符串是靠字符數(shù)組實(shí)現(xiàn)的,所謂字符數(shù)組就是元素的數(shù)據(jù)類型為字符型的數(shù)組。(1字符數(shù)組的定義形式:char數(shù)組名數(shù)組長(zhǎng)度;因?yàn)镃語(yǔ)言中的整型數(shù)據(jù)和字符型數(shù)據(jù)是相通的,所以也可以這樣定義:int數(shù)組名數(shù)組長(zhǎng)度; (2字符數(shù)組的初始化:給字符數(shù)組的初始化有兩種方式,一種是用字符常量,另一種是用字符串。形式如下:staticchar數(shù)組名數(shù)組長(zhǎng)度=字符常量表;staticchar數(shù)組名數(shù)組長(zhǎng)度=字符串常量;4.數(shù)組與函數(shù)數(shù)組經(jīng)常作為函數(shù)的參數(shù),數(shù)組做函數(shù)的參數(shù)有兩種形式,一是數(shù)組元素
13、做函數(shù)的參數(shù),一是數(shù)組名做函數(shù)的參數(shù),當(dāng)用數(shù)組名做函數(shù)的實(shí)參時(shí)傳送的是首地址。5.常用的字符串處理函數(shù)C語(yǔ)言提供了一些處理字符串的標(biāo)準(zhǔn)函數(shù),用以完成一些常見(jiàn)的操作。對(duì)以下幾個(gè)函數(shù)要掌握其功能和調(diào)用形式。(1gets(字符數(shù)組名此函數(shù)功能是從鍵盤輸入一串字符,回車后送到字符數(shù)組中,注意定義數(shù)組時(shí)數(shù)組長(zhǎng)度要足夠大。(2puts(字符數(shù)組名此函數(shù)功能是將字符數(shù)組的內(nèi)容輸出到屏幕上。(3strcat(字符數(shù)組名1,字符數(shù)組名2此函數(shù)功能是將字符數(shù)組1中的0去掉后將字符數(shù)組2的內(nèi)容連接到字符數(shù)組1的末尾。(4strcpy(字符數(shù)組名1,字符數(shù)組名2函數(shù)功能是將字符數(shù)組2的內(nèi)容(包括0拷貝到字符數(shù)組1中,
14、字符數(shù)組2處也可以是字符串常量。strcpy函數(shù)可以實(shí)現(xiàn)拷子串。(5strcmp(字符數(shù)組名1,字符數(shù)組名2函數(shù)功能是兩個(gè)字符串(ASCII碼比大小。(6strlen(字符數(shù)組名此函數(shù)功能是求字符串的長(zhǎng)度,注意不包括0。(7strlwr(字符數(shù)組名此函數(shù)功能是將字符串中的所有大寫字母都變成小寫。(8strupr(字符數(shù)組名此函數(shù)功能是將字符串中的所有小寫字母都變成大寫。第六章函數(shù)知識(shí)點(diǎn)每個(gè)C源程序都是由函數(shù)組成的,一個(gè)主函數(shù)和若干個(gè)其它函數(shù),C語(yǔ)言程序設(shè)計(jì)的基礎(chǔ)工作就是函數(shù)的具體編寫,C語(yǔ)言中的函數(shù)就相當(dāng)于其它高級(jí)語(yǔ)言中的子程序。1.函數(shù)的概念函數(shù)就是一個(gè)數(shù)據(jù)加工廠,從函數(shù)外部接收數(shù)據(jù),在函數(shù)
15、內(nèi)部加工處理,然后得到一個(gè)結(jié)果返回給外部的調(diào)用者。所以函數(shù)就是對(duì)語(yǔ)言功能的擴(kuò)充,對(duì)函數(shù)的調(diào)用就是對(duì)功能的調(diào)用。2.標(biāo)準(zhǔn)函數(shù)各種高級(jí)語(yǔ)言都定義了一些標(biāo)準(zhǔn)函數(shù),C語(yǔ)言中的標(biāo)準(zhǔn)函數(shù)稱為庫(kù)函數(shù),是將一些基本的、常用的功能編成了函數(shù),供大家使用方便。使用庫(kù)函數(shù)時(shí)必須把它的頭文件用#include命令包含進(jìn)來(lái),每個(gè)庫(kù)函數(shù)的功能及對(duì)應(yīng)的頭文件都會(huì)在手冊(cè)中給出。3.自定義函數(shù)C 語(yǔ)言也允許用戶自己編寫函數(shù)以實(shí)現(xiàn)C庫(kù)函數(shù)中沒(méi)有提供的功能,稱作自定義函數(shù)。4.定義函數(shù)C語(yǔ)言規(guī)定每個(gè)函數(shù)都要獨(dú)立定義,函數(shù)定義不能嵌套。函數(shù)定義的形式:數(shù)據(jù)類型函數(shù)名(形參表形參說(shuō)明語(yǔ)句序列 說(shuō)明語(yǔ)句序列可執(zhí)行語(yǔ)句序列5.函數(shù)調(diào)用函數(shù)
16、調(diào)用的形式是:函數(shù)名(實(shí)參表。當(dāng)實(shí)參表中有多個(gè)參數(shù)時(shí),要用逗號(hào)隔開,若被調(diào)函數(shù)無(wú)參數(shù),調(diào)用時(shí)小括號(hào)也不能省。函數(shù)調(diào)用過(guò)程是:將實(shí)參的值傳給形參,在函數(shù)體內(nèi)進(jìn)行加工處理,然后由return語(yǔ)句將函數(shù)值返回調(diào)用處。5.全局變量和局部變量局部變量:在函數(shù)內(nèi)部定義的變量稱為局部變量,只在本函數(shù)中有效。全局變量:在函數(shù)外部定義的變量稱為全局變量,它的作用范圍是從定義開始到本文件結(jié)束。6.動(dòng)態(tài)存儲(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)場(chǎng)保護(hù)數(shù)據(jù)和返回地址。
17、靜態(tài)存儲(chǔ)區(qū)是指程序運(yùn)行期間給變量分配固定的存儲(chǔ)單元,放的是全局變量和局部靜態(tài)變量。一個(gè)變量除了它的數(shù)據(jù)類型以外還有存儲(chǔ)類型,定義一個(gè)變量時(shí)應(yīng)該說(shuō)明這兩種類型。第七章預(yù)處理知識(shí)點(diǎn)對(duì)高級(jí)語(yǔ)言編譯連接就是把源程序轉(zhuǎn)換成機(jī)器語(yǔ)言,C語(yǔ)言在進(jìn)行編譯之前還要預(yù)先處理三件事:宏定義命令、文件包含命令和條件編譯命令,統(tǒng)稱為預(yù)處理命令,其特點(diǎn)是:1.所有的預(yù)處理命令都放在程序的頭部,以#開頭,且#號(hào)后面不留空格。2.預(yù)處理命令不是C的語(yǔ)句,行尾不加分號(hào)。3.預(yù)處理命令是在編譯預(yù)處理階段完成的,所以它們沒(méi)有任何計(jì)算、操作等執(zhí)行功能。4.預(yù)處理命令有所變動(dòng)后,必須對(duì)程序重新進(jìn)行編譯和連接。1.宏定義宏定義命令的作用
18、是給一些常用的對(duì)象重新命名,在程序中可以用宏名來(lái)引用這些對(duì)象,預(yù)處理時(shí)宏名會(huì)被代表的內(nèi)容替換,此過(guò)程稱為宏展開或宏替換。宏定義有兩種形式:2.文件包含使用文件包含命令可以將另個(gè)C源程序的全部?jī)?nèi)容包含進(jìn)來(lái),其形式為:#include <文件名>或#include "文件名"通??梢园呀?jīng)常用到的,帶公用性的一些函數(shù)或符號(hào)等集合在起形成一個(gè)源文件,然后用此命令將這個(gè)源文件包含進(jìn)來(lái),這樣可以避免在每個(gè)新程序中都要重新鍵入這些內(nèi)容。 3條件編譯 顧名思義滿足條件時(shí)進(jìn)行編譯,為了解決程序移植問(wèn)題,C 語(yǔ)言提供了條件編譯命令,它能使源 程序在不同的編譯環(huán)境下生成不同的目標(biāo)代碼
19、文件。條件編譯命令有 3 種形式。 第八章 指針知識(shí)點(diǎn) 1.什么是指針和指針變量? 指針就是內(nèi)存地址,因?yàn)橥ㄟ^(guò)“地址”可以找到變量,所以內(nèi)存“地址"形象的稱為指針。 指針變量就是存地址的變量。在 C 語(yǔ)言中用一個(gè)變量存另一個(gè)變量的地址,那么就稱這個(gè)變量為 指針變量,指針變量的值就是地址。通常指針變量被簡(jiǎn)稱為指針。 指針變量是有類型的,即指針值增 1 表示指向下一個(gè)數(shù)據(jù),如整型數(shù)據(jù)在內(nèi)存中占兩個(gè)字節(jié),它 的指針變量增 1 是增兩個(gè)字節(jié)。如實(shí)型數(shù)據(jù)在內(nèi)存中占 4 個(gè)字節(jié),它的指針變量增 1 是增 4 個(gè)字節(jié)。 2.怎樣定義指針變量? 定義形式為:數(shù)據(jù)類型*指針變量名 1,*指針變量名 2
20、; 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(*p4; p=a; (3指向字符串的指針變量 定義形式為: char*p="字符序列"; C 語(yǔ)言中的字符串是以隱含形式的字符數(shù)組存放的, 定義了指針變量 p 并不是將整個(gè)字符串都存放在 p 中了,而 p 中存放的是字符串的首地址。 5指向函數(shù)的指針變量 一個(gè)函數(shù)在編譯時(shí)被分配一個(gè)入口地址
21、,這個(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ù)類型*數(shù)組名數(shù)組長(zhǎng)度; 數(shù)組中的每個(gè)元素都是指針類型的數(shù)據(jù),這種數(shù)組被稱為指針數(shù)組。 9.指向指針的指針 定義形式為:數(shù)據(jù)類型*指針變量名; 指向指針數(shù)據(jù)的指針變量稱
22、為指向指針的指針。 10.main 函數(shù)的形參 6 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 共用體類型名*指針變量名; 替換了的字符時(shí)(這里為正中間的字符"4",原來(lái)的字符己不復(fù)存在。 結(jié)構(gòu)體與共用體知識(shí)點(diǎn) 第九章 結(jié)構(gòu)體與共用體知
23、識(shí)點(diǎn) 結(jié)構(gòu)體類型是 C 語(yǔ)言的一種構(gòu)造數(shù)據(jù)類型,它是多個(gè)相關(guān)的不同類型數(shù)據(jù)的集合,相當(dāng)于其它高 級(jí)語(yǔ)言中的記錄。 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ì)外部或靜態(tài)存儲(chǔ)類型的結(jié)構(gòu)體變量可以進(jìn)行初始化,而對(duì) 局部的結(jié)構(gòu)體變量則不可以,新標(biāo)準(zhǔn) C 無(wú)此限制,允許在定義時(shí)對(duì)自動(dòng)變量
24、初始化。 (2結(jié)構(gòu)體成員的引用:由于 C 語(yǔ)言一般不允許對(duì)結(jié)構(gòu)體變量的整體引用,所以對(duì)結(jié)構(gòu)體的引用只能是 對(duì)分量的引用,結(jié)構(gòu)體變量中的任一分量可以表示為:結(jié)構(gòu)體變量名·成員名 4.結(jié)構(gòu)體與數(shù)組 C 語(yǔ)言中數(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)體成員的方法 7 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ù)、指向結(jié)構(gòu)體變量的指針也可以作函數(shù)的參數(shù)。雖然結(jié)構(gòu)體 變量名也可以作為函數(shù)的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州國(guó)企招聘2024貴州省水利水電工程咨詢有限責(zé)任公司招聘16人筆試參考題庫(kù)附帶答案詳解
- 軟件開發(fā)就業(yè)報(bào)告范文
- IC產(chǎn)業(yè)現(xiàn)況與趨勢(shì)
- 二零二五年度高端個(gè)人專利授權(quán)合同
- 二零二五年度汽車租賃合伙人入股協(xié)議
- 2025年度電力線路維修維保合同
- 農(nóng)村宅基地互換與農(nóng)業(yè)科技推廣協(xié)議書
- 二零二五年家庭房產(chǎn)析產(chǎn)分配與財(cái)產(chǎn)繼承合同
- 2025年度礦山股權(quán)轉(zhuǎn)讓及礦山礦產(chǎn)資源開發(fā)與環(huán)境保護(hù)合同
- 二零二五年度木質(zhì)防火門市場(chǎng)拓展與品牌建設(shè)合同
- 《單片機(jī)應(yīng)用實(shí)訓(xùn)教程》課件第4章
- 2024年山東省濟(jì)南市中考英語(yǔ)試題卷(含答案解析)
- 涼山州 2024 年教師綜合業(yè)務(wù)素質(zhì)測(cè)試試卷初中物理
- 工地團(tuán)隊(duì)勞務(wù)合同范例
- 系統(tǒng)思維與系統(tǒng)決策:系統(tǒng)動(dòng)力學(xué)(中央財(cái)經(jīng)大學(xué))知到智慧樹章節(jié)答案
- 貨車司機(jī) 合股 合同范例
- 輸電線路運(yùn)行項(xiàng)目現(xiàn)場(chǎng)作業(yè)安全風(fēng)險(xiǎn)識(shí)別防范措施
- 2023-2024學(xué)年廣東省廣州市天河區(qū)八年級(jí)(上)期末英語(yǔ)試卷
- 組織行為學(xué)測(cè)試試題庫(kù)與答案
- 2024年河南省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- DB 37T5061-2016 住宅小區(qū)供配電設(shè)施建設(shè)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論