c語(yǔ)言程序設(shè)計(jì)基本概念考點(diǎn)歸納.doc_第1頁(yè)
c語(yǔ)言程序設(shè)計(jì)基本概念考點(diǎn)歸納.doc_第2頁(yè)
c語(yǔ)言程序設(shè)計(jì)基本概念考點(diǎn)歸納.doc_第3頁(yè)
c語(yǔ)言程序設(shè)計(jì)基本概念考點(diǎn)歸納.doc_第4頁(yè)
c語(yǔ)言程序設(shè)計(jì)基本概念考點(diǎn)歸納.doc_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第 1 章 程序設(shè)計(jì)基本概念考點(diǎn)歸納1.1 C 語(yǔ)言的特點(diǎn)C語(yǔ)言是近年來(lái)非常流行的語(yǔ)言,很多人寧愿放棄已經(jīng)熟悉的其他語(yǔ)言而改用C語(yǔ)言,其原因是C語(yǔ)言有優(yōu)于其他語(yǔ)言的一系列特點(diǎn)。下面是C 語(yǔ)言的主要特點(diǎn):(1) 語(yǔ)言簡(jiǎn)潔、緊湊,并且使用方便、靈活;(2) 運(yùn)算符豐富;(3) 數(shù)據(jù)結(jié)構(gòu)豐富;(4) 具有結(jié)構(gòu)化的控制語(yǔ)句;(5) 語(yǔ)法限制不太嚴(yán)格,使程序設(shè)計(jì)比較自由;(6)C 語(yǔ)言允許用戶(hù)直接訪(fǎng)問(wèn)物理地址,能進(jìn)行位 (bit)操作,可以直接對(duì)硬件進(jìn)行操作。1.2源程序的書(shū)寫(xiě)規(guī)則C語(yǔ)言的書(shū)寫(xiě)規(guī)則。C 語(yǔ)言書(shū)寫(xiě)格式自由,一行內(nèi)可以寫(xiě)幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可以分寫(xiě)在多行上。 C 程序沒(méi)有行號(hào),每個(gè)語(yǔ)句和數(shù)據(jù)

2、定義的最后必須有一個(gè)分號(hào)。C語(yǔ)言中分號(hào)是語(yǔ)句中不可少的,即使是程序中的最后一個(gè)語(yǔ)句也應(yīng)該包含分號(hào)。C 語(yǔ)言中的注釋可以用 /* 用 */ 結(jié)束,注釋可以在任何允許插入空格符地方插入。C 語(yǔ)言中注釋不允許嵌套,注釋可以用西文,也可以用中文。1.3 C 語(yǔ)言的風(fēng)格由于 C語(yǔ)言對(duì)語(yǔ)法限制不太嚴(yán)格,為了保證程序的準(zhǔn)確性和可讀性,建議在書(shū)寫(xiě)程序采用階梯縮進(jìn)格式。也就是按如下格式書(shū)寫(xiě)C 語(yǔ)言程序:*;*()*;*;*;*;概括起來(lái), C 語(yǔ)言程序具有如下的風(fēng)格: C 語(yǔ)言程序的函數(shù)具體模塊結(jié)構(gòu)風(fēng)格,使得程序整體結(jié)構(gòu)清晰、層次清楚,為模塊化程序設(shè)計(jì)提供了強(qiáng)有力的支持。 C 語(yǔ)言的源程序的擴(kuò)展名都是 .C 。

3、 C 語(yǔ)言中的注釋格式為:/* 注釋內(nèi)容 */ 與 * 之間不允許有空格,注釋部分允許出現(xiàn)在程序中的任何位置。 C 語(yǔ)言中的所有語(yǔ)句都必須以分號(hào)“;”結(jié)束。第 2 章 C 程序設(shè)計(jì)的初步知識(shí)考點(diǎn)歸納2.1程序的構(gòu)成盡管 C程序的內(nèi)容千變?nèi)f化, 但是它們的構(gòu)成都是一致的, 一個(gè)完整的 C 源程序的格式可以如下表示:編譯預(yù)處理主函數(shù) ()函數(shù) ()從上面中可以看出, 一個(gè) C 源程序?qū)嶋H上就是若干函數(shù)的集合, 這些函數(shù)中有一個(gè)是程序的主函數(shù), 任何 C的源程序執(zhí)行時(shí), 都是從主函數(shù)開(kāi)始執(zhí)行的, 其它的函數(shù)最終必將被這個(gè)主函數(shù)所調(diào)用。 C語(yǔ)言除了主函數(shù)規(guī)定必須取名 main 外,其它的函數(shù)名可以任取

4、,但是要符合 C 的標(biāo)識(shí)符取名規(guī)則, 另外注意不要與保留字重名, 最好也不可與 C語(yǔ)言中的庫(kù)函數(shù)或其它一些命令如編譯預(yù)處另命令重名。 各個(gè)函數(shù)在程序中所處的位置并不是固定的, 但要求一個(gè)函數(shù)是完整的、 獨(dú)立的。 不允許出現(xiàn)在一個(gè)函數(shù)內(nèi)部又去定義另一個(gè)函數(shù), 或是函數(shù)格式不齊全的現(xiàn)象。一個(gè)完整的一般意義上的函數(shù)有一個(gè)固定的框架,編寫(xiě)具體的函數(shù)時(shí),只需在這個(gè)框架中填入相應(yīng)的內(nèi)容即可??蚣苋缦拢汉瘮?shù)類(lèi)型函數(shù)名(形參)形參說(shuō)明內(nèi)部變量說(shuō)明;執(zhí)行語(yǔ)句部分;2.2 C 語(yǔ)言的基本詞法C語(yǔ)言的基本詞法由三部分組成:符號(hào)集、關(guān)鍵字、保留字。符號(hào)集就是一門(mén)語(yǔ)言中允許出現(xiàn)的字符的集合,C 語(yǔ)言的符號(hào)集就是ASC碼

