




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、c語言復(fù)習(xí)提綱第一部分:基本概念一、一、c程序的構(gòu)成特點(diǎn)程序的構(gòu)成特點(diǎn)1.1.一個(gè)一個(gè)c c程序可以由一個(gè)或多個(gè)源文件(程序可以由一個(gè)或多個(gè)源文件(.c.c)構(gòu)成,一個(gè)源)構(gòu)成,一個(gè)源文件是一個(gè)編譯單位。文件是一個(gè)編譯單位。2. c2. c程序是由函數(shù)構(gòu)成的(即程序是由函數(shù)構(gòu)成的(即c c程序的基本構(gòu)成單位是函程序的基本構(gòu)成單位是函數(shù)),一個(gè)數(shù)),一個(gè)c c程序可以有多個(gè)函數(shù),但必須有且只能有一程序可以有多個(gè)函數(shù),但必須有且只能有一個(gè)主函數(shù)(即個(gè)主函數(shù)(即mainmain函數(shù));函數(shù));3. 3. 一個(gè)函數(shù)由兩部分構(gòu)成:即函數(shù)首部和函數(shù)體;一個(gè)函數(shù)由兩部分構(gòu)成:即函數(shù)首部和函數(shù)體;4. 4.
2、一個(gè)一個(gè)c c程序總是從程序總是從mainmain函數(shù)開始執(zhí)行的,結(jié)束于主函數(shù),函數(shù)開始執(zhí)行的,結(jié)束于主函數(shù),而與主函數(shù)的位置無關(guān);而與主函數(shù)的位置無關(guān);注意:上述四點(diǎn)必須記住。二、二、c語言的基本數(shù)據(jù)類型語言的基本數(shù)據(jù)類型 整型、字符型(包括單個(gè)字符和字符串)、實(shí)型(浮點(diǎn)整型、字符型(包括單個(gè)字符和字符串)、實(shí)型(浮點(diǎn)型)、枚舉類型。型)、枚舉類型。而這些數(shù)據(jù)類型從應(yīng)用角度又可分為:常量和變量而這些數(shù)據(jù)類型從應(yīng)用角度又可分為:常量和變量1 1、常量、常量1) 1) 整型常量:有三種書寫形式,即:整型常量:有三種書寫形式,即: (1) (1) 十進(jìn)制整數(shù):十進(jìn)制整數(shù):7878,-324,0-3
3、24,0 (2) (2) 八進(jìn)制整數(shù):以八進(jìn)制整數(shù):以0 0開頭,開頭,01230123表示表示(123)(123)8 8 (3) (3) 十六進(jìn)制整數(shù):以十六進(jìn)制整數(shù):以0 x0 x開頭,開頭,0 x1230 x123表示表示(123)(123)1616注意:注意:c c語言中沒有二進(jìn)制的書寫形式語言中沒有二進(jìn)制的書寫形式 2) 2) 實(shí)型常量(浮點(diǎn)數(shù)):有兩種書寫形式,即:實(shí)型常量(浮點(diǎn)數(shù)):有兩種書寫形式,即: 小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn))小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn)) 例:例: 0.1230.123,-123.-123.,.123.123等。等。 指數(shù)形式
4、:數(shù)字部分指數(shù)形式:數(shù)字部分e e指數(shù)部分指數(shù)部分 例:例:123e3 1.2e-5123e3 1.2e-5。注意:字母。注意:字母e(e(或或e)e)之前必須之前必須 有數(shù)字,有數(shù)字,e e后面指數(shù)必須是整數(shù)后面指數(shù)必須是整數(shù)(13(13位位) )。 如:如:e3e3、2.1e3.52.1e3.5、e e等是不合法的指數(shù)形式。等是不合法的指數(shù)形式。3) 3) 字符常量:有兩種類型,即:字符常量:有兩種類型,即: 用單引號(hào)括起來的一個(gè)字符:用單引號(hào)括起來的一個(gè)字符:a ,9, a ,9, ? 轉(zhuǎn)義字符:個(gè)別字符前加轉(zhuǎn)義字符:個(gè)別字符前加反斜杠反斜杠后后, ,該字符轉(zhuǎn)變成另該字符轉(zhuǎn)變成另 外的意
5、義。外的意義。例如:例如: nn表示換行符;表示換行符;231231表示表示asciiascii碼為八進(jìn)制碼為八進(jìn)制(231231)的字符;)的字符;x5ax5a表示表示asciiascii碼為十六進(jìn)制(碼為十六進(jìn)制(5a5a)的字)的字符符4)字符串常量:用一對(duì)雙引號(hào)括起來的字符序列。字符串常量:用一對(duì)雙引號(hào)括起來的字符序列。5)符號(hào)常量:用預(yù)定義命令符號(hào)常量:用預(yù)定義命令#define定義的、用來替代某定義的、用來替代某個(gè)常量的符號(hào)。例如個(gè)常量的符號(hào)。例如#define pi 3.1415926關(guān)于關(guān)于標(biāo)識(shí)符標(biāo)識(shí)符的概念:的概念:在在c語言中,無論變量、符號(hào)常量、函數(shù),都用一些符號(hào)語言中,
6、無論變量、符號(hào)常量、函數(shù),都用一些符號(hào)(或符號(hào)組合)來表示它們的名字,這些符號(hào)(或組合)稱或符號(hào)組合)來表示它們的名字,這些符號(hào)(或組合)稱為為標(biāo)識(shí)符標(biāo)識(shí)符。標(biāo)識(shí)符標(biāo)識(shí)符的命名規(guī)則是:的命名規(guī)則是:必須以必須以英文字母英文字母或或下劃線下劃線開頭,其后可以跟字母、開頭,其后可以跟字母、數(shù)字?jǐn)?shù)字和和 下劃線。如:下劃線。如: a_1,a2等合法,而等合法,而9_m,a$等非法。等非法。不能與不能與c的關(guān)鍵字重名。如不能用的關(guān)鍵字重名。如不能用: int 、 if、while等。等。知識(shí)補(bǔ)充:字符常量在內(nèi)存中是用一個(gè)字節(jié)存放其知識(shí)補(bǔ)充:字符常量在內(nèi)存中是用一個(gè)字節(jié)存放其ascii碼;字符串常量比字
7、符個(gè)數(shù)多一個(gè)字節(jié);數(shù)值采用二進(jìn)碼;字符串常量比字符個(gè)數(shù)多一個(gè)字節(jié);數(shù)值采用二進(jìn)制補(bǔ)碼存放。制補(bǔ)碼存放。2、變量、變量 1)整型變量()整型變量(int、long、unsigned)2)實(shí)型變量()實(shí)型變量(float、double、long double)3)字符變量()字符變量(char)注:注:c語言要求程序中使用的變量要先定義后使用(即所語言要求程序中使用的變量要先定義后使用(即所 謂的顯式聲明)。謂的顯式聲明)。關(guān)于各類數(shù)據(jù)的混合運(yùn)算的問題:關(guān)于各類數(shù)據(jù)的混合運(yùn)算的問題: c語言中的基本類型的各種數(shù)據(jù)可以進(jìn)行混合運(yùn)算,運(yùn)算語言中的基本類型的各種數(shù)據(jù)可以進(jìn)行混合運(yùn)算,運(yùn)算前先將算式中的數(shù)
8、據(jù)類型按運(yùn)算次序向高精度方向變成同前先將算式中的數(shù)據(jù)類型按運(yùn)算次序向高精度方向變成同一類型,然后計(jì)算。至于輸出完全取決于輸出格式的設(shè)定一類型,然后計(jì)算。至于輸出完全取決于輸出格式的設(shè)定如如printf(“%f”,a+5+32768+3.14-0.123456789)三、運(yùn)算符和表達(dá)式三、運(yùn)算符和表達(dá)式 c c語言一共有語言一共有3434個(gè)運(yùn)算符,要求大家在記這些運(yùn)算符時(shí)從個(gè)運(yùn)算符,要求大家在記這些運(yùn)算符時(shí)從以下三方面記:以下三方面記: 運(yùn)算符的書寫形式;運(yùn)算符的書寫形式; 運(yùn)算符的運(yùn)算規(guī)則;運(yùn)算符的運(yùn)算規(guī)則; 優(yōu)先級(jí)和結(jié)合性;優(yōu)先級(jí)和結(jié)合性; 任何級(jí)別的任何級(jí)別的c c語言考試,都有判斷表達(dá)式
9、結(jié)果的試題,主語言考試,都有判斷表達(dá)式結(jié)果的試題,主要檢測考生對(duì)運(yùn)算符的運(yùn)算規(guī)則、優(yōu)先級(jí)和結(jié)合性掌握的要檢測考生對(duì)運(yùn)算符的運(yùn)算規(guī)則、優(yōu)先級(jí)和結(jié)合性掌握的熟練程度,所以本部分內(nèi)容屬重點(diǎn)內(nèi)容。熟練程度,所以本部分內(nèi)容屬重點(diǎn)內(nèi)容。1 1、算術(shù)運(yùn)算符和算術(shù)表達(dá)式(、算術(shù)運(yùn)算符和算術(shù)表達(dá)式(+ +、- -、* *、/ /、% %)1)運(yùn)算規(guī)則:)運(yùn)算規(guī)則: 兩個(gè)整數(shù)相除結(jié)果為整數(shù),如兩個(gè)整數(shù)相除結(jié)果為整數(shù),如5/2=2。(float)5/2=2.5 模運(yùn)算符模運(yùn)算符(取余運(yùn)算符取余運(yùn)算符%)要求兩側(cè)的運(yùn)算量均為整型量。要求兩側(cè)的運(yùn)算量均為整型量。2)優(yōu)先級(jí)與結(jié)合性:同數(shù)學(xué)一樣,可加括號(hào)改變。)優(yōu)先級(jí)與結(jié)
10、合性:同數(shù)學(xué)一樣,可加括號(hào)改變。2 2、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:(類型名、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:(類型名)。)。3 3、自增、自增1 1、自減、自減1 1運(yùn)算符(運(yùn)算符(+、-)-)1)運(yùn)算規(guī)則:)運(yùn)算規(guī)則: +i與與i+相當(dāng)于相當(dāng)于i=i+1;-i與與i相當(dāng)于相當(dāng)于i=i-1。 該運(yùn)算符只適用于變量,不能用于常數(shù)。如該運(yùn)算符只適用于變量,不能用于常數(shù)。如8+錯(cuò)誤。錯(cuò)誤。 +i與與i+的區(qū)別在于先前者引用后自加,后者相反。的區(qū)別在于先前者引用后自加,后者相反。思考題:想一想下列兩條語句輸出結(jié)果分別是什么?思考題:想一想下列兩條語句輸出結(jié)果分別是什么?i=3;while(i+4) printf(“%d
11、”,i); i=3;while(+i4) printf(“%d”,i);2 2)結(jié)合性:右結(jié)合。如)結(jié)合性:右結(jié)合。如: : i=3;a=-i+; i=3;a=-i+; printf( printf( %d%d ,a);,a);printf(n%d,i);printf(n%d,i);4 4、賦值(復(fù)合賦值)運(yùn)算符和賦值表達(dá)式賦值(復(fù)合賦值)運(yùn)算符和賦值表達(dá)式1 1)書寫形式:)書寫形式:= =、+=+=、-=-=、* *= =、/=/=、%=%=。2 2)運(yùn)算規(guī)則:)運(yùn)算規(guī)則: = =:將右邊的常量、變量、表達(dá)式賦給左邊的:將右邊的常量、變量、表達(dá)式賦給左邊的一個(gè)變量一個(gè)變量。 a a* *=
12、3+5=3+5相當(dāng)于相當(dāng)于a=aa=a* *(3+5)(3+5)3 3)結(jié)合性:右結(jié)合。如:)結(jié)合性:右結(jié)合。如:a=3;b=4;c=5;d=0;a=b=c=d;a=3;b=4;c=5;d=0;a=b=c=d; 知識(shí)補(bǔ)充:可以給變量賦予不同數(shù)據(jù)類型的常量。如:知識(shí)補(bǔ)充:可以給變量賦予不同數(shù)據(jù)類型的常量。如: int a=3.9;float b=a;int a=3.9;float b=a;思考題:思考題:a=3; a+=a-=aa=3; a+=a-=a* *a ;a ; a=3; a-=a a=3; a-=a* *a+;a+;5 5、逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式、逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 一般形式:表達(dá)
13、式一般形式:表達(dá)式1 1,表達(dá)式,表達(dá)式2 2,表達(dá)式,表達(dá)式3 3 例:例:printf(“%d”,(x=a=3,a=4,6printf(“%d”,(x=a=3,a=4,6* *a);a);6 6、關(guān)系運(yùn)算符(、關(guān)系運(yùn)算符( 、= 、=、=、!、!= =) 優(yōu)先級(jí):高優(yōu)先級(jí):高低。低。 結(jié)合性:左結(jié)合。結(jié)合性:左結(jié)合。 運(yùn)算規(guī)則:參與關(guān)系運(yùn)算的對(duì)象可以是常量、變量、表達(dá)運(yùn)算規(guī)則:參與關(guān)系運(yùn)算的對(duì)象可以是常量、變量、表達(dá)式,但關(guān)系運(yùn)算的結(jié)果只有兩個(gè):式,但關(guān)系運(yùn)算的結(jié)果只有兩個(gè):1 1(成立時(shí))、(成立時(shí))、0 0(不成(不成立時(shí))。立時(shí))。7 7、邏輯運(yùn)算符(!、邏輯運(yùn)算符(! 、&
14、、|)關(guān)系運(yùn)算符舉例:寫出下列表達(dá)式的值關(guān)系運(yùn)算符舉例:寫出下列表達(dá)式的值a=3,b=4,a+bab 32 mnb&(c=a);ab|(c=b);邏輯運(yùn)算符舉例:若邏輯運(yùn)算符舉例:若a=3 b=4 c=5寫出下列表達(dá)式的值寫出下列表達(dá)式的值 !a|b&c-5 !(b-3)&b&a+b+c8 8、位運(yùn)算符(、位運(yùn)算符( 、 、& &、| |) “位運(yùn)算符位運(yùn)算符”按二進(jìn)制位運(yùn)算;參與運(yùn)算的只能是整按二進(jìn)制位運(yùn)算;參與運(yùn)算的只能是整數(shù)或字符型數(shù)據(jù)。數(shù)或字符型數(shù)據(jù)。位運(yùn)算符本身不難,關(guān)鍵是要理解補(bǔ)碼知識(shí)。位運(yùn)算符本身不難,關(guān)鍵是要理解補(bǔ)碼知識(shí)。例題:若
15、例題:若a=4;則:則: a= a后后a=-5;a=an相當(dāng)于相當(dāng)于 a=a/2n ;a0后后a不變,不變,a-1后后a=-5;知識(shí)擴(kuò)展:知識(shí)擴(kuò)展:異或運(yùn)算的用法:異或運(yùn)算的用法:a=ab;b=ba;a=ab;后后a與與b交換。交換。 a=an;a=an;后后a的值不變。(用于密碼)的值不變。(用于密碼)9 9、條件運(yùn)算符(表達(dá)式、條件運(yùn)算符(表達(dá)式1 1?表達(dá)式?表達(dá)式2 2:表達(dá)式:表達(dá)式3 3)執(zhí)行過程:先求解表達(dá)式執(zhí)行過程:先求解表達(dá)式1 1,如果表達(dá)式,如果表達(dá)式1 1為真,則整個(gè)表達(dá)為真,則整個(gè)表達(dá) 式取表達(dá)式式取表達(dá)式2 2的值,否則取表達(dá)式的值,否則取表達(dá)式3 3的值。的值。結(jié)
16、合性:右結(jié)合。結(jié)合性:右結(jié)合。例如:判斷下列代碼的用途。例如:判斷下列代碼的用途。 char ch;char ch; scanf(“%d”,&ch); scanf(“%d”,&ch); ch=ach&chz?ch+32,ch; ch=ach&chb?a:bc?b:cd?c:d;m=ab?a:bc?b:cd?c:d; 第一部分內(nèi)容是一些最基礎(chǔ)的東西,內(nèi)容雖然第一部分內(nèi)容是一些最基礎(chǔ)的東西,內(nèi)容雖然比較零亂,但非常重要,要求必須在理解的基比較零亂,但非常重要,要求必須在理解的基礎(chǔ)上記住。礎(chǔ)上記住。 重點(diǎn)是:運(yùn)算符及其表達(dá)式的求值問題。重點(diǎn)是:運(yùn)算符及其表達(dá)式的求值問
17、題。第二部分:編程部分 有關(guān)編程的基礎(chǔ)知識(shí) 程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu) 程序中常用的算法一、有關(guān)編程的基礎(chǔ)知識(shí)一、有關(guān)編程的基礎(chǔ)知識(shí)1 1、c c語句的種類語句的種類: 控制語句:完成一定的控制功能??刂普Z句:完成一定的控制功能。 函數(shù)調(diào)用語句:完成函數(shù)調(diào)用功能。函數(shù)調(diào)用語句:完成函數(shù)調(diào)用功能。 表達(dá)式語句:由各種表達(dá)式加分號(hào)構(gòu)成。表達(dá)式語句:由各種表達(dá)式加分號(hào)構(gòu)成。 空語句:只有分號(hào)的語句??照Z句:只有分號(hào)的語句。 復(fù)合語句:由復(fù)合語句:由 多個(gè)語句多個(gè)語句 組成。組成。 注意注意: : 允許一行寫多個(gè)語句允許一行寫多個(gè)語句, ,對(duì)對(duì)控制語句控制語句也允許將一個(gè)語也允許將一個(gè)
18、語 句拆開寫在幾行上,對(duì)句拆開寫在幾行上,對(duì)非控制語句非控制語句若要拆開分行寫若要拆開分行寫 必須加必須加續(xù)行符續(xù)行符“”。每條語句后必須加分號(hào)。每條語句后必須加分號(hào)。2 2、關(guān)于、關(guān)于printf()printf()函數(shù)(用于控制輸出格式函數(shù)(用于控制輸出格式- -重要)重要)一般形式:一般形式:printfprintf(“轉(zhuǎn)換控制字符串轉(zhuǎn)換控制字符串”,輸出表列),輸出表列) 轉(zhuǎn)換控制字符串:包含三種信息。轉(zhuǎn)換控制字符串:包含三種信息。 普通字符原樣輸出。普通字符原樣輸出。 轉(zhuǎn)義字符按轉(zhuǎn)變后的字符輸出。轉(zhuǎn)義字符按轉(zhuǎn)變后的字符輸出。 由由% %和輸出格式控制符組成的輸出格式控制符。和輸出格式
19、控制符組成的輸出格式控制符。 輸出表列:要輸出的量。可以是常量、變量、表達(dá)式、輸出表列:要輸出的量??梢允浅A?、變量、表達(dá)式、 函數(shù)等。函數(shù)等。例如:例如:char a=b;char a=b;printf(“”%c117%c”ncprintf(“”%c117%c”nc語言成績語言成績%f”,a,a+24,89.9);%f”,a,a+24,89.9);又如:又如:int max(int a,int b) main() return (ab?a:b ); int x=3,b=8; printf(“max=%d”,max(x,b); 由由%和輸出格式控制符組成的輸出格式說明:和輸出格式控制符組成的輸
20、出格式說明: d d格式符格式符: : 用來輸出十進(jìn)制整數(shù)。用來輸出十進(jìn)制整數(shù)。%md%md、%lmd%lmd等。等。 o o格式符:以八進(jìn)制形式輸出格式符:以八進(jìn)制形式輸出整數(shù)整數(shù),符號(hào)位被作為,符號(hào)位被作為8 8進(jìn)制進(jìn)制的一部分輸出(即不會(huì)輸出負(fù)的八進(jìn)制數(shù))。的一部分輸出(即不會(huì)輸出負(fù)的八進(jìn)制數(shù))。%o%o、%mo%mo等等%x%x格式符、格式符、%u%u格式符格式符: :分別用于輸出分別用于輸出1616進(jìn)制數(shù)和無符號(hào)數(shù)進(jìn)制數(shù)和無符號(hào)數(shù)(4)%c(4)%c格式符:用來輸出一個(gè)字符。格式符:用來輸出一個(gè)字符。(5)%s(5)%s格式符:用來輸出一個(gè)字符串。格式符:用來輸出一個(gè)字符串。%m.n
21、s%m.ns(6)%f(6)%f格式符:用來輸出以小數(shù)形式表示的實(shí)數(shù)。格式符:用來輸出以小數(shù)形式表示的實(shí)數(shù)。 如:如:%m.nf%m.nf。(7)%e(7)%e格式符:按指數(shù)形式輸出實(shí)數(shù)。格式符:按指數(shù)形式輸出實(shí)數(shù)。2 2、關(guān)于、關(guān)于scanf()scanf()函數(shù)函數(shù): :形式:形式:scanf(格式控制,格式控制,地址表列地址表列)在在scanf中不使用中不使用%u說明符,對(duì)說明符,對(duì)unsigned型數(shù)據(jù),以型數(shù)據(jù),以%d,%o,%x格式輸入。格式輸入??梢灾付ㄝ斎霐?shù)據(jù)所占列數(shù),系統(tǒng)自動(dòng)按它截取所需數(shù)據(jù)??梢灾付ㄝ斎霐?shù)據(jù)所占列數(shù),系統(tǒng)自動(dòng)按它截取所需數(shù)據(jù)。 scanf(“ %3d%3d
22、”,&a,&b); 輸入輸入123456, 則自動(dòng)將則自動(dòng)將123a,456b。scanf(“ %2d %*3d %2d ”,&a,&b); 輸入輸入 12 345 67 則將則將12a,67b,345被跳過。被跳過。輸入數(shù)據(jù)時(shí)不能規(guī)定精度。輸入數(shù)據(jù)時(shí)不能規(guī)定精度。 如:如:scanf(“ %7.2f ”,&a);非法。非法。注意:地址表列中一定記住要有地址運(yùn)算符注意:地址表列中一定記住要有地址運(yùn)算符&。 格式控制里,除了輸入格式說明符以外其它的內(nèi)格式控制里,除了輸入格式說明符以外其它的內(nèi) 容,要求原樣輸入。容,要求原樣輸入。 格式控制里,如果只
23、有輸入格式說明符,則輸入數(shù)據(jù)時(shí),在兩格式控制里,如果只有輸入格式說明符,則輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間以一個(gè)或多個(gè)空格間隔,也可以用回車鍵、跳格鍵個(gè)數(shù)據(jù)之間以一個(gè)或多個(gè)空格間隔,也可以用回車鍵、跳格鍵tab,3 3、關(guān)于變量的作用域和生存期問題、關(guān)于變量的作用域和生存期問題 局部變量:函數(shù)體內(nèi)定義的變量(包括主函數(shù)內(nèi)定義的局部變量:函數(shù)體內(nèi)定義的變量(包括主函數(shù)內(nèi)定義的 變量和形式參數(shù)),只在定義它的函數(shù)體內(nèi)有效。變量和形式參數(shù)),只在定義它的函數(shù)體內(nèi)有效。 全局變量:函數(shù)體外定義的變量。從定義處往后開始有效全局變量:函數(shù)體外定義的變量。從定義處往后開始有效 動(dòng)態(tài)存儲(chǔ)變量:動(dòng)態(tài)存儲(chǔ)變量: 靜態(tài)存
24、儲(chǔ)變量靜態(tài)存儲(chǔ)變量 :修飾符:修飾符static.static.說明:局部靜態(tài)變量編譯時(shí)賦初值一次,以后每次調(diào)用不說明:局部靜態(tài)變量編譯時(shí)賦初值一次,以后每次調(diào)用不 再重新賦初值,而是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值再重新賦初值,而是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值 局部靜態(tài)變量定義時(shí)不賦初值則自動(dòng)賦初值局部靜態(tài)變量定義時(shí)不賦初值則自動(dòng)賦初值0 0。4 4、關(guān)于函數(shù)參數(shù)的問題、關(guān)于函數(shù)參數(shù)的問題 類型:形參、實(shí)參。類型:形參、實(shí)參。 作用:單向傳值(可以是數(shù)值,也可以是地址)。作用:單向傳值(可以是數(shù)值,也可以是地址)。5 5、關(guān)于函數(shù)返回值的問題、關(guān)于函數(shù)返回值的問題 通過通過 return retur
25、n 語句獲得返回值語句獲得返回值 ;如;如: return(z): return(z)。 定義函數(shù)時(shí)指定函數(shù)返回值的類型;不加類型說明的,按定義函數(shù)時(shí)指定函數(shù)返回值的類型;不加類型說明的,按整型處理。(即函數(shù)返回值為整型時(shí),可不加類型說明)整型處理。(即函數(shù)返回值為整型時(shí),可不加類型說明) 函數(shù)值的類型和函數(shù)值的類型和 return return 語句中表達(dá)式的值不一致時(shí),以語句中表達(dá)式的值不一致時(shí),以函數(shù)類型為準(zhǔn)。函數(shù)類型為準(zhǔn)。 被調(diào)用函數(shù)中沒有被調(diào)用函數(shù)中沒有 return return 語句時(shí),帶回一個(gè)不確定的值。語句時(shí),帶回一個(gè)不確定的值。 為了明確表示為了明確表示“不帶回值不帶回值”
26、,可以用,可以用“ “ void ” void ” 定義定義 “ “ 無類型無類型 ” ”。(如:。(如:void print() ) void print() ) 6 6、關(guān)于數(shù)組問題、關(guān)于數(shù)組問題 定義數(shù)組時(shí)數(shù)組的長度一定是整形常量,并且要用定義數(shù)組時(shí)數(shù)組的長度一定是整形常量,并且要用。 如:如:int a10;float a23; int a(2)int a10;float a23; int a(2)或或int a2,3int a2,3 是常犯得錯(cuò)誤。是常犯得錯(cuò)誤。 數(shù)組元素的表示:數(shù)組名數(shù)組元素的表示:數(shù)組名 下標(biāo)下標(biāo) 。下標(biāo)從。下標(biāo)從0 0開始排列。開始排列。 數(shù)組名是存放數(shù)組首地址
27、的一個(gè)常量。所以若:數(shù)組名是存放數(shù)組首地址的一個(gè)常量。所以若:int a10int a10 則表示則表示a a數(shù)組的第數(shù)組的第4 4個(gè)元素的方法可以用:個(gè)元素的方法可以用:a3a3或或* *(a+3).(a+3). 一個(gè)數(shù)組里的所有元素具有相同的數(shù)據(jù)類型。一個(gè)數(shù)組里的所有元素具有相同的數(shù)據(jù)類型。 使用數(shù)組只能引用數(shù)組元素,不能整體引用數(shù)組。使用數(shù)組只能引用數(shù)組元素,不能整體引用數(shù)組。如:如:int a10;a10=1,2,3,4,5,6,7,8,9,10;(int a10;a10=1,2,3,4,5,6,7,8,9,10;(錯(cuò)誤)錯(cuò)誤)下列語句為什么不正確:下列語句為什么不正確:int a10
28、,i;for(i=0;i=10;i+) printf(“%d”,ai);7 7、關(guān)于指針的問題(指針即地址)、關(guān)于指針的問題(指針即地址)使一個(gè)指針變量指向一個(gè)普通變量:使一個(gè)指針變量指向一個(gè)普通變量:int a,int a,* *p=&a;p=&a;使一個(gè)指針變量指向一個(gè)數(shù)組:使一個(gè)指針變量指向一個(gè)數(shù)組:int a10,int a10,* *p=a;(p=a;p=&a0;)p=a;(p=a;p=&a0;)指針變量的使用:指針變量的使用:* *-指針運(yùn)算符。指針運(yùn)算符。指針變量的運(yùn)算:指針變量的運(yùn)算:例如:例如:int a10=1,2,3,int a10=1,2
29、,3,* *p,i;p=a;p,i;p=a; for(i=0;i5;i+) for(i=0;i5;i+) printf(“%-3d”,ai); printf(“%-3d”,ai); for(i=0;i5;i+) for(i=0;i5;i+) printf(“%-3d”, printf(“%-3d”,* *p+);p+); for(i=0;i5;i+) for(i=0;i5;i+) printf(“%-3d”, printf(“%-3d”,* *(a+i);(a+i); p=a; p=a; for(i=0;i5;i+) for(i=0;i5;i+) printf(“%-3d”,pi); prin
30、tf(“%-3d”,pi); 想一想:想一想:for(i=0;ia=12;8 8、關(guān)于結(jié)構(gòu)體的問題、關(guān)于結(jié)構(gòu)體的問題:結(jié)構(gòu)體實(shí)際上是編程者自己定義的一種數(shù)據(jù)類型,在程序中使用結(jié)構(gòu)體結(jié)構(gòu)體實(shí)際上是編程者自己定義的一種數(shù)據(jù)類型,在程序中使用結(jié)構(gòu)體變量時(shí)應(yīng)該先聲明結(jié)構(gòu)體類型,然后使用已經(jīng)聲明的結(jié)構(gòu)體類型去定義變量時(shí)應(yīng)該先聲明結(jié)構(gòu)體類型,然后使用已經(jīng)聲明的結(jié)構(gòu)體類型去定義該類型的變量。(要區(qū)分開結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的概念)該類型的變量。(要區(qū)分開結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的概念)9 9、關(guān)于、關(guān)于typedef的問題:的問題:typedef的功能是:的功能是:用自定義名字為已有數(shù)據(jù)類型命名(即為現(xiàn)有的類
31、用自定義名字為已有數(shù)據(jù)類型命名(即為現(xiàn)有的類型創(chuàng)建一個(gè)新的名字),需要注意的是:型創(chuàng)建一個(gè)新的名字),需要注意的是: typedef typedef 并不是創(chuàng)建新的類并不是創(chuàng)建新的類型,因此不能用它來定義變量。型,因此不能用它來定義變量。例如:例如:typedef int integer; typedef float real; integer a,b; real c,d;又如:又如: typedef int shuzu5050; shuzu a,b,c; typedef char *strpoint;strpoint p; /* 相當(dāng)于:相當(dāng)于:char *p */typedef struct int num;char name10;float score; stuinfo;相當(dāng)于:相當(dāng)于:int a,b;float c,d;相當(dāng)于:相當(dāng)于:int a5050, b5050, c5050;stuinfo a,b,*p;/* 相當(dāng)于相當(dāng)于 struct stuinfo int num;char nam
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 住宅認(rèn)購定金合同范本
- 倉儲(chǔ)保管填寫合同范本
- 2025年四川貨運(yùn)從業(yè)資格證考試的技巧
- 一房三賣買賣合同范本
- 停息掛賬律師委托合同范本
- 個(gè)人外匯貸款合同范本
- 助資合同范本
- 個(gè)人買房購房合同范本
- 公司稅貸合同范本
- 個(gè)人店面整體裝修合同范本
- 2025年湖南城建職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案一套
- 教科版科學(xué)三下開學(xué)第一課《科學(xué)家這樣做-童第周》
- 2025年廣州市黃埔區(qū)文沖街招聘“村改居”社區(qū)治安聯(lián)防隊(duì)員36人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 國家電網(wǎng)新聞宣傳與企業(yè)文化管理專責(zé)考試題及答案
- 土建類專職安全生產(chǎn)管理人員練習(xí)題+參考答案
- 中國新能源汽車:2024年總結(jié)與2025年趨勢報(bào)告-電動(dòng)汽車觀察家
- 2024年江蘇省衛(wèi)生健康委員會(huì)所屬事業(yè)單位招聘筆試真題
- 廉潔知識(shí)培訓(xùn)課件
- 分布式光伏發(fā)電開發(fā)建設(shè)管理辦法2025
- 《科幻小說賞析與寫作》 課件 -第六章 “外星文明”的善意與惡行-《安德的游戲》
- 《我國的文化安全》課件
評(píng)論
0/150
提交評(píng)論