程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí)知識(shí)點(diǎn)_第1頁(yè)
程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí)知識(shí)點(diǎn)_第2頁(yè)
程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí)知識(shí)點(diǎn)_第3頁(yè)
程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí)知識(shí)點(diǎn)_第4頁(yè)
程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí)知識(shí)點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí)知識(shí)點(diǎn)知識(shí)點(diǎn):1、 C語(yǔ)言程序的結(jié)構(gòu)a) 一個(gè)程序由一個(gè)或多個(gè)源程序文件組成。在一個(gè)源程序文件中可以包括3個(gè)部分:預(yù)處理指令、全局聲明、函數(shù)定義;b) C是函數(shù)式語(yǔ)言,C的基本單位是函數(shù),函數(shù)是C程序的主要組成部分。一個(gè)C語(yǔ)言程序是由一個(gè)或多個(gè)函數(shù)組成,其中必須包含且只能有一個(gè)main函數(shù);函數(shù)的首部c) 一個(gè)函數(shù)由兩部分組成:int max (int x, int y)函數(shù)體(由最外層的一對(duì)括起來(lái)的部分) 聲明部分; 執(zhí)行部分; d) C程序總是從main函數(shù)開始執(zhí)行的,在main中結(jié)束,與main函數(shù)的位置無(wú)關(guān)。e) 每個(gè)語(yǔ)句和數(shù)據(jù)聲明的最后必須有一個(gè)分號(hào)。f) C語(yǔ)言中

2、用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 2、標(biāo)識(shí)符、變量和常量a) 在C語(yǔ)言中,標(biāo)識(shí)符只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線b) 在程序運(yùn)行過程中,其值不能被改變的量稱為常量,常量類型分為:i. 直接常量:整型常量(如100,125)、實(shí)型常量(如3.14,1.24e3)、字符常量(如a、3、n)、字符串常量(如”boy”、”123”)ii. 符號(hào)常量:用#define指令,指定一個(gè)標(biāo)識(shí)符代表一個(gè)常量c) 變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,在程序運(yùn)行期間,變量的值是可以改變的。注意:變量必須先定義,后使用,C語(yǔ)言的關(guān)鍵字不能用作變量名。3、

3、C的基本數(shù)據(jù)類型:整型((unsigned)int, (unsigned)short, (unsigned)long,)、浮點(diǎn)型(float,double)、字符型(char)a) 常量的表示方法b) 變量的定義方法以及如何進(jìn)行正確賦值c) 數(shù)據(jù)類型的取值范圍4、常用的C運(yùn)算符及優(yōu)先級(jí)順序a) 賦值運(yùn)算符:=b) 算術(shù)運(yùn)算符:+、-、*、/、%,其中特別要注意/和%的用法i. /的右邊不能為0,且當(dāng)/的兩端都是整數(shù)時(shí)做整除運(yùn)算,否則執(zhí)行實(shí)數(shù)除法ii. %為模運(yùn)算符,要求%的兩端都必須是整數(shù)c) 關(guān)系運(yùn)算符:<、<=、>、>=、=、!=d) 邏輯運(yùn)算符:!、&&a

4、mp;、|,!的優(yōu)先級(jí)比&&和|高e) 自增、自減運(yùn)算符:+、i. +i是先將i的值加1后,再使用i的值ii. i+是先使用i的值,再將i的值加1f) 強(qiáng)制類型轉(zhuǎn)換符:( 類型說(shuō)明符 ) (表達(dá)式),如g) sizeof運(yùn)算符:獲得變量或數(shù)據(jù)類型所占內(nèi)存的大小(以字節(jié)為單位),如sizeof(int)、sizeof(a)h) 復(fù)合運(yùn)算符,如sum+=i等價(jià)于sum=sum+ii) 逗號(hào)運(yùn)算符,例如:a+3, b=4, b+。逗號(hào)表達(dá)式的求值順序是從左向右依此計(jì)算用逗號(hào)分隔的各表達(dá)式的值,而最后一個(gè)表達(dá)式的值就是整個(gè)逗號(hào)表達(dá)式的值。j) 上述運(yùn)算符的優(yōu)先級(jí)順序:強(qiáng)制類型轉(zhuǎn)換符、s