5、表中的一些字符,在鍵盤(pán)上不能直接得到( 比如說(shuō)響鈴字符) , C語(yǔ)言引入了轉(zhuǎn)義字符的概念,利用反斜杠符號(hào)后加上字母的一個(gè)字符組合來(lái)表示這些字符,當(dāng)在源程序中遇到這類(lèi)字符組合時(shí),雖然這個(gè)字符組合是一個(gè)字符串的形式,但 C 語(yǔ)言仍會(huì)自動(dòng)將之理解成某一特定的字符。比如,C 語(yǔ)言在處理這個(gè)字符組合時(shí),會(huì)自動(dòng)理解成回車(chē)換行符號(hào)。轉(zhuǎn)義字符經(jīng)過(guò)進(jìn)一步引申應(yīng)用,形成了另外兩種形式:ddd和xnn,這里后的ddd和xnn分別代表三位八進(jìn)制和兩位十六進(jìn)制數(shù)( 打頭的x只是標(biāo)明后面跟著的是十六進(jìn)制數(shù) ) ,這兩種形式不再局限于表示不可打印的字符,它們可以表示ASC碼表中的任意字符,只要把所需表示的字符的ASCII

6、碼轉(zhuǎn)換成八進(jìn)制數(shù)或十六進(jìn)制數(shù)即可。比如說(shuō)字母A, ASCII 碼為 65, 65 的八進(jìn)制和十六進(jìn)制分別為101 和 x41 ,所以,字母A 可表示為101或 x41 ,對(duì)轉(zhuǎn)義字符應(yīng)認(rèn)真理解。標(biāo)識(shí)符就是用以標(biāo)識(shí)的符號(hào)。正如現(xiàn)實(shí)生活中給每一個(gè)人都取一個(gè)名字一樣,C 語(yǔ)言中的每一個(gè)對(duì)象( 如函數(shù)、 變量等) 都必須取一個(gè)標(biāo)識(shí)符以和其它對(duì)象區(qū)別開(kāi)。在 C語(yǔ)言中,這個(gè)標(biāo)識(shí)符是一個(gè)字符串,這個(gè)字符串的選定有一定的規(guī)則:必須是以字母或下劃線(xiàn)開(kāi)頭的字母與數(shù)字的序列。 除了這個(gè)基本的規(guī)則外,C 語(yǔ)言對(duì)標(biāo)識(shí)符的命名還有幾個(gè)限制需加以注意:長(zhǎng)度最好不要超過(guò)八個(gè)字符。因 C中對(duì)標(biāo)識(shí)符只處理前8 個(gè)字符,超過(guò) 8 個(gè)

7、長(zhǎng)度的部分將被 C 自動(dòng)忽略掉。 ABCDEFGH1和 ABCDEFH2是同一個(gè)標(biāo)識(shí)符;標(biāo)識(shí)符不要與保留字同名, 最好也不要與 C 提供的標(biāo)準(zhǔn)標(biāo)識(shí)符, 如庫(kù)函數(shù)重名; 應(yīng)注意 C 語(yǔ)言對(duì)大小寫(xiě)字母是敏感的, Abcd 和 abcd 是兩個(gè)不同的標(biāo)識(shí)符。關(guān)鍵字實(shí)際上就是一些特殊的標(biāo)識(shí)符,又稱(chēng)保留字, 這些保留字不允許用戶(hù)對(duì)它重新定義。2.3頭文件、數(shù)據(jù)說(shuō)明、函數(shù)的開(kāi)始和結(jié)束標(biāo)志1. 頭文件:也稱(chēng)為包含文件或標(biāo)題文件, 一般放在一個(gè) C 語(yǔ)言程序的開(kāi)頭, 用 #include 文件名的格式,其中文件名是頭文件名,一般用.h 作為擴(kuò)展名。2. 數(shù)據(jù)說(shuō)明: C語(yǔ)言中的數(shù)據(jù)分常量和變量?jī)煞N。3. 常量:

8、有數(shù)值常量和符號(hào)常量?jī)煞N。4. 數(shù)值常量:可以分為整型常量、實(shí)型常量、浮點(diǎn)型常量和字符常量。5. 符號(hào)常量:用一個(gè)標(biāo)識(shí)符代表的一個(gè)常量,又稱(chēng)標(biāo)識(shí)符形式的常量。6. 變量:其值可以改變的量,變量名習(xí)慣上用小寫(xiě)字母表示。7. 標(biāo)識(shí)符:用來(lái)標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、數(shù)組名、類(lèi)型名、文件名的有效字符序列。8. 標(biāo)識(shí)符的命名規(guī)則: C 語(yǔ)言中標(biāo)識(shí)符只能由字母、數(shù)字下劃線(xiàn)三種字符組成,且第一個(gè)字符必須為字母或下劃線(xiàn)。 C 語(yǔ)言是大小寫(xiě)敏感語(yǔ)言, 即對(duì)大小寫(xiě)字母認(rèn)為是不同的字符。C語(yǔ)言中標(biāo)識(shí)符的長(zhǎng)度隨系統(tǒng)不同而字,如TURBO C中取前 8 個(gè)字符, 8 個(gè)字符后面的字符會(huì)自動(dòng)取消。第 3 章 順序結(jié)

9、構(gòu)考點(diǎn)歸納3.1表達(dá)式語(yǔ)句、函數(shù)調(diào)用語(yǔ)句和空語(yǔ)句1.C 語(yǔ)言的語(yǔ)句共分五大類(lèi):表達(dá)式語(yǔ)句、控制語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、空語(yǔ)句和復(fù)合語(yǔ)句。2. 表達(dá)式語(yǔ)句的一般形式為表達(dá)式;最典型的表達(dá)式語(yǔ)句是由一個(gè)賦值表達(dá)式加一個(gè)分號(hào)構(gòu)成的賦值語(yǔ)句。3. 控制語(yǔ)句是C語(yǔ)言程序設(shè)計(jì)中用來(lái)構(gòu)成分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的語(yǔ)句。此類(lèi)語(yǔ)句有if語(yǔ)句, for語(yǔ)句, while語(yǔ)句, do-while語(yǔ)句, switch語(yǔ)句等。4. 函數(shù)調(diào)用語(yǔ)句的一般形式為函數(shù)名 (實(shí)參表 );5. 空語(yǔ)句的一般形式為;這條語(yǔ)句的含義是什么也不做。 凡是在 C 語(yǔ)句程序中出現(xiàn)語(yǔ)句的地方都可以用一個(gè)分號(hào)來(lái)代替一條語(yǔ)句。6. 復(fù)合語(yǔ)句的一般形式為語(yǔ)句

