




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《C語(yǔ)言程設(shè)計(jì)》教學(xué)基本知識(shí)點(diǎn)第一章c語(yǔ)言基本知識(shí)1.C源程序的框架盡管各個(gè)C源程序的功能千變?nèi)f化,但框架是不變的,主要有:編譯預(yù)處理、主函數(shù)()、函數(shù)n()等,主函數(shù)的位置不一定在最前面,可以在程序的中部或后面,主函數(shù)的名字固定為maino2.C語(yǔ)言源程序的書(shū)寫(xiě)規(guī)則:(1)C源程序是由一個(gè)主函數(shù)和若干個(gè)其它函數(shù)組成的。⑵函數(shù)名后必須有小括號(hào),函數(shù)體放在大括號(hào)內(nèi)。(3)C程序必須用小寫(xiě)字母書(shū)寫(xiě)。(4)每句的末尾加分號(hào)。⑸可以一行多句。(6)可以一句多行。⑺可以在程序的任何位置加注釋。3.語(yǔ)句種類(lèi)語(yǔ)句是程序的基本成分,程序的執(zhí)行就是通過(guò)一條條語(yǔ)句的執(zhí)行而得以實(shí)現(xiàn)的,根據(jù)表現(xiàn)形式及功能的不同,C語(yǔ)言的基本語(yǔ)句可以分為五大類(lèi)。⑴流程控制語(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)作,常常作為一個(gè)意義轉(zhuǎn)折點(diǎn)使用。⑸復(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)稱(chēng)為運(yùn)算符。運(yùn)算符實(shí)際上代表了一種類(lèi)型數(shù)據(jù)的運(yùn)算規(guī)則。不同的運(yùn)算符具有不同的運(yùn)算規(guī)則,其操作的數(shù)據(jù)類(lèi)型必須符合該運(yùn)算符的要求,運(yùn)算結(jié)果的數(shù)據(jù)類(lèi)型也是固定的。根據(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ù)類(lèi)型可分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符等。.表達(dá)式表達(dá)式是由常量、變量、函數(shù),通過(guò)運(yùn)算符連接起來(lái)而形成的一個(gè)算式。一個(gè)常量,一個(gè)變量或一個(gè)函數(shù)都可以看成是一個(gè)表達(dá)式。表達(dá)式的種類(lèi)有:算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式、字位表達(dá)式、強(qiáng)制類(lèi)型轉(zhuǎn)換表達(dá)式、逗號(hào)表達(dá)式(順序表達(dá)式)、條件表達(dá)式、指針表達(dá)式。.數(shù)據(jù)的輸入/輸出C語(yǔ)言本身沒(méi)有輸入/輸出語(yǔ)句,數(shù)據(jù)的輸入/輸出是通過(guò)調(diào)用庫(kù)函數(shù)來(lái)實(shí)現(xiàn)的。第二章數(shù)據(jù)類(lèi)型知識(shí)點(diǎn)劃分?jǐn)?shù)據(jù)類(lèi)型的意義是編譯系統(tǒng)對(duì)每個(gè)不同類(lèi)型的數(shù)據(jù)在內(nèi)存中分配的字節(jié)數(shù)不同,不同類(lèi)型的數(shù)據(jù)可以按規(guī)定參加不同類(lèi)型的運(yùn)算。[C語(yǔ)言的數(shù)據(jù)類(lèi)型數(shù)最類(lèi)型有:整型、字符型、實(shí)型單精度型、雙精度型、構(gòu)造類(lèi)型數(shù)組類(lèi)型、結(jié)構(gòu)體類(lèi)型、共用體類(lèi)型、枚舉類(lèi)型、指針類(lèi)型、空類(lèi)型,其中整型、實(shí)型、字符型是C語(yǔ)言中的基本類(lèi)型。.各種類(lèi)型數(shù)據(jù)的定義方法定義形式:數(shù)據(jù)類(lèi)型變量名1,變量名2,……變量名n;3常量與變量(1)常量一一在程序執(zhí)行期間其值不變的量。它不能被賦值。(2)變量一一在程序運(yùn)行期間其值可以改變的量。.各種類(lèi)型數(shù)據(jù)的混合運(yùn)算各類(lèi)數(shù)據(jù)運(yùn)算前會(huì)自動(dòng)轉(zhuǎn)換成同一類(lèi)型。規(guī)律如右圖示:從右向左的箭頭表示必定的轉(zhuǎn)換,如float型數(shù)據(jù)運(yùn)算前化成double型,以提高運(yùn)算精度,結(jié)果也為double型,short或char型數(shù)據(jù)運(yùn)算前化成int型,結(jié)果也為血型;從下向上的箭頭表示轉(zhuǎn)換方向是向級(jí)別高的靠攏。.強(qiáng)制類(lèi)型變換當(dāng)我們需要對(duì)數(shù)據(jù)進(jìn)行類(lèi)型變換,而機(jī)器又不能自動(dòng)完成時(shí),就要用強(qiáng)制類(lèi)型變換,形式為:(數(shù)據(jù)類(lèi)型符)(被轉(zhuǎn)換對(duì)象)。第三章選擇知識(shí)點(diǎn)C語(yǔ)言中實(shí)現(xiàn)選擇結(jié)構(gòu)的控制語(yǔ)句有兩種:條件分支語(yǔ)句if和開(kāi)關(guān)分支語(yǔ)句switchof語(yǔ)句的三種形式:if(表達(dá)式)語(yǔ)句;if(表達(dá)式)語(yǔ)句1;else語(yǔ)句2;if(表達(dá)式1)語(yǔ)句1;elseif(表達(dá)式2)語(yǔ)句2;elseif(表達(dá)式3)語(yǔ)句3;???elseif(表達(dá)式n)語(yǔ)句n;2.開(kāi)關(guān)分支語(yǔ)句switch⑴形式switch(表達(dá)式){caseel:語(yǔ)句1;break;casee2:語(yǔ)句2;break;casee3:語(yǔ)句3;break;caseen:語(yǔ)句n;break;default:語(yǔ)句n+1;)⑵功能當(dāng)表達(dá)式的值等于el時(shí),執(zhí)行語(yǔ)句1;當(dāng)表達(dá)式的值等于e2時(shí),執(zhí)行語(yǔ)句2;當(dāng)表達(dá)式的值等于en時(shí),執(zhí)行語(yǔ)句n;當(dāng)表達(dá)式的值與常量eke2……en誰(shuí)都不等時(shí),就執(zhí)行default后的語(yǔ)句第四章循環(huán)知識(shí)點(diǎn)循環(huán)就是在程序執(zhí)行過(guò)程中,反復(fù)多次的執(zhí)行同一段程序。C語(yǔ)言中有三種循環(huán)語(yǔ)句。.while循環(huán)語(yǔ)句形式為:while(表達(dá)式)(循環(huán)體};執(zhí)行過(guò)程是:先計(jì)算表達(dá)式的值,當(dāng)表達(dá)式的值非。時(shí)就執(zhí)行循環(huán)體,之后再判斷表達(dá)式的值,且重復(fù)以上過(guò)程;當(dāng)表達(dá)式的值為。時(shí)就結(jié)束循環(huán)。.do-while循環(huán)語(yǔ)句形式為:do(循環(huán)體}while(表達(dá)式);執(zhí)行過(guò)程是:先執(zhí)行循環(huán)體一次,再判斷表達(dá)式的值,當(dāng)表達(dá)式的值非0時(shí)就再執(zhí)行循環(huán)體,之后再判斷表達(dá)式的值,且重復(fù)以上過(guò)程;當(dāng)表達(dá)式的值為。時(shí)就結(jié)束循環(huán)。.for循環(huán)語(yǔ)句形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)(循環(huán)體}.三種循環(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á)式等。.循環(huán)嵌套三種循環(huán)控制語(yǔ)句可以互相嵌套,即在一個(gè)循環(huán)體內(nèi)部又可以出現(xiàn)另一循環(huán),這種嵌套在理論上來(lái)說(shuō)可以是無(wú)限的。注意必須是一個(gè)循環(huán)完整的套住另一個(gè)循環(huán)。.break語(yǔ)句break語(yǔ)句只能出現(xiàn)在三種循環(huán)語(yǔ)句和switch多分支語(yǔ)句中,其作用是用來(lái)中斷這四種語(yǔ)句的執(zhí)行。當(dāng)程序執(zhí)行至ijbreak語(yǔ)句時(shí),會(huì)跳出break語(yǔ)句所在的循環(huán)或switch分支,而直接執(zhí)行緊跟在它們后面的語(yǔ)句。.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)。.goto語(yǔ)句goto語(yǔ)句是一種非結(jié)構(gòu)化語(yǔ)句,其作用是使程序的執(zhí)行無(wú)條件的轉(zhuǎn)移到某一處。使用格式為:got。標(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ù)組就是同類(lèi)型的一批數(shù)據(jù)的集合,用一個(gè)變量名存放,區(qū)分各元素的辦法是用下標(biāo)。,一維數(shù)組類(lèi)型說(shuō)明符數(shù)組名、[數(shù)組長(zhǎng)度\];(1)數(shù)組命名要符合標(biāo)識(shí)符的命名規(guī)則。⑵數(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ù)組中元素的個(gè)數(shù)(5)數(shù)組元素的下標(biāo)從。開(kāi)始數(shù),所以最大下標(biāo)是數(shù)組的長(zhǎng)度減lo.多維數(shù)組(以二維為例)類(lèi)型說(shuō)明符數(shù)組名、[第一維長(zhǎng)度\]\]第二維長(zhǎng)度\];(1)數(shù)組命名要符合標(biāo)識(shí)符的命名規(guī)則。⑵數(shù)組名后的括號(hào)必須是兩個(gè)方括號(hào),定義時(shí)不能寫(xiě)成inta\[3,4\];。⑶數(shù)組長(zhǎng)度必須是整型常量表達(dá)式。(4)第一維長(zhǎng)度表示數(shù)組行數(shù),第二維長(zhǎng)度表示數(shù)組列數(shù)。(5)每個(gè)數(shù)組元素都有兩個(gè)下標(biāo),第一維表示該元素所在的行,第二維表示該元素所在的列,每一維的下標(biāo)都從。開(kāi)始數(shù)。二維數(shù)組的初始化:C語(yǔ)言規(guī)定只有靜態(tài)數(shù)組和外部數(shù)組才允許在定義時(shí)賦初值,賦初值形式如下:static類(lèi)型說(shuō)明符數(shù)組名、[第一維長(zhǎng)度\]\[第二維長(zhǎng)度\]={初值表};二維數(shù)組的引用:二維數(shù)組不能整體引用,要引用數(shù)組的單個(gè)元素,形式為:數(shù)組名\[下標(biāo)\]\[下標(biāo)\]和普通變量的使用無(wú)任何區(qū)別。.字符數(shù)組C語(yǔ)言中沒(méi)有字符串變量,字符串是靠字符數(shù)組實(shí)現(xiàn)的,所謂字符數(shù)組就是元素的數(shù)據(jù)類(lèi)型為字符型的數(shù)組。(1)字符數(shù)組的定義形式:char數(shù)組名、[數(shù)組長(zhǎng)度\];因?yàn)镃語(yǔ)言中的整型數(shù)據(jù)和字符型數(shù)據(jù)是相通的,所以也可以這樣定義:int數(shù)組名、[數(shù)組長(zhǎng)度\];⑵字符數(shù)組的初始化:給字符數(shù)組的初始化有兩種方式,一種是用字符常量,另一種是用字符串。形式如下:staticchar數(shù)組名、[數(shù)組長(zhǎng)度\]={字符常量表};staticchar數(shù)組名、[數(shù)組長(zhǎng)度\]={字符串常量};.數(shù)組與函數(shù)數(shù)組經(jīng)常作為函數(shù)的參數(shù),數(shù)組做函數(shù)的參數(shù)有兩種形式,一是數(shù)組元素做函數(shù)的參數(shù),一是數(shù)組名做函數(shù)的參數(shù),當(dāng)用數(shù)組名做函數(shù)的實(shí)參時(shí)傳送的是首地址。?常用的字符串處理函數(shù)C語(yǔ)言提供了一些處理字符串的標(biāo)準(zhǔn)函數(shù),用以完成一些常見(jiàn)的操作。對(duì)以下兒個(gè)函數(shù)要掌握其功能和調(diào)用形式。(l)gets(字符數(shù)組名)此函數(shù)功能是從鍵盤(pán)輸入一串字符,回車(chē)后送到字符數(shù)組中,注意定義數(shù)組時(shí)數(shù)組長(zhǎng)度要足夠大。⑵puts(字符數(shù)組名)此函數(shù)功能是將字符數(shù)組的內(nèi)容輸出到屏幕上。(3)strcat(字符數(shù)組名1,字符數(shù)組名2)此函數(shù)功能是將字符數(shù)組1中的'\\0'去掉后將字符數(shù)組2的內(nèi)容連接到字符數(shù)組1的末尾。(4)strcpy(字符數(shù)組名1,字符數(shù)組名2)函數(shù)功能是將字符數(shù)組2的內(nèi)容(包括'\\0')拷貝到字符數(shù)組1中,字符數(shù)組2處也可以是字符串常量。strcpy函數(shù)可以實(shí)現(xiàn)拷子串。⑸strcmp(字符數(shù)組名1,字符數(shù)組名2)函數(shù)功能是兩個(gè)字符串(ASCII碼)比大小。(6)strlen(字符數(shù)組名)此函數(shù)功能是求字符串的長(zhǎng)度,注意不包括'\\0'。(7)strlwr(字符數(shù)組名)此函數(shù)功能是將字符串中的所有大寫(xiě)字母都變成小寫(xiě)。(8)strupr(字符數(shù)組名)此函數(shù)功能是將字符串中的所有小寫(xiě)字母都變成大寫(xiě)。第六章函數(shù)知識(shí)點(diǎn)每個(gè)C源程序都是由函數(shù)組成的,一個(gè)主函數(shù)和若干個(gè)其它函數(shù),C語(yǔ)言程序設(shè)計(jì)的基礎(chǔ)工作就是函數(shù)的具體編寫(xiě),C語(yǔ)言中的函數(shù)就相當(dāng)于其它高級(jí)語(yǔ)言中的子程序。.函數(shù)的概念函數(shù)就是一個(gè)數(shù)據(jù)加工廠,從函數(shù)外部接收數(shù)據(jù),在函數(shù)內(nèi)部加工處理,然后得到一個(gè)結(jié)果返回給外部的調(diào)用者。所以函數(shù)就是對(duì)語(yǔ)言功能的擴(kuò)充,對(duì)函數(shù)的調(diào)用就是對(duì)功能的調(diào)用。.標(biāo)準(zhǔn)函數(shù)各種高級(jí)語(yǔ)言都定義了一些標(biāo)準(zhǔn)函數(shù),C語(yǔ)言中的標(biāo)準(zhǔn)函數(shù)稱(chēng)為庫(kù)函數(shù),是將一些基本的、常用的功能編成了函數(shù),供大家使用方便。使用庫(kù)函數(shù)時(shí)必須把它的頭文件用#include命令包含進(jìn)來(lái),每個(gè)庫(kù)函數(shù)的功能及對(duì)應(yīng)的頭文件都會(huì)在手冊(cè)中給出。3?自定義函數(shù)C語(yǔ)言也允許用戶(hù)自己編寫(xiě)函數(shù)以實(shí)現(xiàn)C庫(kù)函數(shù)中沒(méi)有提供的功能,稱(chēng)作自定義函數(shù)。.定義函數(shù)C語(yǔ)言規(guī)定每個(gè)函數(shù)都要獨(dú)立定義,函數(shù)定義不能嵌套。函數(shù)定義的形式:數(shù)據(jù)類(lèi)型函數(shù)名(形參表)形參說(shuō)明語(yǔ)句序列(說(shuō)明語(yǔ)句序列可執(zhí)行語(yǔ)句序列}.函數(shù)調(diào)用函數(shù)調(diào)用的形式是:函數(shù)名(實(shí)參表)。當(dāng)實(shí)參表中有多個(gè)參數(shù)時(shí),要用逗號(hào)隔開(kāi),若被調(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)部定義的變量稱(chēng)為局部變量,只在本函數(shù)中有效。全局變量:在函數(shù)外部定義的變量稱(chēng)為全局變量,它的作用范圍是從定義開(kāi)始到本文件結(jié)束。.動(dòng)態(tài)存儲(chǔ)與靜態(tài)存儲(chǔ)內(nèi)存中的用戶(hù)數(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ù)和返回地址。靜態(tài)存儲(chǔ)區(qū)是指程序運(yùn)行期間給變量分配固定的存儲(chǔ)單元,放的是全局變量和局部靜態(tài)變量。一個(gè)變量除了它的數(shù)據(jù)類(lèi)型以外還有存儲(chǔ)類(lèi)型,定義一個(gè)變量時(shí)應(yīng)該說(shuō)明這兩種類(lèi)型。第七章預(yù)處理知識(shí)點(diǎn)對(duì)高級(jí)語(yǔ)言編譯連接就是把源程序轉(zhuǎn)換成機(jī)器語(yǔ)言,C語(yǔ)言在進(jìn)行編譯之前還要預(yù)先處理三件事:宏定義命令、文件包含命令和條件編譯命令,統(tǒng)稱(chēng)為預(yù)處理命令,其特點(diǎn)是:1,所有的預(yù)處理命令都放在程序的頭部,以#開(kāi)頭,且#號(hào)后面不留空格。2.預(yù)處理命令不是C的語(yǔ)句,行尾不加分號(hào)。3,預(yù)處理命令是在編譯預(yù)處理階段完成的,所以它們沒(méi)有任何計(jì)算、操作等執(zhí)行功能。4,預(yù)處理命令有所變動(dòng)后,必須對(duì)程序重新進(jìn)行編譯和連接。.宏定義宏定義命令的作用是給一些常用的對(duì)象重新命名,在程序中可以用宏名來(lái)引用這些對(duì)象,預(yù)處理時(shí)宏名會(huì)被代表的內(nèi)容替換,此過(guò)程稱(chēng)為宏展開(kāi)或宏替換。宏定義有兩種形式:文件包含使用文件包含命令可以將另一個(gè)C源程序的全部?jī)?nèi)容包含進(jìn)來(lái),其形式為:#includeV文件名>或#111011€16"文件名"通??梢园呀?jīng)常用到的,帶公用性的一些函數(shù)或符號(hào)等集合在…起形成一個(gè)源文件,然后用此命令將這個(gè)源文件包含進(jìn)來(lái),這樣可以避免在每個(gè)新程序中都要重新鍵入這些內(nèi)容。.條件編譯‘標(biāo)名思義滿(mǎn)足條件時(shí)進(jìn)行編譯,為了解決程序移植問(wèn)題,C語(yǔ)言提供了條件編譯命令,它能使源程序在不同的編譯環(huán)境下生成不同的目標(biāo)代碼文件。條件編譯命令有3種形式。第八章指針知識(shí)點(diǎn).什么是指針和指針變量?指針就是內(nèi)存地址,因?yàn)橥ㄟ^(guò)“地址”可以找到變量,所以?xún)?nèi)存“地址”形象的稱(chēng)為指針。指針變量就是存地址的變量。在C語(yǔ)言中用一個(gè)變量存另一個(gè)變量的地址,那么就稱(chēng)這個(gè)變量為指針變量,指針變量的值就是地址。通常指針變量被簡(jiǎn)稱(chēng)為指針。指針變量是有類(lèi)型的,即指針值增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é)。.怎樣定義指針變量?定義形式為:數(shù)據(jù)類(lèi)型*指針變量名1,*指針變量名2……;.指針的有關(guān)運(yùn)算指針為內(nèi)存地址是整數(shù),可以進(jìn)行一些算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算、特殊運(yùn)算等,但要注意運(yùn)算代表的實(shí)際意義。.指向數(shù)組的指針變量⑴指向數(shù)組元素的指針變量定義形式為:inta\[10\];int*p=a;⑵指向一維數(shù)組的指針變量定義形式為:inta\[3\]\[4\];int(*p)\[4\];P=a;(3)指向字符串的指針變量定義形式為:char*p="字符序列”;C語(yǔ)言中的字符串是以隱含形式的字符數(shù)組存放的,定義了指針變量p并不是將整個(gè)字符串都存放在p中了,而p中存放的是字符串的首地址。.指向函數(shù)的指針變量一個(gè)函數(shù)在編譯時(shí)被分配一個(gè)入口地址,這個(gè)地址就是函數(shù)的指針,可以用一個(gè)指針變量指向它。指向函數(shù)的指針變量定義形式為:數(shù)據(jù)類(lèi)型("指針變量名);.指針變量做函數(shù)的參數(shù)⑴指針作函數(shù)的參數(shù)可以傳送地址,如數(shù)組的首地址,函數(shù)的入口地址等。(2)指針作函數(shù)的參數(shù)也可以用地址方式傳送數(shù)據(jù)。.返回值是指針的函數(shù)即函數(shù)的返回值是內(nèi)存的地址,利用這種方法可以將一個(gè)以上的數(shù)據(jù)返回給函數(shù)的調(diào)用者。定義形式如下:數(shù)據(jù)類(lèi)型*函數(shù)名(形參表).指針數(shù)組定義形式為:數(shù)據(jù)類(lèi)型*數(shù)組名、[數(shù)組長(zhǎng)度\];數(shù)組中的每個(gè)元素都是指針類(lèi)型的數(shù)據(jù),這種數(shù)組被稱(chēng)為指針數(shù)組。.指向指針的指針定義形式為:數(shù)據(jù)類(lèi)型**指針變量名;指向指針數(shù)據(jù)的指針變量稱(chēng)為指向指針的指針。.main函數(shù)的形參main函數(shù)可以帶兩個(gè)形參,如:main(argc,argv)intargc;char*argv\[\];)IL指向結(jié)構(gòu)體的指針變量結(jié)構(gòu)體變量的指針就是該變量所占據(jù)的內(nèi)存段的首地址。指向結(jié)構(gòu)體的指針變量定義形式為:struct結(jié)構(gòu)體類(lèi)型名*指針變量名;12.指向共用體的指針變量共用體變量的指針就是該變量所占據(jù)的內(nèi)存段的首地址。指向共用體的指針變量定義形式為:union共用體類(lèi)型名*指針變量名;替換了的字符時(shí)(這里為正中間的字符“4"),原來(lái)的字符己不復(fù)存在。第九章結(jié)構(gòu)體與共用體知識(shí)點(diǎn)結(jié)構(gòu)體類(lèi)型是C語(yǔ)言的一種構(gòu)造數(shù)據(jù)類(lèi)型,它是多個(gè)相關(guān)的不同類(lèi)型數(shù)據(jù)的集合,相當(dāng)于其它高級(jí)語(yǔ)言中的記錄。1.結(jié)構(gòu)體類(lèi)型定義結(jié)構(gòu)體類(lèi)型的形式為:struct結(jié)構(gòu)體類(lèi)型名{數(shù)據(jù)類(lèi)型成員名1;???數(shù)據(jù)類(lèi)型成員名n;)2,結(jié)構(gòu)體變量的定義結(jié)構(gòu)體變量有三種定義形式:⑴先定義結(jié)構(gòu)體類(lèi)型,后定義結(jié)構(gòu)體變量。(2)定義結(jié)構(gòu)體類(lèi)型的同時(shí)定義結(jié)構(gòu)體變量。⑶不定義結(jié)構(gòu)體類(lèi)型名,直接定義結(jié)構(gòu)體變量。3.結(jié)構(gòu)體變量的引用⑴結(jié)構(gòu)體變量的初始化:許多C版本規(guī)定對(duì)外部或靜態(tài)存儲(chǔ)類(lèi)型的結(jié)構(gòu)體變量可以進(jìn)行初始化,而對(duì)局部的結(jié)構(gòu)體變量則不可以,新標(biāo)準(zhǔn)C無(wú)此限制,允許在定義時(shí)對(duì)自動(dòng)變量初始化。(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ù)組有三種定義形式:⑴先定義結(jié)構(gòu)體類(lèi)型,后定義結(jié)構(gòu)體數(shù)組。(2)定義結(jié)構(gòu)體類(lèi)型的同時(shí)定義結(jié)構(gòu)體數(shù)組。⑶不定義結(jié)構(gòu)體類(lèi)型名,直接定義結(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)體類(lèi)型名*結(jié)構(gòu)體指針變量名。由結(jié)構(gòu)體指針引用結(jié)構(gòu)體成員的方法6,用指針處理鏈表結(jié)構(gòu)體的成員可以是指針類(lèi)型,并且這個(gè)指針類(lèi)型就是本結(jié)構(gòu)體類(lèi)型的,這樣可以構(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幺吉杉j體^與函婁攵結(jié)構(gòu)體變量的成員可以作函數(shù)的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)管理資金運(yùn)作分析試題及答案在2025年
- 2025年兒童青少年心理健康考試題及答案
- 海安融信面試題庫(kù)及答案
- 基礎(chǔ)醫(yī)學(xué)知識(shí)試題庫(kù)
- 知識(shí)經(jīng)濟(jì)與公共政策關(guān)系試題及答案
- 軟件設(shè)計(jì)師考試反饋與試題及答案總結(jié)
- 軟考網(wǎng)絡(luò)工程師試題及答案全媒體傳播2025年
- 機(jī)電工程2025年成功案例試題及答案
- 前端與后端結(jié)合的2025年軟件設(shè)計(jì)師試題及答案
- 網(wǎng)絡(luò)工程師復(fù)習(xí)計(jì)劃及試題及答案
- 房產(chǎn)抵押合同模板格式
- 第18課《中國(guó)人失掉自信力了嗎》課件-2024-2025學(xué)年統(tǒng)編版語(yǔ)文九年級(jí)上冊(cè)
- 人教版中考物理一輪大單元復(fù)習(xí)第二單元聲現(xiàn)象【中考演練】(原卷版+解析)
- 深圳小孩上學(xué)租房合同
- 接地電阻、絕緣電阻和漏電保護(hù)器漏電動(dòng)作參數(shù)測(cè)定記錄表
- 2024-2025學(xué)年高中物理1.1質(zhì)點(diǎn)參考系教學(xué)設(shè)計(jì)新人教版必修第一冊(cè)
- 高原濕地- 三江源地區(qū)說(shuō)課課件-2023-2024學(xué)年人教版地理八年級(jí)下冊(cè)
- SH/T 3046-2024 石油化工立式圓筒形鋼制焊接儲(chǔ)罐設(shè)計(jì)規(guī)范(正式版)
- (高清版)JTGT D31-06-2017 季節(jié)性?xún)鐾恋貐^(qū)公路設(shè)計(jì)與施工技術(shù)規(guī)范
- 機(jī)房搬遷服務(wù)搬遷實(shí)施方案
- DLT電力建設(shè)施工及驗(yàn)收技術(shù)規(guī)范鍋爐機(jī)組篇
評(píng)論
0/150
提交評(píng)論