5、izeof運(yùn)算符>自增、自減運(yùn)算符>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符(>,<,>=,<=高于!=,=)>邏輯運(yùn)算符(!高于&&,|)>復(fù)合運(yùn)算符、賦值運(yùn)算符>逗號(hào)運(yùn)算符5、數(shù)據(jù)的輸入輸出a) 頭文件stdio.h,程序中的使用方法:#include <stdio.h>b) 格式化輸出函數(shù):printf(“常規(guī)字符/格式控制符”,表達(dá)式1,.,表達(dá)式n)i. 表達(dá)式的個(gè)數(shù)應(yīng)與格式控制符的個(gè)數(shù)一致,若格式控制符的個(gè)數(shù)更多時(shí),多出的格式控制符輸出的內(nèi)容是不確定的,若表達(dá)式的個(gè)數(shù)更多時(shí),多出的表達(dá)式將不輸出ii. 常用的格式

6、控制符:int型(%d、%u、%o、%x)、short型(如%hd)、long型(如%ld)、char型(%c)、字符串(%s)、float型/double型(%f、%e,其中%m.nf,表示輸出數(shù)據(jù)的寬度為m個(gè)字符寬度,并保留小數(shù)點(diǎn)后n位)iii. 根據(jù)表達(dá)式的類型選擇正確的格式控制符,否則將導(dǎo)致后面的數(shù)據(jù)輸出出錯(cuò)c) 格式化輸入函數(shù):scanf(“格式控制字符串”,變量1的地址,.,變量n的地址)i. 如何正確輸入數(shù)據(jù)?看格式控制字符串。若相鄰兩個(gè)格式控制符之間沒有指定數(shù)據(jù)分隔符,則默認(rèn)兩個(gè)輸入數(shù)據(jù)用一個(gè)空格或回車分隔,若格式控制字符串中出現(xiàn)常規(guī)字符,務(wù)必原樣輸入。ii. 格式控制符的個(gè)數(shù)

7、必須與后面的變量地址個(gè)數(shù)一致iii. 常用的格式控制符:int型(%d、%ld、%hd、%u)、short型(如%hd)、long型(如%ld)、字符型(%c)、字符串(%s)、float型(%f)、double型(%lf)iv. 根據(jù)變量類型選擇正確的格式控制符,否則將導(dǎo)致輸入的變量值出錯(cuò)或內(nèi)存溢出的錯(cuò)誤d) 字符型數(shù)據(jù)的非格式化輸入getchar( )、輸出putchar( )i. getchar( )函數(shù)的功能是從終端輸入一個(gè)字符,如while(getchar()!=n);上述語(yǔ)句常用在兩次scanf( )間清空輸入的緩沖ii. putchar( )函數(shù)的功能是向終端輸出一個(gè)字符,如pu

8、tchar(n)語(yǔ)句的功能是輸出一個(gè)換行符6、用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)a) 基本格式:if (expr)語(yǔ)句1;else語(yǔ)句2;b) if語(yǔ)句后面的expr必須用括號(hào)括起來(lái);c) expr非零時(shí)表示條件為真,表達(dá)式為零時(shí)表示條件為假;d) 語(yǔ)句1、語(yǔ)句2為多個(gè)語(yǔ)句時(shí),必須把這一組語(yǔ)句用 括起來(lái),且在之后不能再加分號(hào);若為單條語(yǔ)句時(shí), 可省略e) 在if的嵌套語(yǔ)句中,else總是與之前最近且尚未配對(duì)的if配對(duì)7、條件運(yùn)算符和條件表達(dá)式a) 基本格式:expr1?expr2:expr3b) 含義:若expr1為真,那么執(zhí)行expr2,否則執(zhí)行expr3舉例:請(qǐng)寫出“若ch是大寫字母則將其轉(zhuǎn)換成對(duì)應(yīng)的