10、 1;語(yǔ)句 2; ;復(fù)合語(yǔ)句在功能上相當(dāng)于一條語(yǔ)句。3.2數(shù)據(jù)的輸入與輸出,輸入輸出函數(shù)的調(diào)用1.C 語(yǔ)言本身沒(méi)有提供輸入、輸出操作語(yǔ)句。C 程序的輸入和輸出完全依靠調(diào)用C 語(yǔ)言的標(biāo)準(zhǔn)輸入、輸出函數(shù)來(lái)完成。四個(gè)常用的輸入、輸出函數(shù)是:printf函數(shù)、 scanf 函數(shù)、 putchar函數(shù)、 getchar函數(shù)2.printf函數(shù)是 C 語(yǔ)言提供的標(biāo)準(zhǔn)輸出函數(shù),它的作用是在終端設(shè)備( 或系統(tǒng)隱含指定的輸出設(shè)備 ) 上按指定格式進(jìn)行輸出。Printf函數(shù)的一般調(diào)用形式如下:printf(格式控制,輸出項(xiàng)表)如果在 printf函數(shù)調(diào)用之后加上;,就構(gòu)成了輸出語(yǔ)句。格式控制參數(shù)以字符串的形式描述

11、,由兩部分組成:普通字符:將被簡(jiǎn)單地顯示;格式字符:將引起一個(gè)輸出參數(shù)項(xiàng)的轉(zhuǎn)換和顯示,由“%”引出并以一個(gè)類(lèi)型描述符結(jié)束的字符串,中間可加一些可選的附加說(shuō)明項(xiàng),如下表所示。附加說(shuō)明項(xiàng)附加說(shuō)明項(xiàng)說(shuō) 明- 或 + 用于指定是否對(duì)齊輸出,具有“- ”符號(hào)表示左對(duì)齊,無(wú)“- ”或有“ +”表示右對(duì)齊0 用于指定是否填寫(xiě)0,有此項(xiàng)表示空位用0 補(bǔ)充,無(wú)此項(xiàng)表示以空格補(bǔ)充m.n 用于指定輸出域?qū)捈熬龋琺是指域?qū)挘?n 為精度,當(dāng)指定n 時(shí),隱含的精度為6位L 或 h 用于輸出長(zhǎng)度修正。其中,l 對(duì)于整型是指long ,對(duì)實(shí)型是double;h只用于整型的格式字符,并修正為short型格式字符用于指定輸出

12、項(xiàng)的數(shù)據(jù)類(lèi)型及輸入格式,如下表所示。注意:編譯程序只是在檢查了 printf 函數(shù)中的格式參數(shù)后,才能確定有幾個(gè)輸出項(xiàng),是什么類(lèi)型、以什么格式輸出。在編程序時(shí),應(yīng)使輸出格式與輸出項(xiàng)對(duì)應(yīng)。格式字符格式字符說(shuō) 明CcD 輸出一個(gè)字符d 或 I輸出帶符號(hào)的十進(jìn)制整型數(shù)OoO 以八進(jìn)制無(wú)符號(hào)形式輸出整型數(shù)( 不帶前導(dǎo) 0)x 或 X 以十六進(jìn)制無(wú)符號(hào)形式輸出整型數(shù)( 不帶前導(dǎo)0x 或 0X) ,對(duì)于 x,用 abcdef 輸出十六進(jìn)制數(shù)碼;對(duì)于X,用 ABCDEF輸出十六進(jìn)制數(shù)碼UuU 按無(wú)符號(hào)的八進(jìn)制形式輸出整型數(shù)FfF以小數(shù)的形式輸出單精度或雙精度數(shù),小數(shù)位由精度指定,隱含的精度為6;如指定精度為

13、0,則小數(shù)部分( 包含小數(shù)點(diǎn) ) 都不輸出e 或 E 以指數(shù)形式輸出單精度及雙精度數(shù),小數(shù)位數(shù)由精度指定,隱含的精度為6;如指定精度為0,則小數(shù)部分( 包含小數(shù)點(diǎn) ) 都不輸出g 或 G 由系統(tǒng)決定是采用%f 不是采用 %e格式,以便使輸出寬度最小SsS 輸出字符串中的字符,直到遇到0時(shí)為止,或輸出指定的字符數(shù)PpP 輸出變量的內(nèi)存地址% 打印一個(gè) %3.scanf函數(shù)是 C語(yǔ)言提供的標(biāo)準(zhǔn)輸入函數(shù),它的作用是在終端設(shè)備( 或系統(tǒng)隱含指定的輸入設(shè)備 ) 上輸入數(shù)據(jù)。Scanf 函數(shù)的一般調(diào)用形式是:scanf( 格式控制,輸入項(xiàng)表)如果在 scanf函數(shù)調(diào)用之后加上;,就構(gòu)成了輸入語(yǔ)句。格式控制

14、是用雙引號(hào)括起來(lái)的字符串,稱(chēng)為格式控制串。 格式控制串的作用是指定輸入時(shí)的數(shù)據(jù)轉(zhuǎn)換格式,即格式轉(zhuǎn)換說(shuō)明。格式轉(zhuǎn)換說(shuō)明是由 %符號(hào)開(kāi)始,其后是格式描述符。輸入項(xiàng)表中的各輸入項(xiàng)用逗號(hào)隔開(kāi),各輸入項(xiàng)只能是合法的地址表達(dá)式,即在變量之前加一個(gè)地址符號(hào)&。在 scanf 函數(shù)中每個(gè)格式說(shuō)明都必須用%開(kāi)頭,以一個(gè)格式字符結(jié)束。Scanf 函數(shù)中的格式控制字符與printf函數(shù)中的相似,由格式說(shuō)明項(xiàng)與輸入格式符組成。格式說(shuō)明項(xiàng)如下表所示。格式說(shuō)明項(xiàng)格式說(shuō)明項(xiàng)說(shuō) 明% 起始符* 賦值抑制符,用于按格式說(shuō)明讀入數(shù)據(jù),但不送給任何變量MmM域?qū)捳f(shuō)明l 或h長(zhǎng)度修正說(shuō)明符scanf中的格式字符如下表所示。格式說(shuō)明項(xiàng)

15、說(shuō) 明CcC 輸入一個(gè)字符DdD 輸入十進(jìn)制整型數(shù)IiI輸入整型數(shù),整數(shù)可以是帶前導(dǎo)0 的八進(jìn)制數(shù),帶前導(dǎo)0x( 或OoO 以八進(jìn)制形式輸入整型數(shù)( 可為帶前導(dǎo)0,也可不帶前導(dǎo)0)XxX 以十六進(jìn)制形式輸入整型數(shù)( 可帶前導(dǎo)0x 或 0X,也可不帶 )UuU 無(wú)符號(hào)十進(jìn)制整數(shù)0X) 的十六進(jìn)制數(shù)FfF以帶小數(shù)點(diǎn)形式或指數(shù)形式輸入實(shí)型數(shù)EeE 與 f 的作用相同SsS 輸入字符串4.putchar函數(shù)的作用是把一個(gè)字符輸出到標(biāo)準(zhǔn)輸出設(shè)備( 常指顯示器或打印機(jī)) 上。一般調(diào)用形式為putchar(ch);其中 ch 代表一個(gè)字符變量或一個(gè)整型變量,ch也可以代表一個(gè)字符常量( 包括轉(zhuǎn)義字符常量)

16、。5.getchar函數(shù)的作用是標(biāo)準(zhǔn)輸入設(shè)備( 通常指鍵盤(pán) ) 上讀入一個(gè)字符。一般調(diào)用形式為getchar();getchar函數(shù)本身沒(méi)有參數(shù),其函數(shù)值就是從輸入設(shè)備得到的字符。第 4 章 選擇結(jié)構(gòu)考點(diǎn)歸納4.1用 if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)1. 在 C語(yǔ)言中, if 語(yǔ)句有兩種形式:形式 1: if( 表達(dá)式 ) 語(yǔ)句形式 2: if( 表達(dá)式 ) 語(yǔ)句 1 else 語(yǔ)句 22.if語(yǔ)句執(zhí)行時(shí),首先計(jì)算緊跟在if后面一對(duì)圓括號(hào)中的表達(dá)式的值,如果表達(dá)式的值為非零 ( 真 ) ,則執(zhí)行 if 后的語(yǔ)句, 然后去執(zhí)行 if 語(yǔ)句后的下一個(gè)語(yǔ)句。 如果表達(dá)式的值為零 ( 假 ) ,直接執(zhí)行 if 語(yǔ)

17、句后的下一個(gè)語(yǔ)句。3.if語(yǔ)句后面的表達(dá)式并不限于是關(guān)系表達(dá)式或邏輯表達(dá)式,而可以是任意表達(dá)式。If語(yǔ)句中可以再嵌套if語(yǔ)句。 C 語(yǔ)言規(guī)定,在嵌套的if語(yǔ)句中, else 子句總是與前面最近的不帶else的if相結(jié)合。4.2用 switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)1.switch語(yǔ)句是用來(lái)處理多分支選擇的一種語(yǔ)句。它的一般形式如下:switch(表達(dá)式 ) case 常量表達(dá)式 1:語(yǔ)句 1 case 常量表達(dá)式 2:語(yǔ)句 2:case 常量表達(dá)式n:語(yǔ)句 ndefault:語(yǔ)句 n+12.switch 語(yǔ)句的執(zhí)行過(guò)程是: 首先計(jì)算緊跟 switch 后面的一對(duì)圓括號(hào)中的表達(dá)式的值,當(dāng)表達(dá)式的

18、值與某一個(gè) case 后面的常量表達(dá)式的值相等時(shí), 就執(zhí)行此 case 后面的語(yǔ)句體并將流程轉(zhuǎn)移到下一個(gè) case 繼續(xù)執(zhí)行,直至 switch 語(yǔ)句的結(jié)束;若所有的 case 中的常量表達(dá)式的值都沒(méi)有與表達(dá)式值匹配,又存在 default,則執(zhí)行 default后面的語(yǔ)句, 直至 switch語(yǔ)句結(jié)束;如果不存在default,則跳過(guò)switch語(yǔ)句體,什么也不做。4.3選擇結(jié)構(gòu)的嵌套if語(yǔ)句和 switch語(yǔ)句都可以嵌套使用,特別要注意,對(duì)于構(gòu)成嵌套的if語(yǔ)句, else子句總是和離它最近的、不帶else 的 if子句相匹配,不能弄混;在一個(gè)switch語(yǔ)句中的case 后面又嵌套了一個(gè)s

19、witch語(yǔ)句,在執(zhí)行內(nèi)嵌的switch語(yǔ)句后還要執(zhí)行一條break 語(yǔ)句才跳出外層的switch語(yǔ)句。第 5 章 循環(huán)結(jié)構(gòu)考點(diǎn)歸納5.1 for循環(huán)結(jié)構(gòu)1.for循環(huán)語(yǔ)句的一般表達(dá)式是:for(表達(dá)式 1;表達(dá)式2;表達(dá)式3) 語(yǔ)句2.C 語(yǔ)言語(yǔ)法規(guī)定:循環(huán)體語(yǔ)句只能包含一條語(yǔ)句,若需多條語(yǔ)句,應(yīng)使用復(fù)合語(yǔ)句。5.2 while和 do while循環(huán)結(jié)構(gòu)1.while語(yǔ)句用來(lái)實(shí)現(xiàn)當(dāng)型循環(huán)結(jié)構(gòu),它的一般形式如下:while( 表達(dá)式 ) 語(yǔ)句當(dāng)表達(dá)式為非0 值時(shí)執(zhí)行while語(yǔ)句中內(nèi)嵌的語(yǔ)句;當(dāng)表達(dá)式的值為0 時(shí),直接跳過(guò)while語(yǔ)句后面的語(yǔ)句,執(zhí)行下一條語(yǔ)句。2.while語(yǔ)句執(zhí)行的特點(diǎn)

20、是:先判斷表達(dá)式,后執(zhí)行語(yǔ)句。3.do while用來(lái)實(shí)現(xiàn)直到型循環(huán)結(jié)構(gòu),它的一般形式為:do 語(yǔ)句while( 表達(dá)式 ) ;這個(gè)語(yǔ)句執(zhí)行時(shí),先執(zhí)行一次指定的內(nèi)嵌的語(yǔ)句,然后判別表達(dá)式,當(dāng)表達(dá)式的值為非0 時(shí),返回重新執(zhí)行該語(yǔ)句,如此反復(fù),直到表達(dá)式的值為等于0 為止,此時(shí)循環(huán)結(jié)束。4.do while語(yǔ)句執(zhí)行的特點(diǎn)是:先執(zhí)行語(yǔ)句,后判斷表達(dá)式。5.3 continue語(yǔ)句和 break 語(yǔ)句1.break語(yǔ)句有兩個(gè)用途:在switch語(yǔ)句中用來(lái)使流程跳出switch結(jié)構(gòu),繼續(xù)執(zhí)行switch語(yǔ)句后面的語(yǔ)句;用在循環(huán)體內(nèi),迫使所在循環(huán)立即終止,即跳出所在循環(huán)體,繼續(xù)執(zhí)行循環(huán)體后面的第一條語(yǔ)句