9、小寫字母”的條件表達(dá)式ch=(ch>=A&& ch<=Z)?(ch+32):ch;8、用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)a) 基本格式:switch ( 表達(dá)式) case E1:語(yǔ)句組 1;break; case E2:語(yǔ)句組 2;break; . case En:語(yǔ)句組 n;break; default:語(yǔ)句組 ;break; b) switch后面的“表達(dá)式”,只可以是int、char和枚舉型中的一種。c) 每個(gè)case后面“常量表達(dá)式”的值,必須各不相同d) 每個(gè)case后面的表達(dá)式中不能包含變量e) 每個(gè)case部分內(nèi)容結(jié)束后必須加上break語(yǔ)句,以便

10、結(jié)束switch語(yǔ)句f) 多個(gè)case子句,可共用同一語(yǔ)句(組)舉例:用switch語(yǔ)句編寫下列程序:給出一百分制成績(jī),要求輸出成績(jī)等級(jí)A、B、C、D、E,90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E。9、用while語(yǔ)句實(shí)現(xiàn)循環(huán)a) 基本格式:while (表達(dá)式) 循環(huán)體語(yǔ)句;b) 含義:當(dāng)表達(dá)式為真時(shí),執(zhí)行循環(huán)體;循環(huán)的終止條件是當(dāng)表達(dá)式為假時(shí)c) while后面的括號(hào)( )不能省d) 循環(huán)體若由多條語(yǔ)句組成,應(yīng)用括起來(lái),且后面不要加;號(hào)10、用do.while語(yǔ)句實(shí)現(xiàn)循環(huán)a) 基本格式:do 循環(huán)體語(yǔ)句;while(表達(dá)式);b) 含義:先執(zhí)行循環(huán)體,

11、然后再判斷表達(dá)式,若表達(dá)式是否為真,則再執(zhí)行循環(huán)體;循環(huán)的終止條件是當(dāng)表達(dá)式為假時(shí)c) 與while語(yǔ)句不同,如果do-while后的表達(dá)式的值一開始就為假,循環(huán)體還是要執(zhí)行一次。11、用for語(yǔ)句實(shí)現(xiàn)循環(huán)a) 基本格式:for (表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體語(yǔ)句;b) for后面的括號(hào)( )不能省。c) 表達(dá)式1:給循環(huán)變量設(shè)置初值,只執(zhí)行一次。d) 表達(dá)式2:是循環(huán)條件表達(dá)式,用來(lái)判定是否繼續(xù)循環(huán)。e) 表達(dá)式3:增加或減少循環(huán)變量的值,是在執(zhí)行完循環(huán)體后才進(jìn)行的。f) 表達(dá)式之間用分號(hào)分隔。語(yǔ)句部分稱為循環(huán)體,當(dāng)需要執(zhí)行多條語(yǔ)句時(shí),應(yīng)用括起來(lái),且后不加;號(hào)。12、break語(yǔ)句

12、:用于提前終止循環(huán)a) 功能:在循環(huán)語(yǔ)句和switch語(yǔ)句中,終止并跳出循環(huán)體或開關(guān)體b) break不能用于循環(huán)語(yǔ)句和switch語(yǔ)句之外的任何其它語(yǔ)句之中。 c) break只能終止并跳出最近一層的結(jié)構(gòu)。13、continue語(yǔ)句:用于提前結(jié)束本次循環(huán)a) 功能:結(jié)束本次循環(huán),跳過循環(huán)體中尚未執(zhí)行的語(yǔ)句,進(jìn)行下一次是否執(zhí)行循環(huán)體的判斷。b) 僅用于循環(huán)語(yǔ)句中c) 在嵌套循環(huán)的情況下,continue語(yǔ)句只對(duì)包含它的最內(nèi)層的循環(huán)體語(yǔ)句起作用。14、一維數(shù)組的定義:數(shù)據(jù)類型符 數(shù)組變量名整型常量表達(dá)式;a) 數(shù)組定義時(shí),必須指定數(shù)組的大小,數(shù)組大小必須是整型常量表達(dá)式,不能是變量或變量表達(dá)式b