21、。2.continue語(yǔ)句結(jié)束本次循環(huán), 即跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句。在 while和 do while語(yǔ)句中, continue語(yǔ)句將使控制直接轉(zhuǎn)向條件測(cè)試部分,從而決定是否繼續(xù)轉(zhuǎn)向循環(huán)。在for循環(huán)中,遇到continue語(yǔ)句后,首先計(jì)算for語(yǔ)句表達(dá)式3 的值,然后再執(zhí)行條件測(cè)試( 表達(dá)式 2) ,最后根據(jù)測(cè)試結(jié)果來(lái)決定是否繼續(xù)轉(zhuǎn)向for循環(huán)。5.4循環(huán)的嵌套1. 一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu), 稱(chēng)為循環(huán)的嵌套。 內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。2. 三種循環(huán) (while循環(huán)、 do while循環(huán)和 for循環(huán) ) 可以互相嵌套。第 6 章字符型數(shù)據(jù)考點(diǎn)歸納6

22、.1字符常量有兩種形式:一是用單引號(hào)括起來(lái)的一個(gè)單字符,如義字符,即以開(kāi)頭的字符序列。常用的轉(zhuǎn)義字符見(jiàn)下表。字符形式功 能 n 換行 t橫向跳格 ( 即跳到下一個(gè)輸出區(qū)) v 豎向跳格 b 退格 r回車(chē) f走紙換頁(yè)a,?,=;二是轉(zhuǎn) 反斜杠字符 單引號(hào) (撇號(hào))字符 雙引號(hào) ( ) 字符 ddd 1 到 3 位 8 進(jìn)制數(shù)所代表的字符,如123,表示 8 進(jìn)制數(shù) 123 xhh 1 到 2 位 16 進(jìn)制數(shù)所代表的字符,如x21 ,表示 16 進(jìn)制數(shù) 23在轉(zhuǎn)義字符賦給字符變量時(shí),也需要在其二側(cè)加單引號(hào),如:char c= n;字符串常量是用一對(duì)雙引號(hào)括起的字符序列,如abc n。請(qǐng)區(qū)別字符變

23、量和字符串常量。 a是字符常量,a是字符串常量。在內(nèi)存中, 字符常量占一個(gè)字節(jié),而對(duì)字符串常量,則在字符串的后面加一個(gè)字符串結(jié)束標(biāo)志,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。用 0 ( 即 ASCII 代碼為 0 的字符,即空字符 ) 作為字符串結(jié)束的標(biāo)志。例如, a內(nèi)存占兩個(gè)字節(jié),即: a 0 。6.2字符變量字符變量用來(lái)存放一個(gè)字符常量,字符變量用char 來(lái)定義。如:char a,b;a= 0 ;b= k;printf( %c %c n,a,b);將輸出兩個(gè)字符ok。不能將一個(gè)字符串常量賦給一個(gè)字符變量,如:a= 0 ;b= k;是錯(cuò)誤的。給字符變量賦值可以采用如下三種方法:(1) 直接賦以字符

24、常量,如char= A ;(2) 賦以轉(zhuǎn)義字符,如:char c= ;printf( %c ,c);輸出一個(gè)字符。(3) 賦以一個(gè)字符的 ASCII 代碼,如字符 a的 ASCII 代碼為 97,則char c=97;printf( %c ,c);將輸出一個(gè)字符a。實(shí)際上,字符數(shù)據(jù)在內(nèi)存中是以整數(shù)形式( 字符 ASCII 代碼 ) 存放的,例如,字符a的 ASCII 碼為 97,在內(nèi)存字節(jié)中的存放形式為:01 10 00 01在輸出時(shí),如果指定輸出字符的格式符%c輸出,則輸出字符a ( 在輸出時(shí)先將ASCII 碼轉(zhuǎn)換為字符 ) 。如果指定按輸出整數(shù)的格式%d輸出 ( 如 printf( %d,

25、c) ,則輸出一個(gè)整數(shù)97。應(yīng)記住,字符數(shù)據(jù)與整型數(shù)據(jù)二者間是通用的,可以互相賦值和運(yùn)算,如:int a= A ;char c=97;print( %d n ,c-a);將輸出一個(gè)整數(shù)32,因?yàn)?A的 ASCII 碼為 65。第 7 章 函數(shù)考點(diǎn)歸納7.1庫(kù)函數(shù)的正確調(diào)用1.C 語(yǔ)言提供了豐富的庫(kù)函數(shù),包括常用數(shù)學(xué)函數(shù)、對(duì)字符和字符串處理函數(shù)、輸入輸出處理函數(shù)等。在調(diào)用庫(kù)函數(shù)時(shí)要注意以下幾點(diǎn):(1) 調(diào)用 C 語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)必須在源程序中用include命令, include命令的格式是:#include 頭文件名include命令必須以 #號(hào)開(kāi)頭,系統(tǒng)提供的頭文件名都以.h 作為后綴,頭文

26、件名用一對(duì)雙引號(hào)或一對(duì)尖括號(hào)括起來(lái)。(2) 標(biāo)準(zhǔn)庫(kù)函數(shù)的調(diào)用形式:函數(shù)名 ( 參數(shù)表 )2. 在 C語(yǔ)言中庫(kù)函數(shù)的調(diào)用可以以?xún)煞N形式出現(xiàn):出現(xiàn)在表達(dá)式中;作為獨(dú)立的語(yǔ)句完成某種操作。7.2函數(shù)的定義方法1.C 語(yǔ)言函數(shù)的一般形式為:函數(shù)返回值的類(lèi)型名函數(shù)名 ( 類(lèi)型名形參 1,類(lèi)型名形參 2, )說(shuō)明部分語(yǔ)句部分定義的第一行是函數(shù)的首部, 中的是函數(shù)體。2. 在老的 C 語(yǔ)言版本中,函數(shù)的首部用以下形式:函數(shù)返回值的類(lèi)型名函數(shù)名 ( 形參 1,形參 2)形參類(lèi)型說(shuō)明;新的 ANSI 標(biāo)準(zhǔn) C 兼容這種形式的函數(shù)首部說(shuō)明。3. 函數(shù)名和形參名是由用戶(hù)命名的標(biāo)識(shí)符。 在同一程序中, 函數(shù)名必須唯一

27、。 形式參數(shù)名只要在同一函數(shù)中唯一即可,可以與函數(shù)中的變量同名。4.C 語(yǔ)言規(guī)定不能在一個(gè)函數(shù)內(nèi)部再定義函數(shù)。5. 若在函數(shù)的首部省略了函數(shù)返回值的類(lèi)型名,把函數(shù)的首部寫(xiě)成:函數(shù)名 ( 類(lèi)型名形參 1,類(lèi)型名形參 2, )則 C 默認(rèn)函數(shù)返回值的類(lèi)型為int類(lèi)型。6. 當(dāng)沒(méi)有形參時(shí),函數(shù)名后面的一對(duì)圓括號(hào)不能省略。7.3函數(shù)的類(lèi)型和返回值1. 函數(shù)的類(lèi)型由函數(shù)定義中的函數(shù)返回值的類(lèi)型名確定,函數(shù)的類(lèi)型可以是任何簡(jiǎn)單類(lèi)型,如整型、字符型、指針型、雙精度型等,它指出了函數(shù)返回值的具體類(lèi)型。當(dāng)函數(shù)返回的是整型值時(shí),可以省略函數(shù)類(lèi)型名。當(dāng)函數(shù)只完成特定的操作而沒(méi)有或不需要返回值時(shí),可用類(lèi)型名 void

28、( 空類(lèi)型 ) 。2. 函數(shù)返回值就是return語(yǔ)句中表達(dá)式的值。當(dāng)程序執(zhí)行到return語(yǔ)句時(shí), 程序的流程就返回到調(diào)用該函數(shù)的地方( 通常稱(chēng)為退出調(diào)用函數(shù)) ,并帶回函數(shù)值。7.4形式參數(shù)與實(shí)際參數(shù),參數(shù)值的傳遞1. 在函數(shù)定義中, 出現(xiàn)的參數(shù)名稱(chēng)為形參 ( 形式參數(shù) ) ,在調(diào)用函數(shù)時(shí), 使用的參數(shù)值稱(chēng)為實(shí)參 ( 實(shí)際參數(shù) ) 。2. 調(diào)用函數(shù)和被調(diào)用函數(shù)之間的參數(shù)值的傳遞是按值進(jìn)行的, 即數(shù)據(jù)只能從實(shí)參單向傳遞給形參。也就是說(shuō),當(dāng)簡(jiǎn)單變量作為實(shí)參時(shí),用戶(hù)不能在函數(shù)中改變對(duì)應(yīng)實(shí)參的值第 8 章 指針考點(diǎn)歸納8.1指針與指針變量的概念,指針與地址運(yùn)算符1. 在 C語(yǔ)言中, 指針是指一個(gè)變

29、量的地址, 通過(guò)變量的地址指向的位置找到變量的值,這種指向變量地址可形象地看作指針。用來(lái)存放指針的變量稱(chēng)為指針變量,它是一種特殊的變量,它存放的是地址值。2. 定義指針變量的一般形式為:類(lèi)型名 * 指針變量1, * 指針變量2, ;類(lèi)型名稱(chēng)為基類(lèi)型它規(guī)定了后面的指針變量中存放的數(shù)據(jù)類(lèi)型,* 號(hào)表明后面的指針變量1, 指針變量2等是指針變量, * 號(hào)在定義時(shí)不能省略,否則就會(huì)變成一般變量的定義了。指針變量1,指針變量2等稱(chēng)為指針變量名。3. 一個(gè)指針變量只能指向同一類(lèi)型的變量。4. 與指針和指針變量有關(guān)的兩個(gè)運(yùn)算符:(1)* :指針運(yùn)算符 ( 或稱(chēng)間接訪(fǎng)問(wèn)運(yùn)算符)(2)& :取地址運(yùn)算符通過(guò) *

30、號(hào)可以引用一個(gè)存儲(chǔ)單元,如有如下定義:int i=123,*p,k;則 p=&I; 或 k=*p; 或 k=*&I; 都將變量 i 中的值賦給 k。*p=10; 或 *&i=10; 都能把整數(shù)10 賦給變量i 。這里,等號(hào)左邊的表達(dá)式*p 和 *&i 都代表變量 i 的存儲(chǔ)單元。8.2變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針以及指向它們的指針變量1. 變量的指針和指向變量的指針變量。2. 數(shù)組的指針和指向數(shù)組的指針變量。所謂數(shù)組的指針是指數(shù)組的起始地址,數(shù)組元素的指針是數(shù)組元素的地址。C語(yǔ)言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。3. 字符串的指針和指向字符串的指針變量。我們可以通過(guò)

31、定義說(shuō)明一個(gè)指針指向一個(gè)字符串。C語(yǔ)言將字符串隱含處理成一維字符數(shù)組,但數(shù)組的每個(gè)元素沒(méi)有具體的名字,這一點(diǎn)跟字符數(shù)組不一樣。要引用字符串中的某個(gè)字符,只能通過(guò)指針來(lái)引用:*(s+0),*(s+1),*(s+n)。4. 函數(shù)的指針和指向函數(shù)的指針變量。指向函數(shù)的指針變量的一般形式為 :數(shù)據(jù)類(lèi)型標(biāo)識(shí)符 (* 指針變量名 )() ;這里的數(shù)據(jù)類(lèi)型標(biāo)識(shí)符是指函數(shù)返回值的類(lèi)型。函數(shù)的調(diào)用可以通過(guò)函數(shù)名調(diào)用,也可以通過(guò)函數(shù)指針調(diào)用調(diào)用)。( 即用指向函數(shù)的指針變量指向函數(shù)的指針變量表示定義了一個(gè)指向函數(shù)的指針變量,它不是固定指向哪一個(gè)函數(shù),而只是定義了這樣的一個(gè)類(lèi)型變量, 它專(zhuān)門(mén)用來(lái)存放函數(shù)的入口地址。

32、 在程序中把哪一個(gè)函數(shù)的地址賦給它, 它就指向哪一個(gè)函數(shù)。 在一個(gè)程序中, 一個(gè)指針變量可以先后指向不同的函數(shù)。在給函數(shù)指針變量賦值時(shí), 只需給出函數(shù)名而不必給出參數(shù)。 因?yàn)楹瘮?shù)指針賦的值僅是函數(shù)的入口地址,而不涉及到實(shí)參與形參的結(jié)合問(wèn)題。對(duì)指向函數(shù)的指針變量,表達(dá)式p+n,p+,p-等都無(wú)意義。5. 結(jié)構(gòu)體的指針與指向結(jié)構(gòu)體的指針變量一個(gè)結(jié)構(gòu)體變量的指針就是該變量所占據(jù)的內(nèi)存段的起始地址??梢栽O(shè)一個(gè)指針變量,用來(lái)指向一個(gè)結(jié)構(gòu)體變量,此時(shí)該指針變量的值是結(jié)構(gòu)體變量的起始地址。指針變量也可以用來(lái)指向結(jié)構(gòu)體數(shù)組中的元素。第 9 章 數(shù)組考點(diǎn)歸納9.1一維數(shù)組的定義、初始化和引用1. 一維數(shù)組的定義