13、) 數(shù)組定義后,系統(tǒng)將給其分配一定大小的內(nèi)存單元,其所占內(nèi)存單元的大小與數(shù)組元素的類型和數(shù)組的長(zhǎng)度有關(guān)。15、一維數(shù)組的引用:數(shù)組變量名下標(biāo)a) 下標(biāo)可以是整型常量、整型變量或整型表達(dá)式。C語(yǔ)言規(guī)定,只能逐個(gè)引用數(shù)組元素,不能一次引用整個(gè)數(shù)組b) 數(shù)組引用要注意越界問題。數(shù)組下標(biāo)的最小值是0,最大值則是數(shù)組大小減1 。16、一維數(shù)組的賦值a) 初始化賦值:數(shù)據(jù)類型符 數(shù)組變量名常量表達(dá)式 = 表達(dá)式1,表達(dá)式2,表達(dá)式n;i. “=”后面的表達(dá)式列表一定要用 括起來(lái),被括起來(lái)的表達(dá)式列表被稱為初值列表,表達(dá)式之間用“,”分隔;ii. 表達(dá)式的個(gè)數(shù)不能超過數(shù)組變量的大?。籭ii. 如果表達(dá)式的個(gè)

14、數(shù)小于數(shù)組的大小,則未指定值的數(shù)組元素被賦值為0;b) 在程序中賦值:除了在定義數(shù)組變量時(shí)用初值列表對(duì)數(shù)組整體賦值以外,無(wú)法再對(duì)數(shù)組變量進(jìn)行整體賦值,只能通過C語(yǔ)句對(duì)數(shù)組中的數(shù)組元素逐一賦值。17、字符串與字符數(shù)組a) 字符串是一種以“0”結(jié)尾的字符數(shù)組b) 字符數(shù)組賦值:在用字符數(shù)組來(lái)存放某個(gè)字符串常量時(shí),如果要指定字符數(shù)組的大小,那么其大小至少要比字符串的長(zhǎng)度大1(多定義一個(gè)單元用于存放'0')。c) 字符串的輸入函數(shù):i. gets函數(shù):從鍵盤輸入一以回車結(jié)束的字符串放入字符數(shù)組中,并自動(dòng)加'0'ii. scanf函數(shù):從鍵盤輸入一以空格或回車結(jié)束的字符串

15、放入字符數(shù)組中,并自動(dòng)加'0'd) 字符串的輸出函數(shù):i. puts函數(shù):向顯示器輸出字符串(輸出完,換行)ii. printf函數(shù):依次輸出字符串中的每個(gè)字符直到遇到字符'0'e) 字符串的長(zhǎng)度函數(shù):f) strlen函數(shù):返回字符串實(shí)際長(zhǎng)度,不包括'0'在內(nèi),應(yīng)包含的.h文件為string.hg) strcpy函數(shù):應(yīng)包含的.h文件為string.hi. 基本格式:strcpy (字符數(shù)組1,字符串2)ii. 功能:將字符串2拷貝到字符數(shù)組1中去iii. 注意:不能使用賦值語(yǔ)句為一個(gè)字符數(shù)組賦值h) strcmp函數(shù):應(yīng)包含的.h文件為str