33、方式為:類(lèi)型說(shuō)明符 數(shù)組名常量表達(dá)式(1) 數(shù)組名的命名方法與變量名相同,遵循標(biāo)識(shí)符命名規(guī)則;(2) 數(shù)組是用方括號(hào)括起來(lái)的常量表達(dá)式,不能用圓括號(hào);(3) 常量表達(dá)式表示數(shù)組元素的個(gè)數(shù),即數(shù)組的長(zhǎng)度,數(shù)組的下標(biāo)從0 開(kāi)始,下標(biāo)的最大值為:常量表達(dá)式-1 ;(4) 常量表達(dá)式中可以包括常量和符號(hào)常量,不能包括變量。可以用賦值語(yǔ)句或輸入語(yǔ)句使數(shù)組中的元素得到值, 但要占用運(yùn)行時(shí)間。 可以使數(shù)組在運(yùn)行之前初始化,即在編譯階段使之得到初值。2. 對(duì)數(shù)組初始化可以用以下方法實(shí)現(xiàn):(1) 在定義數(shù)組時(shí)對(duì)數(shù)組元素賦以初值。如:static int a10 =0,1,2,3,4,5,6,7,8,9 ;經(jīng)過(guò)上

34、面的定義和初始化后,a 0=0,a 1 =1,a 9 =9。(2) 初始化時(shí)可以只對(duì)一部分元素賦初值。例如:static int a10 =0,1,2,3,4 ;定義的數(shù)組有10 個(gè)元素,但只對(duì)其中前5 個(gè)元素賦了初值,后5 個(gè)元素初值為 0。(3) 如果想使一個(gè)數(shù)組的元素值全部為0,可以用下面的方法:static int a10 =0,0,0,0,0,0,0,0,0,0 ;不能用:static int a10 =0*10 ;如果對(duì) static型數(shù)組不賦初值,系統(tǒng)會(huì)對(duì)定義的所有數(shù)組元素自動(dòng)賦以0 值。(4) 在對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長(zhǎng)度。3. 一維數(shù)組的引用方法是:C語(yǔ)言規(guī)定

35、不能一次引用整個(gè)數(shù)組,引用時(shí)只能逐個(gè)元素引用,數(shù)組元素的表示形式為:數(shù)組名下標(biāo)下標(biāo)可以是整型常量或整型表達(dá)式。如:a 0=a 5 +a 7 -a 2*3 ;9.2二維數(shù)組的定義、初始化和引用1. 二維數(shù)組定義的一般形式為類(lèi)型說(shuō)明符數(shù)組名常量表達(dá)式常量表達(dá)式C語(yǔ)言采用上述定義方法,我們可以把二維數(shù)組看做是一種特殊的一維數(shù)組:它的元素又是一維數(shù)組。在 C 語(yǔ)言中,二維數(shù)組中元素的排列順序是:先按行存放,再按列存放,即在內(nèi)存中先順序存放第一行的元素,再存放第二行的元素。2. 二維數(shù)組的初始化:二維數(shù)組可以用下面的方法初始化:(1) 分行給二維數(shù)組賦初值。如:static int a3 4= 1,2,

36、3,4 , 5,6,7,8 , 9,10,11,12 ;以上賦值把第一個(gè)花括號(hào)內(nèi)的數(shù)據(jù)賦給第一行元素,第二個(gè)花括號(hào)內(nèi)數(shù)據(jù)賦給第二元素 ,即按行賦值。(2) 可以將所有的數(shù)據(jù)寫(xiě)在一個(gè)花括號(hào)內(nèi),按數(shù)組排列的順序?qū)Ω髟刭x值。(3) 可以對(duì)數(shù)組的部分元素賦初值。如:static int a3 4= 1, 5 , 9 ;以上賦值的結(jié)果是:數(shù)組第一列的元素分別賦了初值1,5, 9,其余元素的值都是0。(4) 如果對(duì)二維數(shù)組的全部元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省。3. 二維數(shù)組的引用:二維數(shù)組的元素可以表示為:數(shù)組下標(biāo)下標(biāo)在引用二維數(shù)組時(shí), 必須是單個(gè)元素,不能是整

37、個(gè)數(shù)組名。下標(biāo)可以是一個(gè)表達(dá)式,但不能是變量。如果下標(biāo)是一個(gè)表達(dá)式,注意表達(dá)式的值不能超出數(shù)組定義的上、下限。第 10 章 字符串考點(diǎn)歸納10.1字符串與字符數(shù)組1. 字符數(shù)組的定義定義方法與前面介紹的類(lèi)似,只是將數(shù)組定義為字符型即可。例如:char c 10;這里定義了一個(gè)包含10 個(gè)元素的字符數(shù)組c。2. 字符數(shù)組的初始化對(duì)字符數(shù)組初始化,可以采用以下方法:(1) 逐個(gè)字符賦給數(shù)組中各元素;(2) 用字符串常量使字符數(shù)組初始化。3. 字符串在 C 語(yǔ)言中,字符串是作為字符數(shù)組來(lái)處理的,字符串可以存放在字符型一維數(shù)組中,故可以把字符型一維數(shù)組作為字符串變量。字符串常量是用雙引號(hào)括起來(lái)的一串字

38、符。C語(yǔ)言中約定用 0作為字符串的結(jié)束標(biāo)志, 它占內(nèi)存空間, 但不計(jì)入串的長(zhǎng)度, 0的代碼值為 0。系統(tǒng)對(duì)字符串常量也自動(dòng)加一個(gè) 0作為結(jié)束符。 例如 c language 共有 10 個(gè)字符,但在內(nèi)存中占 11 個(gè)字節(jié),最后一個(gè)字節(jié)存放 0。4. 字符數(shù)組的輸入輸出(1) 逐個(gè)字符輸入和輸出在標(biāo)準(zhǔn)輸入輸出printf和 scanf 中使用 %c格式描述符;使用 getchar和 putchar函數(shù)。例如:for(i=0;i10;i+)scanf( %c ,&str i ); /*或 str i =getchar();*/str i = 0 ;/*人為加上串結(jié)束標(biāo)志*/for(i=0;i10;

39、i+)printf( %c ,str i );/*或 putchar(str i );*/(2) 字符串整體輸入輸出在標(biāo)準(zhǔn)輸入輸出函數(shù)printf和 scanf 中使用 %s格式描述符;輸入形式:char str 6 ;scanf( %s ,str);其中 str 為字符數(shù)組名,代表著 str 字符數(shù)組的起始地址,輸入時(shí)系統(tǒng)自動(dòng)在每個(gè)字符串后加入結(jié)束符 0。若同時(shí)輸入多個(gè)字符串,則以空格或回車(chē)符分隔。輸入形式:printf( %s ,str);輸字符串時(shí),遇第一個(gè)0即結(jié)束。但可人為控制輸出串所占的域?qū)捜纾簆rintf( %6s,str);/*若字符串中字符多于6 個(gè),仍將全部輸出*/print

40、f( %-6s ,str);/*只輸出前6 個(gè)字符,多余的不輸出*/使用 gets 和 puts 函數(shù)輸入輸出一行g(shù)ets 函數(shù)用來(lái)從終端鍵盤(pán)讀字符,直到遇換行符為止,換行符不屬字符串的內(nèi)容。調(diào)用形式:gets(str);str為字符數(shù)組名或字符指針,字符串輸入后,系統(tǒng)自動(dòng)將0置于串尾代替換行符。若輸入串長(zhǎng)超出數(shù)組定義長(zhǎng)度時(shí),系統(tǒng)報(bào)錯(cuò)。Puts 函數(shù)用來(lái)把字符串的內(nèi)容顯示在屏幕上。調(diào)用形式:puts(str);str的含義同上。輸出時(shí),遇到第一個(gè)0結(jié)束并自動(dòng)換行,字符串中可以含轉(zhuǎn)義字符。 第 11 章 對(duì)函數(shù)的進(jìn)一步討論考點(diǎn)歸納11.1傳給 main 函數(shù)的參數(shù)在此之前,我們?cè)诰帉?xiě)main 函

41、數(shù)時(shí),其后一對(duì)圓括號(hào)是空的,沒(méi)參數(shù)。其實(shí),在支持C的環(huán)境中,可以在運(yùn)行C 程序時(shí),通過(guò)運(yùn)行C 程序的命令行,把參數(shù)傳送給C程序。11.2通過(guò)實(shí)參向函數(shù)傳遞函數(shù)名或指向函數(shù)的指針變量1. 指向函數(shù)的指針變量的定義在 C 語(yǔ)言中函數(shù)名代表該函數(shù)的入口地址,因此可以定義一種指向函數(shù)地址的指針變量。2. 函數(shù)名或指向函數(shù)的指針變量作為參考函數(shù)名或指向函數(shù)的指針變量可以作為實(shí)參傳送給函數(shù)。這時(shí),對(duì)應(yīng)的形參是類(lèi)型相同的指針變量。11.3函數(shù)的遞歸調(diào)用C語(yǔ)言中的函數(shù)可以遞歸調(diào)用,即:可以直接或間接地自己調(diào)用自己。前者稱(chēng)簡(jiǎn)單遞歸,后者稱(chēng)間接遞歸。第 12 章 C 語(yǔ)言中用戶(hù)標(biāo)識(shí)符的作用域和存儲(chǔ)類(lèi)考點(diǎn)歸納12.

42、1局部變量和全局變量在函數(shù)內(nèi)部或復(fù)合語(yǔ)句內(nèi)部定義的變量稱(chēng)為局部變量。函數(shù)的形參屬于局部變量。在函數(shù)外部定義的變量稱(chēng)為全局變量。有時(shí), 局部變量也稱(chēng)為內(nèi)部變量,全局變量也稱(chēng)為外部變量。12.2變量的存儲(chǔ)屬性( 自動(dòng)、靜態(tài)、寄存器、外部) ,變量的作用域和生存期C語(yǔ)言中來(lái)說(shuō)明變量存儲(chǔ)屬性的關(guān)鍵字有四個(gè):auto( 自動(dòng) ) 、 static(靜態(tài) ) 、register(寄存器 ) 、extern(外部 ) 。1. 局部變量的存儲(chǔ)屬性局部變量可以是自動(dòng)類(lèi)別( 用 auto,register說(shuō)明 ) ,也可以是靜態(tài)類(lèi)別( 用 static說(shuō)明) 。形參只能是自動(dòng)存儲(chǔ)類(lèi)別,不允許是static類(lèi)別。當(dāng)

43、局部變量未指明類(lèi)別時(shí),被自動(dòng)說(shuō)明成自動(dòng)(auto) 變量。這類(lèi)局部變量稱(chēng)為自動(dòng)變量。其值存放在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū),因此在退出作用域后,變量被自動(dòng)釋放,其值不予保留。當(dāng)局部變量說(shuō)明成寄存器(register)類(lèi)型時(shí), 與自動(dòng) (auto) 變量一樣屬于自動(dòng)類(lèi)別,所不同的是此時(shí)變量的值保留在CPU中的寄存器中。當(dāng)變量說(shuō)明成 static( 靜態(tài) ) 類(lèi)型時(shí),稱(chēng)這樣的變量為靜態(tài)局部變量。在程序運(yùn)行期間,它占據(jù)一個(gè)永久的存儲(chǔ)單元,在函數(shù)退出后,變量的值仍舊保留。2. 全局變量的存儲(chǔ)屬性全局變量都屬于靜態(tài)存儲(chǔ)類(lèi)別,可以用extern和 static對(duì)它們進(jìn)行說(shuō)明。當(dāng)一個(gè)文件中要引用另一文件中的全局變量或在全局變量定義前要引用它時(shí),可用 extern 說(shuō)明。相當(dāng)于擴(kuò)大全局變量的作用域。用 static( 靜態(tài) ) 說(shuō)明的全局變量稱(chēng)為靜態(tài)全局變量,它僅能由本文件引用,即使在其文件中用 extern 說(shuō)明也不能使用,它相當(dāng)于限制了全局變量作用域的擴(kuò)展。12.3內(nèi)部函數(shù)和外部函數(shù)1. 在 C語(yǔ)言中,所有的函數(shù)在本質(zhì)上都是外部函數(shù)。2. 函數(shù)定義時(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論