16、ing.hi. 基本格式:strcmp (字符串1, 字符串2) ii. 功能:對(duì)兩串從左向右逐個(gè)字符比較(ASCII碼),直到遇到不同字符或'0'為止 a. 若字符串1< 字符串2, 返回負(fù)整數(shù) b. 若字符串1> 字符串2, 返回正整數(shù) c. 若字符串1= 字符串2, 返回零iii. 注意:字符串比較不能用“=”,必須用strcmpi) strcat函數(shù):應(yīng)包含的.h文件為string.hi. 格式:strcat (字符數(shù)組1, 字符數(shù)組2) ii. 功能:把字符數(shù)組2連到字符數(shù)組1后面18、函數(shù)的概念:a) 函數(shù)其實(shí)就是一段可以重復(fù)調(diào)用的、功能相對(duì)獨(dú)立完整的程

17、序段b) C是函數(shù)式語(yǔ)言。c) C程序必須有且只有一個(gè)主函數(shù)main,C程序的執(zhí)行總是從main函數(shù)開始,在main中結(jié)束。如果在main函數(shù)中調(diào)用其他函數(shù),在調(diào)用后流程返回到main函數(shù),在main函數(shù)中結(jié)束整個(gè)程序的運(yùn)行d) 函數(shù)不能嵌套定義,但可以嵌套調(diào)用,但不能調(diào)用main函數(shù),main函數(shù)是由操作系統(tǒng)調(diào)用的e) 函數(shù)直接或間接的調(diào)用自身叫函數(shù)的遞歸調(diào)用。例如,函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB又調(diào)用了函數(shù)funA,則稱為函數(shù)的間接遞歸調(diào)用19、 函數(shù)的分類:20、函數(shù)的定義和調(diào)用方法21、函數(shù)的參數(shù)傳遞:a) 值傳遞方式i. 方式:函數(shù)調(diào)用時(shí),為形參分配單元,并將實(shí)參的值

18、復(fù)制到形參中;調(diào)用結(jié)束,形參單元被釋放,實(shí)參單元仍保留并維持原值。ii. 特點(diǎn): 形參與實(shí)參占用不同的內(nèi)存單元 單向傳遞b) 地址傳遞方式:(用數(shù)組和指針變量)i. 方式:函數(shù)調(diào)用時(shí),將數(shù)據(jù)的存儲(chǔ)地址作為參數(shù)傳遞給形參ii. 特點(diǎn): 形參與實(shí)參占用同樣的存儲(chǔ)單元 雙向傳遞 實(shí)參和形參必須是地址常量或變量22、局部變量和全局變量的作用域和生存期23、 指針和指針變量a) 指針:一個(gè)變量的地址b) 指針變量:專門存放變量地址的變量c) 指針運(yùn)算符:& 取變量的地址,* 取指針?biāo)赶蜃兞康膬?nèi)容,兩者互為逆運(yùn)算例如,int *p=&a;那么以下關(guān)系成立:p = &i = &am

19、p;(*p)a = *p = *(&a)d) 指針變量的定義: 基類型 *指針變量名;e) 指針變量必須初始化后才能使用,否則,嚴(yán)重時(shí)會(huì)造成系統(tǒng)區(qū)破壞而死機(jī)。指針變量賦值有兩種方式:用變量的地址為指針變量賦值,賦值后指針變量就指向該變量;用malloc動(dòng)態(tài)分配內(nèi)存,并將分配內(nèi)存的起始地址賦給指針變量f) 指針變量p ± n (n0)表示p所指的數(shù)據(jù)存儲(chǔ)單元之后(之前)的第n個(gè)數(shù)據(jù)存儲(chǔ)單元:p ± n 的值 = p ± n * sizeof(p所指內(nèi)存單元存儲(chǔ)數(shù)據(jù)的類型)24、 指向一維數(shù)組的指針變量a) 數(shù)組的指針:數(shù)組在內(nèi)存中的起始地址,即數(shù)組名,這是一個(gè)常量,它可以參與運(yùn)算但不能改變它的值,例如,int a10; a+是錯(cuò)誤的b) 數(shù)組元素的指針:數(shù)組元素的指針就是數(shù)組元素在內(nèi)存中的起始地址c) 指向一維數(shù)組的指針變量:如果將數(shù)組的起始地址賦給某個(gè)指針變量,那么該指針變

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論