




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、考試題型重點(diǎn)內(nèi)容知識(shí)串講12331.題型介紹一、單項(xiàng)選擇題(共14題,每小題3分,共42分)二、判斷題(共15題,每小題2分,共30分)三、程序填空題(共4題,每小題5分,共20分)四、編程題(共2題,每小題4分,共8分)31.題型介紹一、單項(xiàng)選擇題(共14題,每小題3分,共42分)1.C語(yǔ)言程序中的基本功能模塊為( D )。A.表達(dá)式 B.標(biāo)識(shí)符 C.語(yǔ)句 D.函數(shù)31.題型介紹二、判斷題(共15題,每小題2分,共30分)15. 在C語(yǔ)言字符集中,一個(gè)大寫(xiě)英文字母和它的小寫(xiě)英文字母被視為不同的字符。( )31.題型介紹三、程序填空題(共4題,每小題5分,共20分)30. 執(zhí)行下面程序的輸出結(jié)
2、果為( ab )。# includevoid main() int a=25,b=18; if(ab) printf(%sn, ab); if(a=b) printf(%sn,a=b); if(ab) printf(%sn, avoid main() int a10,i; /用i作為循環(huán)變量 printf(從鍵盤(pán)輸入10個(gè)整數(shù):n); /向下補(bǔ)充程序內(nèi)容,用兩個(gè)for循環(huán)實(shí)現(xiàn) for(i=0;i=0; i-) printf(%d,&ai);printf(n);3專(zhuān)題二 基本數(shù)據(jù)類(lèi)型與表達(dá)式專(zhuān)題三 流程控制語(yǔ)句專(zhuān)題四 數(shù)組和字符串專(zhuān)題五 指針專(zhuān)題六 函數(shù)專(zhuān)題七 結(jié)構(gòu)與聯(lián)合專(zhuān)題八 文件3專(zhuān)
3、題二 基本數(shù)據(jù)類(lèi)型與表達(dá)式2.1 C的數(shù)據(jù)類(lèi)型短整型短整型(short)整型整型(int)長(zhǎng)整型長(zhǎng)整型(long)整型整型實(shí)型實(shí)型數(shù)值類(lèi)型數(shù)值類(lèi)型字符類(lèi)型字符類(lèi)型(char)枚舉類(lèi)型枚舉類(lèi)型(enum)數(shù)組類(lèi)型數(shù)組類(lèi)型結(jié)構(gòu)體類(lèi)型結(jié)構(gòu)體類(lèi)型(struct)共用體類(lèi)型共用體類(lèi)型(union)文件類(lèi)型文件類(lèi)型(FILE)基本類(lèi)型基本類(lèi)型構(gòu)造類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型指針類(lèi)型空類(lèi)型空類(lèi)型(void) 數(shù)據(jù)數(shù)據(jù) 類(lèi)型類(lèi)型單精度型單精度型(float)雙精度型雙精度型(double)3(一)常量(一)常量 : : 在程序執(zhí)行期間值不發(fā)生變化的量在程序執(zhí)行期間值不發(fā)生變化的量 1. 1. 直接常量直接常量 : :
4、 15 , 2.4 , 15 , 2.4 , f f , , “asdasd” 2. 2. 符號(hào)常量符號(hào)常量 : : 在程序中用標(biāo)識(shí)符代表的常數(shù)在程序中用標(biāo)識(shí)符代表的常數(shù) 定義符號(hào)常量的格式定義符號(hào)常量的格式: : # define # define 標(biāo)識(shí)符標(biāo)識(shí)符 常數(shù)常數(shù) 如如 # define PI 3.14# define PI 3.14 3. 3.字符串常量字符串常量 : : 由一對(duì)雙引號(hào)括起來(lái)的字符序列由一對(duì)雙引號(hào)括起來(lái)的字符序列 如如: “: “abcdabcd” , ” , “ “ w123w123”,“”,“k” k” , , “ “ ”2.2 常量與變量選擇題:一個(gè)程序文件開(kāi)
5、始使用的每條預(yù)處理命令,其首字符必須是( B )A. B.# C. $ D.%3(二)變量二)變量: : 在程序執(zhí)行期間值可以變化的量在程序執(zhí)行期間值可以變化的量 1 1. . 變量變量的聲明的聲明 格式格式: : 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 變量名列表變量名列表 ; ; 2 2. . 變量變量的初始化的初始化: : 在聲明變量的同時(shí)對(duì)變量賦初值在聲明變量的同時(shí)對(duì)變量賦初值 如如: : intint x=4 , y=21 ; x=4 , y=21 ; char char chch=A ; =A ; 如如: int x , y ; char ch ; x=3; B判斷題:在定義一個(gè)變量時(shí),不能夠同時(shí)給它賦
6、初值。( X )判斷題:在一條變量定義語(yǔ)句中,可以同時(shí)定義不同類(lèi)型的變量。( X )33.3.變量的賦值變量的賦值 格式格式: : 變量變量 = = 表達(dá)式表達(dá)式 如如: x = 6 ;: x = 6 ; y = x+2 ; y = x+2 ; a = a = sqrtsqrt(b) ;(b) ; y = x = x+2 ; y = x = x+2 ;3(三)標(biāo)識(shí)符(三)標(biāo)識(shí)符: 是給程序中的實(shí)體所起的名字是給程序中的實(shí)體所起的名字 1. 標(biāo)識(shí)符的命名規(guī)則標(biāo)識(shí)符的命名規(guī)則 以字母或下劃線開(kāi)頭以字母或下劃線開(kāi)頭, 由字母由字母, 數(shù)字和下劃線組成的字符序列數(shù)字和下劃線組成的字符序列 標(biāo)識(shí)符不能與
7、標(biāo)識(shí)符不能與C語(yǔ)言的關(guān)鍵字重名語(yǔ)言的關(guān)鍵字重名 建議用戶(hù)定義標(biāo)識(shí)符時(shí)盡量不用下劃線開(kāi)頭建議用戶(hù)定義標(biāo)識(shí)符時(shí)盡量不用下劃線開(kāi)頭 注意標(biāo)識(shí)符的有效長(zhǎng)度注意標(biāo)識(shí)符的有效長(zhǎng)度 C語(yǔ)言標(biāo)準(zhǔn)中有效長(zhǎng)度為語(yǔ)言標(biāo)準(zhǔn)中有效長(zhǎng)度為31個(gè)字符個(gè)字符 標(biāo)識(shí)符中區(qū)分大標(biāo)識(shí)符中區(qū)分大, 小寫(xiě)字母小寫(xiě)字母 如如: sum 和和 SUM 是不同的標(biāo)識(shí)符是不同的標(biāo)識(shí)符 2. 定義標(biāo)識(shí)符應(yīng)遵循的原則定義標(biāo)識(shí)符應(yīng)遵循的原則 盡量做到見(jiàn)名知義盡量做到見(jiàn)名知義 一般習(xí)慣上變量名一般習(xí)慣上變量名, 函數(shù)名用小寫(xiě)函數(shù)名用小寫(xiě) , 而符號(hào)常量用大寫(xiě)而符號(hào)常量用大寫(xiě) 應(yīng)盡量避免使用容易認(rèn)錯(cuò)的字符應(yīng)盡量避免使用容易認(rèn)錯(cuò)的字符B判斷題:在C語(yǔ)言字
8、符集中,一個(gè)大寫(xiě)英文字母和它的小寫(xiě)英文字母被視為不同的字符。( ) 2.3 整型數(shù)據(jù)一、整型常量的表示方法一、整型常量的表示方法 1. 十進(jìn)制整數(shù)十進(jìn)制整數(shù) 56 , -23 , 0 2. 八進(jìn)制整數(shù)八進(jìn)制整數(shù) 以零開(kāi)頭以零開(kāi)頭 034 , 012 3. 十六進(jìn)制整數(shù)十六進(jìn)制整數(shù) 以以0 x開(kāi)頭開(kāi)頭 0 x28 , 0 x1fa9二、整型變量二、整型變量1.1. 整型數(shù)據(jù)在內(nèi)存的存放形式整型數(shù)據(jù)在內(nèi)存的存放形式 數(shù)據(jù)在內(nèi)存中以二進(jìn)制形式存放數(shù)據(jù)在內(nèi)存中以二進(jìn)制形式存放, , 一個(gè)整型變量在內(nèi)存中占一個(gè)整型變量在內(nèi)存中占2 2個(gè)字節(jié)個(gè)字節(jié) int x=10;int x=10;0000 00000
9、000 0000 0000 10100000 10102.3 整型數(shù)據(jù)2. 2. 整型變量的分類(lèi)整型變量的分類(lèi) 有符號(hào)基本整型有符號(hào)基本整型 signed signed intint 無(wú)符號(hào)基本整型無(wú)符號(hào)基本整型 unsigned unsigned intint 有符號(hào)短整型有符號(hào)短整型 signed signed shortshort intint 無(wú)符號(hào)短整型無(wú)符號(hào)短整型 unsigned shortunsigned short intint 有符號(hào)長(zhǎng)整型有符號(hào)長(zhǎng)整型 signed signed long long intint 無(wú)符號(hào)長(zhǎng)整型無(wú)符號(hào)長(zhǎng)整型 unsigned longunsi
10、gned long intint B2.4 實(shí)型數(shù)據(jù)一、實(shí)型常量的表示方法一、實(shí)型常量的表示方法1. 小數(shù)形式小數(shù)形式 : 2.4 , -9.6 , 3. , .75 2. 指數(shù)形式指數(shù)形式 : 3.14e0 , 31.4e 1二、實(shí)型變量二、實(shí)型變量1.1.實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式 一個(gè)實(shí)型數(shù)據(jù)在內(nèi)存中占一個(gè)實(shí)型數(shù)據(jù)在內(nèi)存中占4 4個(gè)字節(jié)個(gè)字節(jié), ,實(shí)型數(shù)據(jù)按指數(shù)形式存儲(chǔ)實(shí)型數(shù)據(jù)按指數(shù)形式存儲(chǔ). .2. 2. 實(shí)型變量的分類(lèi)實(shí)型變量的分類(lèi) 單精度單精度 floatfloat 雙精度雙精度 doubledouble 長(zhǎng)雙精度長(zhǎng)雙精度 long doublelong
11、double2.5 字符型數(shù)據(jù)一、字符常量一、字符常量: 用單引號(hào)括起來(lái)的用單引號(hào)括起來(lái)的一個(gè)一個(gè)字符字符 如如: s , * , 6 說(shuō)明說(shuō)明: 1. a a 和和A A是兩個(gè)是兩個(gè)不同的字符不同的字符 2. 單引號(hào)內(nèi)不能是單引號(hào)或反斜杠單引號(hào)內(nèi)不能是單引號(hào)或反斜杠 3. 轉(zhuǎn)義字符轉(zhuǎn)義字符 如如: :nn , , 表示反斜杠表示反斜杠 , , 表示單引號(hào)表示單引號(hào) 二、字符變量二、字符變量例例: char a , b;: char a , b; a= a=g g; b=; b=$ $ ; ;字符數(shù)據(jù)在內(nèi)存中以相應(yīng)的字符數(shù)據(jù)在內(nèi)存中以相應(yīng)的ASCIIASCII碼存放碼存放, , 占占1 1個(gè)字
12、節(jié)個(gè)字節(jié)32.6 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 一、一、 基本算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符 + , - , * , / , % 說(shuō)明說(shuō)明 1. 運(yùn)算對(duì)象可以是整型或?qū)嵭蛿?shù)據(jù)運(yùn)算對(duì)象可以是整型或?qū)嵭蛿?shù)據(jù) 如果其中一個(gè)運(yùn)算變量為實(shí)型如果其中一個(gè)運(yùn)算變量為實(shí)型, 則結(jié)果為實(shí)型則結(jié)果為實(shí)型(double)3.3.% 取余運(yùn)算取余運(yùn)算: 2: 2個(gè)運(yùn)算對(duì)象都為整型個(gè)運(yùn)算對(duì)象都為整型, ,結(jié)果也為整型結(jié)果也為整型 結(jié)果符號(hào)與被除數(shù)符號(hào)相同結(jié)果符號(hào)與被除數(shù)符號(hào)相同2.2./ / 除法運(yùn)算除法運(yùn)算: 兩整數(shù)相除結(jié)果仍為整數(shù)兩整數(shù)相除結(jié)果仍為整數(shù)例例: 5/2=2 - -5/2= - -2 5/2.0=2.5例例: 5%
13、2=1 2%5=2 - -5%2= - -1 32.6 算術(shù)運(yùn)算符和算術(shù)表達(dá)式D判斷題:表達(dá)式(int)14.6%5的值為4。( )選擇題: 帶有隨機(jī)函數(shù)的表達(dá)式rand( )%20的取值范圍是( C ) A.1 19 B.120 C.019 D.0202.6 算術(shù)運(yùn)算符和算術(shù)表達(dá)式二、二、C C算術(shù)表達(dá)式算術(shù)表達(dá)式: : 用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來(lái)的用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來(lái)的, ,符合符合c c語(yǔ)法規(guī)則的式子語(yǔ)法規(guī)則的式子例例: a*b+12-sin(x) /* 運(yùn)算對(duì)象包括常量運(yùn)算對(duì)象包括常量, 變量變量, 函數(shù)等函數(shù)等*/三、運(yùn)算符的優(yōu)先級(jí)和結(jié)合性三、運(yùn)算符的優(yōu)先級(jí)和結(jié)合性
14、1. 表達(dá)式求值時(shí)必須按優(yōu)先級(jí)的高低次序執(zhí)行表達(dá)式求值時(shí)必須按優(yōu)先級(jí)的高低次序執(zhí)行2. 結(jié)合性即結(jié)合性即運(yùn)算符的結(jié)合方向運(yùn)算符的結(jié)合方向, 分分2種種: 從左至右從左至右( 左結(jié)合性左結(jié)合性 ) , 從右至左從右至左( 右結(jié)合性右結(jié)合性 ) 四、自加、自減運(yùn)算符四、自加、自減運(yùn)算符(右結(jié)合性右結(jié)合性) 1. 后綴形式后綴形式 : 先使用先使用i的當(dāng)前值的當(dāng)前值, 再使再使i的值加的值加1(減減1)i+ 或或 i- - 2. 前綴形式前綴形式 : 先對(duì)先對(duì)i加加1(減減1), 再使用再使用i變化后的值變化后的值 +i 或或 - -i2.7 賦值運(yùn)算符和賦值表達(dá)式一、賦值運(yùn)算符一、賦值運(yùn)算符 =
15、二、復(fù)合的賦值運(yùn)算符二、復(fù)合的賦值運(yùn)算符 *= , /= , += , - = , 例例: x=x+1; x+=1; sum=sum+n; sum+=n; 注意注意 : 右邊表達(dá)式是一個(gè)整體右邊表達(dá)式是一個(gè)整體, 將自反賦值表達(dá)式寫(xiě)回將自反賦值表達(dá)式寫(xiě)回 一般的一般的 賦值表達(dá)式時(shí)賦值表達(dá)式時(shí), 應(yīng)加上括號(hào)避免出錯(cuò)應(yīng)加上括號(hào)避免出錯(cuò) 1. 計(jì)算方式計(jì)算方式: 先計(jì)算右邊表達(dá)式的值先計(jì)算右邊表達(dá)式的值, 再將此值與左邊的變量再將此值與左邊的變量 進(jìn)行運(yùn)算進(jìn)行運(yùn)算, 其結(jié)果存入左邊的變量中其結(jié)果存入左邊的變量中 2. 結(jié)合方向結(jié)合方向: 右結(jié)合性右結(jié)合性 例例: : a*=b+4; a=a*(b+
16、4); 判斷題:表達(dá)式x=x+y表示成復(fù)合賦值表達(dá)式為x+ = y。( )2.8 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 2. 一般形式一般形式 : 表達(dá)式表達(dá)式1 , 表達(dá)式表達(dá)式2 , 表達(dá)式表達(dá)式n ; 3. 執(zhí)行過(guò)程執(zhí)行過(guò)程 : 從左至右依次求解表達(dá)式從左至右依次求解表達(dá)式1, 表達(dá)式表達(dá)式2表達(dá)式表達(dá)式n 逗號(hào)表達(dá)式的值就是表達(dá)式逗號(hào)表達(dá)式的值就是表達(dá)式n 的值的值例例 i=1 , j=2 , k=3 ; i+ , j+4 , k-2 ; a=(a=6 , a*3 , a+3) ; 逗號(hào)表達(dá)式的值為逗號(hào)表達(dá)式的值為 3 逗號(hào)表達(dá)式的值為逗號(hào)表達(dá)式的值為 1 a的值為的值為9 1. 逗號(hào)運(yùn)算符(順序求
17、值運(yùn)算符)逗號(hào)運(yùn)算符(順序求值運(yùn)算符) , 逗號(hào)表達(dá)式逗號(hào)表達(dá)式 : 用逗號(hào)運(yùn)算符連接起來(lái)的表達(dá)式用逗號(hào)運(yùn)算符連接起來(lái)的表達(dá)式2.9 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 注意注意 : (1) 字符數(shù)據(jù)按其字符數(shù)據(jù)按其ASCII碼值進(jìn)行比較碼值進(jìn)行比較 (2) 應(yīng)避免應(yīng)避免2個(gè)實(shí)數(shù)作個(gè)實(shí)數(shù)作 = = 或或 != 的比較的比較 一、關(guān)系運(yùn)算符一、關(guān)系運(yùn)算符 = 278 是允許的是允許的 , 它相當(dāng)于它相當(dāng)于 (52)7)8 (4) 可以將關(guān)系表達(dá)式看成是一種整型表達(dá)式可以將關(guān)系表達(dá)式看成是一種整型表達(dá)式 判斷題:若x=5,y=10,則xy邏輯值為真。( X )判斷題:若x=5,y=10,則x! =y的邏輯值為
18、真。( )2.10 邏輯運(yùn)算符和邏輯表達(dá)式 一、一、 邏輯運(yùn)算符邏輯運(yùn)算符 ! & | 1. 3個(gè)運(yùn)算符的優(yōu)先級(jí)由高到低為個(gè)運(yùn)算符的優(yōu)先級(jí)由高到低為 ! & | 2. ! 的優(yōu)先級(jí)高于關(guān)系運(yùn)算的優(yōu)先級(jí)高于關(guān)系運(yùn)算, &和和 | 的優(yōu)先級(jí)的優(yōu)先級(jí) 低于關(guān)系運(yùn)算低于關(guān)系運(yùn)算 3. ! 是右結(jié)合性是右結(jié)合性, & 和和 | 是左結(jié)合性是左結(jié)合性 , 85&!2二、邏輯表達(dá)式二、邏輯表達(dá)式1.1.邏輯表達(dá)式的值應(yīng)該是邏輯表達(dá)式的值應(yīng)該是“邏輯真邏輯真”或或“邏輯假邏輯假”, 邏輯運(yùn)算的結(jié)果以數(shù)值邏輯運(yùn)算的結(jié)果以數(shù)值1代表代表“真真”, 以數(shù)值以數(shù)值0代表代表“假
19、假”; 進(jìn)行判斷時(shí)進(jìn)行判斷時(shí), 非零值代表非零值代表“真真”, 零值代表零值代表“假假”例例: : 表示表示 x -1,1x -1,1區(qū)間區(qū)間 應(yīng)寫(xiě)為應(yīng)寫(xiě)為: x=-1 & x=-1 & x=12.11 運(yùn)算符的優(yōu)先級(jí)選擇題:運(yùn)算符優(yōu)先級(jí)最高的是( B )。A. & B. C. + D./選擇題:運(yùn)算符優(yōu)先級(jí)最高的是( A )A.() B.= C. + D.專(zhuān)題三 流程控制語(yǔ)句3.1 C語(yǔ)句概述控制語(yǔ)句控制語(yǔ)句( 9( 9種種) : ) : 完成一定的控制功能完成一定的控制功能 if ( ) else if ( ) else 條件語(yǔ)句條件語(yǔ)句( ( 雙分支選擇語(yǔ)句雙分支
20、選擇語(yǔ)句) ) switch switch 多分支選擇語(yǔ)句多分支選擇語(yǔ)句 for ( ) for ( ) while ( ) while ( ) 循環(huán)語(yǔ)句循環(huán)語(yǔ)句 do while ( )do while ( ) continue continue 結(jié)束本次循環(huán)語(yǔ)句結(jié)束本次循環(huán)語(yǔ)句 break break 中止語(yǔ)句中止語(yǔ)句 gotogoto 轉(zhuǎn)向語(yǔ)句轉(zhuǎn)向語(yǔ)句 return return 從函數(shù)返回語(yǔ)句從函數(shù)返回語(yǔ)句 3.2格式輸入輸出函數(shù)一、一、 printf函數(shù)函數(shù) 格式格式: printf ( 格式控制格式控制, 輸出表列輸出表列 ) ; 如如: printf(“a=%dn” , a) ;
21、1. 格式控制格式控制: 用用“ ” 括起來(lái)的字符串括起來(lái)的字符串 , 包括如下兩個(gè)部分包括如下兩個(gè)部分 (1) 普通字符普通字符( 包括轉(zhuǎn)義字符包括轉(zhuǎn)義字符) : 需要原樣輸出的字符需要原樣輸出的字符 (2) 格式說(shuō)明格式說(shuō)明: 由由%和格式字符組成和格式字符組成 其作用是將輸出數(shù)據(jù)按指定的格式輸出其作用是將輸出數(shù)據(jù)按指定的格式輸出C語(yǔ)言沒(méi)有提供專(zhuān)門(mén)的輸入語(yǔ)言沒(méi)有提供專(zhuān)門(mén)的輸入/輸出語(yǔ)句,其輸入輸出操作是輸出語(yǔ)句,其輸入輸出操作是由函數(shù)實(shí)現(xiàn)的。由函數(shù)實(shí)現(xiàn)的。C語(yǔ)言提供的函數(shù)以庫(kù)的形式存在,這些庫(kù)語(yǔ)言提供的函數(shù)以庫(kù)的形式存在,這些庫(kù)函數(shù)定義在頭文件函數(shù)定義在頭文件stdio.h中。因此在程序中
22、如果用到輸入輸中。因此在程序中如果用到輸入輸出函數(shù),需在程序的頭部包含該頭文件。出函數(shù),需在程序的頭部包含該頭文件。#include#include “stdio.h”3.2格式輸入輸出函數(shù)2. 輸出列表輸出列表 : 輸出項(xiàng)可以是常量輸出項(xiàng)可以是常量, 變量變量, 表達(dá)式表達(dá)式C選擇題:在printf()函數(shù)調(diào)用的格式字符串中,每個(gè)格式符的先導(dǎo)字符為( B )。A. # B.% C. $ D.3.2格式輸入輸出函數(shù) 二、二、 scanf函數(shù)函數(shù) 格式格式: scanf ( 格式控制格式控制 , 變量地址表列變量地址表列 ) ; 1. 地址參數(shù)地址參數(shù) : 變量的地址可通過(guò)地址運(yùn)算符變量的地址可
23、通過(guò)地址運(yùn)算符“&”得到得到 例例 int x ; &x 將給出變量將給出變量x 所占內(nèi)存空間的首地址所占內(nèi)存空間的首地址 2. 格式控制格式控制 (1) 格式說(shuō)明格式說(shuō)明 % * m l l 格式字符格式字符 m 用以指定寬度讀入數(shù)據(jù)用以指定寬度讀入數(shù)據(jù) * : 表示跳過(guò)相應(yīng)位置的輸入數(shù)據(jù),不賦給對(duì)應(yīng)變量表示跳過(guò)相應(yīng)位置的輸入數(shù)據(jù),不賦給對(duì)應(yīng)變量如如 scanf(“%d %*c%d%*c%d”,&d, &m,&y) ; 3/14/2006 3.4 if語(yǔ)句(重點(diǎn)) 一、一、if 語(yǔ)句的兩種形式語(yǔ)句的兩種形式 1. 單分支形式單分支形式: if ( 表達(dá)
24、式表達(dá)式 ) 語(yǔ)句語(yǔ)句 2. 雙分支形式雙分支形式: if ( 表達(dá)式表達(dá)式 ) 語(yǔ)句語(yǔ)句1 else 語(yǔ)句語(yǔ)句2 執(zhí)行過(guò)程執(zhí)行過(guò)程: : 先計(jì)算表達(dá)式先計(jì)算表達(dá)式的值的值, 如果值為如果值為1, 就執(zhí)行其后的就執(zhí)行其后的 語(yǔ)句語(yǔ)句, 如果值為如果值為0, 就繼續(xù)向下執(zhí)行就繼續(xù)向下執(zhí)行.執(zhí)行過(guò)程執(zhí)行過(guò)程: : 先計(jì)算表達(dá)式的值先計(jì)算表達(dá)式的值, 如果值為如果值為1, 就執(zhí)行其后的就執(zhí)行其后的 語(yǔ)句語(yǔ)句1, 如果值為如果值為0, 就執(zhí)行就執(zhí)行else后的語(yǔ)句后的語(yǔ)句2說(shuō)明說(shuō)明: 1. 語(yǔ)句可以是簡(jiǎn)單語(yǔ)句或復(fù)合語(yǔ)句語(yǔ)句可以是簡(jiǎn)單語(yǔ)句或復(fù)合語(yǔ)句 2. 表達(dá)式一般為邏輯或關(guān)系表達(dá)式表達(dá)式一般為邏輯或關(guān)
25、系表達(dá)式, 且應(yīng)用且應(yīng)用( )括起來(lái)括起來(lái) 語(yǔ)句語(yǔ)句1 語(yǔ)句語(yǔ)句2成立成立不成立不成立P語(yǔ)句語(yǔ)句成立成立P3.4 if語(yǔ)句程序填空題:執(zhí)行下面程序的輸出結(jié)果為( ab )。# includevoid main() int a=25,b=18; if(ab) printf(%sn, ab); if(a=b) printf(%sn,a=b); if(ab) printf(%sn, ab);3.4 if語(yǔ)句程序填空題:執(zhí)行下面程序的輸出結(jié)果為( 15 )。# includevoid main() int a=5,b=8,c=6,d=15,x,y;if(a = b) x=a; else x=b;if(
26、c = d) y=c; else y=d;if(x = y) printf( %dn ,x)else printf( %dn ,y)3.6 循環(huán)控制(重點(diǎn))1.概述2. while語(yǔ)句語(yǔ)句3. do-while語(yǔ)句語(yǔ)句4. for語(yǔ)句語(yǔ)句5. 循環(huán)的嵌套6. break語(yǔ)句和continue語(yǔ)句3.6.2 while語(yǔ)句2. 執(zhí)行過(guò)程執(zhí)行過(guò)程 : 先計(jì)算表達(dá)式的值先計(jì)算表達(dá)式的值, 值為真值為真(非零非零)時(shí)執(zhí)行循環(huán)體時(shí)執(zhí)行循環(huán)體, 值為假時(shí)結(jié)束循環(huán)值為假時(shí)結(jié)束循環(huán) 1. 格式格式 : while (表達(dá)式表達(dá)式) 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句3. 注意注意 :(1) 表達(dá)式必須用表達(dá)式必須用( )
27、括起來(lái)括起來(lái)(2) 循環(huán)體語(yǔ)句為復(fù)合語(yǔ)句時(shí)循環(huán)體語(yǔ)句為復(fù)合語(yǔ)句時(shí), 必須用必須用 把它們括起來(lái)把它們括起來(lái)(3) 循環(huán)體語(yǔ)句中必須有使循環(huán)趨向結(jié)束的語(yǔ)句循環(huán)體語(yǔ)句中必須有使循環(huán)趨向結(jié)束的語(yǔ)句 A當(dāng)當(dāng)P成立成立AP成立成立不成立不成立程序填空題:執(zhí)行下面程序的輸出結(jié)果為( y=25 )。# includevoid main() int n=1 ,y=0; while(nlO) (y+=n; n+=2; printf(y= %dn ,y);3.6.3 do-while語(yǔ)句不成立不成立AP成立成立 當(dāng)當(dāng)P成立成立 A 1. 格式格式 : do 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句 while (表達(dá)式表達(dá)式) ;2
28、. 執(zhí)行過(guò)程執(zhí)行過(guò)程 : 先執(zhí)行循環(huán)體先執(zhí)行循環(huán)體, 然后計(jì)算表達(dá)式的值然后計(jì)算表達(dá)式的值, 若值為真則重復(fù)執(zhí)行循環(huán)體若值為真則重復(fù)執(zhí)行循環(huán)體, 若值為假則結(jié)束循環(huán)若值為假則結(jié)束循環(huán)3. 注意注意 :(1) 表達(dá)式必須用表達(dá)式必須用( ) 括起來(lái)括起來(lái)(2) 循環(huán)體語(yǔ)句為多條語(yǔ)句時(shí)循環(huán)體語(yǔ)句為多條語(yǔ)句時(shí), 必須用必須用 把它們括起來(lái)把它們括起來(lái)(3) 循環(huán)體語(yǔ)句中必須有使循環(huán)趨向結(jié)束的語(yǔ)句循環(huán)體語(yǔ)句中必須有使循環(huán)趨向結(jié)束的語(yǔ)句 C123.6.4 for語(yǔ)句(重點(diǎn))1. 格式格式 : for (表達(dá)式表達(dá)式1 ; 表達(dá)式表達(dá)式2 ; 表達(dá)式表達(dá)式3) 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句2. 執(zhí)行過(guò)程執(zhí)行過(guò)程:
29、 (1) 計(jì)算表達(dá)式計(jì)算表達(dá)式1 (2) 計(jì)算表達(dá)式計(jì)算表達(dá)式2, 若值為真則執(zhí)行循環(huán)體若值為真則執(zhí)行循環(huán)體, 再執(zhí)行第再執(zhí)行第(3)步步; 若值為假則結(jié)束循環(huán)若值為假則結(jié)束循環(huán) (3) 計(jì)算表達(dá)式計(jì)算表達(dá)式3, 再重復(fù)執(zhí)行第再重復(fù)執(zhí)行第(2)步步sum=0; i=1;while ( i=100 ) sum=sum+i ; i+ ; sum=0;for( i=1 ; i=100 ; i+) sum=sum+i ;例例 : 將將1100求和的求和的while循環(huán)轉(zhuǎn)換為用循環(huán)轉(zhuǎn)換為用for循環(huán)實(shí)現(xiàn)循環(huán)實(shí)現(xiàn)3.6.4 for語(yǔ)句1. 格式格式 : for (表達(dá)式表達(dá)式1 ; 表達(dá)式表達(dá)式2 ; 表
30、達(dá)式表達(dá)式3) 循環(huán)體語(yǔ)句循環(huán)體語(yǔ)句2. 執(zhí)行過(guò)程執(zhí)行過(guò)程: (1) 計(jì)算表達(dá)式計(jì)算表達(dá)式1 (2) 計(jì)算表達(dá)式計(jì)算表達(dá)式2, 若值為真則執(zhí)行循環(huán)體若值為真則執(zhí)行循環(huán)體, 再執(zhí)行第再執(zhí)行第(3)步步; 若值為假則結(jié)束循環(huán)若值為假則結(jié)束循環(huán) (3) 計(jì)算表達(dá)式計(jì)算表達(dá)式3, 再重復(fù)執(zhí)行第再重復(fù)執(zhí)行第(2)步步sum=0; i=1;while ( i=100 ) sum=sum+i ; i+ ; sum=0;for( i=1 ; i=100 ; i+) sum=sum+i ;例例 : 將將1100求和的求和的while循環(huán)轉(zhuǎn)換為用循環(huán)轉(zhuǎn)換為用for循環(huán)實(shí)現(xiàn)循環(huán)實(shí)現(xiàn)3.6.4 for語(yǔ)句選擇題:在循
31、環(huán)語(yǔ)句“for(i=l; i10; i+=2) S;”中,循環(huán)體S被執(zhí)行的次數(shù)為( D )。A.10 B.6 C.4 D.5選擇題:在循環(huán)語(yǔ)句“for(i=0; in; i+ + ) S;”中,循環(huán)體S被執(zhí)行的次數(shù)為( C )。A. 1 B. n-1 C. n D. n+13.6.4 for語(yǔ)句程序填空題:執(zhí)行下面程序的輸出結(jié)果為( f2=81 )。#Includevoid main() int i,fl=l,f2;for(i=2;i6;i+ ) f2 = 3 * fl;fl = f2;printf(f2=%dn”,f2);3.6.4 for語(yǔ)句553.6.5 循環(huán)的嵌套1. 循環(huán)的嵌套循環(huán)的
32、嵌套: 一個(gè)循環(huán)體內(nèi)包含另一個(gè)完整的循環(huán)結(jié)構(gòu)一個(gè)循環(huán)體內(nèi)包含另一個(gè)完整的循環(huán)結(jié)構(gòu)2. 按循環(huán)嵌套的層數(shù)分別稱(chēng)為二重循環(huán)按循環(huán)嵌套的層數(shù)分別稱(chēng)為二重循環(huán), , 三重循環(huán)三重循環(huán)3. C語(yǔ)言中語(yǔ)言中while, dowhile, for循環(huán)可以互相嵌套循環(huán)可以互相嵌套3.6.5 循環(huán)的嵌套程序填空題:執(zhí)行下面程序的輸岀結(jié)果為( s=34 )。# includevoid main() int a33 = 3,2,6,5,4,2,l,5,6; int i,j ,s=0; for(i = 0;i3;i+ + )for(j=0;j3;j+ ) s+=aij; printf(s= %dn ,s);專(zhuān)題四 數(shù)
33、組(重點(diǎn))數(shù)組的概念數(shù)組的概念1.1.數(shù)組數(shù)組: :由具有相同類(lèi)型的由具有相同類(lèi)型的 固定數(shù)量的元素組成的結(jié)構(gòu)固定數(shù)量的元素組成的結(jié)構(gòu)2.2.數(shù)組元素?cái)?shù)組元素: :每一個(gè)數(shù)組元素每一個(gè)數(shù)組元素 都是一個(gè)變量都是一個(gè)變量, ,為了與一般為了與一般 的變量相區(qū)別的變量相區(qū)別, ,我們稱(chēng)數(shù)組我們稱(chēng)數(shù)組 元素為元素為下標(biāo)變量下標(biāo)變量3.3.下標(biāo)變量在數(shù)組中的位置下標(biāo)變量在數(shù)組中的位置 序號(hào)稱(chēng)序號(hào)稱(chēng)下標(biāo)下標(biāo) 下標(biāo)變量的數(shù)據(jù)類(lèi)型稱(chēng)為下標(biāo)變量的數(shù)據(jù)類(lèi)型稱(chēng)為 下標(biāo)類(lèi)型下標(biāo)類(lèi)型( (或元素類(lèi)型或元素類(lèi)型) )4.1 一維數(shù)組的定義和引用一維數(shù)組的定義和引用4.2 二維數(shù)組的定義和引用二維數(shù)組的定義和引用4.3
34、字符數(shù)組字符數(shù)組 4.1一維數(shù)組的定義和引用 一、一、 一維數(shù)組的定義一維數(shù)組的定義 1. 格式格式 : 數(shù)據(jù)類(lèi)型符數(shù)據(jù)類(lèi)型符 數(shù)組名數(shù)組名 整型常量表達(dá)式整型常量表達(dá)式 ; 例例: int a10 ; 2. 說(shuō)明說(shuō)明 (1) 數(shù)組名數(shù)組名是用戶(hù)定義的標(biāo)識(shí)符是用戶(hù)定義的標(biāo)識(shí)符, 數(shù)組名表示了一個(gè)存儲(chǔ)區(qū)的首地址數(shù)組名表示了一個(gè)存儲(chǔ)區(qū)的首地址 (即第一個(gè)數(shù)組元素的地址即第一個(gè)數(shù)組元素的地址) (2) 數(shù)組長(zhǎng)度數(shù)組長(zhǎng)度 : 指數(shù)組中元素的個(gè)數(shù)指數(shù)組中元素的個(gè)數(shù) (3) 數(shù)組元素的下標(biāo)數(shù)組元素的下標(biāo)由零開(kāi)始由零開(kāi)始 數(shù)組數(shù)組a 有有10個(gè)元素個(gè)元素: a0 , a1 a9 (4) 整型常量表達(dá)式整型常
35、量表達(dá)式中不能包含變量中不能包含變量, 不能是實(shí)數(shù)不能是實(shí)數(shù) 84 : 66 80 95101010121014 :1028a0a1a2 :a94.1一維數(shù)組的定義和引用B 選擇題:假定有一個(gè)元素類(lèi)型為int的數(shù)組a10,它所占用的存儲(chǔ)空間的字節(jié)數(shù)為( A )。A. 40 B. 20 C. 10 D. 80 判斷題:在一維數(shù)組的定義語(yǔ)句中,數(shù)組名后帶有一對(duì)中括號(hào)。( )二、二、 數(shù)組元素的引用數(shù)組元素的引用 1. 引用形式引用形式 : 數(shù)組名數(shù)組名 下標(biāo)下標(biāo) 84 75 66 80 9510101012101410161018a0a1a2a3a42. 說(shuō)明說(shuō)明(1) 下標(biāo)可以是整型常量或整型表
36、達(dá)式下標(biāo)可以是整型常量或整型表達(dá)式 如如: a1 , a2*3(2) 數(shù)組定義為數(shù)組定義為 int a5 , 數(shù)組長(zhǎng)度為數(shù)組長(zhǎng)度為5 而下標(biāo)在而下標(biāo)在0 - 4之內(nèi)之內(nèi), 即即a0 - a4三、三、 一維數(shù)組的初始化一維數(shù)組的初始化1. 概念概念 : 在定義一維數(shù)組時(shí)對(duì)各元素指定初始值稱(chēng)為在定義一維數(shù)組時(shí)對(duì)各元素指定初始值稱(chēng)為 數(shù)組的初始化數(shù)組的初始化 如如: int a5 = 1 , 3 , 5 , 7 , 9 ;2. 說(shuō)明說(shuō)明 (1) 對(duì)數(shù)組的全體元素指定初值對(duì)數(shù)組的全體元素指定初值, 初值用初值用 括起來(lái)括起來(lái), 數(shù)據(jù)數(shù)據(jù) 之間用逗號(hào)分開(kāi)之間用逗號(hào)分開(kāi). 在這種情況下在這種情況下, 可以
37、不指明數(shù)組的可以不指明數(shù)組的 長(zhǎng)度長(zhǎng)度, 系統(tǒng)會(huì)根據(jù)系統(tǒng)會(huì)根據(jù) 內(nèi)數(shù)據(jù)的個(gè)數(shù)確定數(shù)組的長(zhǎng)度內(nèi)數(shù)據(jù)的個(gè)數(shù)確定數(shù)組的長(zhǎng)度 如如 : int a = 1 , 3 , 5 , 7 , 9 ;(2) 對(duì)數(shù)組中部分元素指定初值對(duì)數(shù)組中部分元素指定初值 ( 這時(shí)不能省略數(shù)組長(zhǎng)度這時(shí)不能省略數(shù)組長(zhǎng)度 ) 如如 : int a5 = 1 , 3 , 5 ; (3) 使數(shù)組中的全部元素初始值都為使數(shù)組中的全部元素初始值都為 0 如如: int a5 = 0 , 0 , 0 , 0 , 0 ;更簡(jiǎn)單的寫(xiě)法更簡(jiǎn)單的寫(xiě)法: int a5= 0 ;選擇題:假定有一個(gè)定義語(yǔ)句為“int a10=3,4,2,8,6;”,則元
38、素a5的值為( A )。 A.0 B.2 C.8 D.6程序填空題:執(zhí)行下面程序的輸出結(jié)果為( 47 )。# Include# define N 8void main() int aN =(3,5,8,10,15,20,32,66);int i, x;for(i=0; iN/2; i+ ) x=ai; ai = aN-1-i; aN-1-i = x;printf( %dn ,al+a3);程序填空題程序填空題:執(zhí)行下面程序的輸岀結(jié)果:執(zhí)行下面程序的輸岀結(jié)果為為( s=20 )。#includevoid main() int a8= 3,8,6,5,9,2,8,5;int i,s = 0;for
39、(i=0;ivoid main() int a10,i; /用用i作為循環(huán)變量作為循環(huán)變量 printf(從鍵盤(pán)輸入從鍵盤(pán)輸入10個(gè)整數(shù):個(gè)整數(shù):n);); /向下補(bǔ)充程序內(nèi)容,用兩個(gè)向下補(bǔ)充程序內(nèi)容,用兩個(gè)for循環(huán)實(shí)現(xiàn)循環(huán)實(shí)現(xiàn) for(i=0;i=0; i-) printf(%d,&ai);printf(n););4.2 二維數(shù)組的定義和使用 一、一、 二維數(shù)組的定義二維數(shù)組的定義 1. 概念概念 : 一個(gè)一維數(shù)組一個(gè)一維數(shù)組, 它的每一個(gè)元素都是類(lèi)型相同它的每一個(gè)元素都是類(lèi)型相同 的一維數(shù)組的一維數(shù)組, 就形成一個(gè)二維數(shù)組就形成一個(gè)二維數(shù)組 2. 定義形式定義形式 : 類(lèi)型數(shù)據(jù)符
40、類(lèi)型數(shù)據(jù)符 數(shù)組名數(shù)組名 常量表達(dá)式常量表達(dá)式1 常量表達(dá)式常量表達(dá)式2 如如: int a34 ; a0a1a2a00a01a02 a034.2 二維數(shù)組的定義和使用B 選擇題:假定二維數(shù)組的定義語(yǔ)句為“char aMN;”則該數(shù)組所含元素的個(gè)數(shù)為( D )。A. (M-l)*(N-l) B. M*N-l C. M*N+l D. M*N4.2 二維數(shù)組的定義和使用 3. 存儲(chǔ)形式存儲(chǔ)形式 : 數(shù)組的元素在內(nèi)存中是連續(xù)數(shù)組的元素在內(nèi)存中是連續(xù)存放的存放的 int a33 ; 的存放形式如下的存放形式如下 : a00a01a02a10a11a12a20a21a221010101210141016
41、10181020102210241026 二、二、 二維數(shù)組的引用二維數(shù)組的引用 數(shù)組元素的表示形式數(shù)組元素的表示形式 : 數(shù)組名數(shù)組名 下標(biāo)下標(biāo) 下標(biāo)下標(biāo) 注意注意 : (1) 每個(gè)下標(biāo)都要用每個(gè)下標(biāo)都要用 括起來(lái)括起來(lái) 如如 a 2 1 不能寫(xiě)成不能寫(xiě)成 a 2,1 (2) 下標(biāo)不要超過(guò)定義的范圍下標(biāo)不要超過(guò)定義的范圍4.2 二維數(shù)組的定義和使用 三、三、 二維數(shù)組的初始化二維數(shù)組的初始化 1. 分行初始化分行初始化 int a34= 1, 2, 3, 4 , 5, 6, 7, 8 , 9, 10, 11, 12 ; 此方法較直觀此方法較直觀, 第一對(duì)第一對(duì) 內(nèi)的數(shù)據(jù)賦給內(nèi)的數(shù)據(jù)賦給 第一
42、行數(shù)組元素第一行數(shù)組元素, 以此類(lèi)推以此類(lèi)推 2. 按數(shù)據(jù)的排列順序?qū)?shù)組元素賦初值按數(shù)據(jù)的排列順序?qū)?shù)組元素賦初值 int a34= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 將數(shù)據(jù)依次賦給元素將數(shù)據(jù)依次賦給元素 a00 , a01 a23 12345678910 11 12注意注意: 此方法數(shù)據(jù)沒(méi)有明顯的界限此方法數(shù)據(jù)沒(méi)有明顯的界限, 當(dāng)數(shù)據(jù)較多時(shí)容易出錯(cuò)當(dāng)數(shù)據(jù)較多時(shí)容易出錯(cuò)判斷題:在二維數(shù)組的定義語(yǔ)句中,不能給數(shù)組中每個(gè)元素賦初值。( X )程序填空題:執(zhí)行下面程序的輸岀結(jié)果為程序填空題:執(zhí)行下面程序的輸岀結(jié)果為( s=34 )。# includevoi
43、d main() int a33 = 3,2,6,5,4,2,l,5,6; int i,j ,s=0; for(i = 0;i3;i+ + )for(j=0;j3;j+ ) s+=aij; printf(s= %dn ,s);程序填空題:執(zhí)程序填空題:執(zhí)行下面程序的輸出結(jié)果為(行下面程序的輸出結(jié)果為( 8 )#include void main()int a33= 13,18,16, 15,19,12, 8,15,22; int i,j,x=a00; for ( i=0 ; i3 ; i+) for ( j=0 ; i3 ; j+) if (aij y ? x : y ; return( z
44、) ; (4) 函數(shù)體函數(shù)體 : 由變量聲明和語(yǔ)句組成由變量聲明和語(yǔ)句組成 函數(shù)體內(nèi)定義的變量是局部量函數(shù)體內(nèi)定義的變量是局部量, 只在執(zhí)行該函數(shù)時(shí)存在只在執(zhí)行該函數(shù)時(shí)存在 函數(shù)體可以為空函數(shù)體可以為空(即存在空函數(shù)即存在空函數(shù)) void f (void) 6.2 函數(shù)參數(shù)和函數(shù)的值一、形式參數(shù)和實(shí)際參數(shù)一、形式參數(shù)和實(shí)際參數(shù)1. 形式參數(shù)形式參數(shù) : 在在定義函數(shù)定義函數(shù)時(shí)寫(xiě)在函數(shù)名后面的括號(hào)內(nèi)的變量時(shí)寫(xiě)在函數(shù)名后面的括號(hào)內(nèi)的變量2. 實(shí)際參數(shù)實(shí)際參數(shù) : 在在調(diào)用函數(shù)調(diào)用函數(shù)時(shí)寫(xiě)在函數(shù)名后面的括號(hào)內(nèi)的變量時(shí)寫(xiě)在函數(shù)名后面的括號(hào)內(nèi)的變量3. 說(shuō)明說(shuō)明(1) 程序在編譯時(shí)不為形參分配存儲(chǔ)空間
45、程序在編譯時(shí)不為形參分配存儲(chǔ)空間, 只有當(dāng)函數(shù)只有當(dāng)函數(shù) 被調(diào)用時(shí)被調(diào)用時(shí), 形參被分配存儲(chǔ)空間形參被分配存儲(chǔ)空間, 在調(diào)用結(jié)束后在調(diào)用結(jié)束后, 形參形參 所占的空間被釋放所占的空間被釋放(2) 實(shí)參可以是常量實(shí)參可以是常量, 變量或表達(dá)式變量或表達(dá)式(3) 實(shí)參和形參的類(lèi)型應(yīng)相同或賦值相容實(shí)參和形參的類(lèi)型應(yīng)相同或賦值相容(4) 實(shí)參對(duì)形參的數(shù)據(jù)傳遞是實(shí)參對(duì)形參的數(shù)據(jù)傳遞是“值傳遞值傳遞”, 即即單向單向傳遞傳遞6.2 函數(shù)參數(shù)和函數(shù)的值判斷題:函數(shù)定義格式中的參數(shù)表被稱(chēng)為實(shí)參表。( X )6.2 函數(shù)參數(shù)和函數(shù)的值二、二、 函數(shù)的返回函數(shù)的返回值值1. 函數(shù)的返回值通過(guò)函數(shù)中函數(shù)的返回值通過(guò)
46、函數(shù)中return語(yǔ)句語(yǔ)句獲得獲得 return語(yǔ)句的作用語(yǔ)句的作用: 使流程返回主調(diào)函數(shù)使流程返回主調(diào)函數(shù) ; 將函數(shù)值送回到調(diào)用表達(dá)式中將函數(shù)值送回到調(diào)用表達(dá)式中2. 函數(shù)類(lèi)型決定函數(shù)返回值的類(lèi)型函數(shù)類(lèi)型決定函數(shù)返回值的類(lèi)型 一般函數(shù)值的類(lèi)型和一般函數(shù)值的類(lèi)型和return語(yǔ)句中表達(dá)式的類(lèi)型應(yīng)一致語(yǔ)句中表達(dá)式的類(lèi)型應(yīng)一致 如果二者不一致如果二者不一致, 則以函數(shù)值的類(lèi)型為準(zhǔn)則以函數(shù)值的類(lèi)型為準(zhǔn)3. 有的函數(shù)中沒(méi)有有的函數(shù)中沒(méi)有return語(yǔ)句語(yǔ)句, 因?yàn)樗恍枰獛Щ刂狄驗(yàn)樗恍枰獛Щ刂? 這時(shí)這時(shí) 可以將函數(shù)類(lèi)型定義為可以將函數(shù)類(lèi)型定義為 void 型型void list(void) pr
47、intf(“*n”); 6.3 函數(shù)的調(diào)用一、函數(shù)調(diào)用一、函數(shù)調(diào)用1. 一般形式一般形式 : 函數(shù)名函數(shù)名( 實(shí)參表列實(shí)參表列 ) ;2. 說(shuō)明說(shuō)明(1) 實(shí)參表列可以包含多個(gè)實(shí)參實(shí)參表列可以包含多個(gè)實(shí)參, 各個(gè)實(shí)參之間用逗號(hào)分隔各個(gè)實(shí)參之間用逗號(hào)分隔(2) 實(shí)參與形參的個(gè)數(shù)應(yīng)相等實(shí)參與形參的個(gè)數(shù)應(yīng)相等, 類(lèi)型一致類(lèi)型一致, 順序要一一對(duì)應(yīng)順序要一一對(duì)應(yīng)(3) 調(diào)用無(wú)參函數(shù)時(shí)格式為調(diào)用無(wú)參函數(shù)時(shí)格式為 : 函數(shù)名函數(shù)名( ) 注意注意( )不能省略不能省略(4) TC中按從右至左的順序?qū)?shí)參求值中按從右至左的順序?qū)?shí)參求值3. 函數(shù)調(diào)用的方式函數(shù)調(diào)用的方式(1) 函數(shù)語(yǔ)句函數(shù)語(yǔ)句 printf
48、(“hello!”) ;(2) 函數(shù)表達(dá)式函數(shù)表達(dá)式 c = 2 * max( a , b ) ;(3) 函數(shù)參數(shù)函數(shù)參數(shù) m = max ( c , max ( a , b ) ) ; 4. 函數(shù)調(diào)用過(guò)程函數(shù)調(diào)用過(guò)程 : (1) 形參與實(shí)參各自占有一個(gè)獨(dú)立的存儲(chǔ)空間形參與實(shí)參各自占有一個(gè)獨(dú)立的存儲(chǔ)空間 (2) 形參的存儲(chǔ)空間在函數(shù)被調(diào)用時(shí)才分配形參的存儲(chǔ)空間在函數(shù)被調(diào)用時(shí)才分配 (3) 函數(shù)返回時(shí)函數(shù)返回時(shí), 形參占據(jù)的臨時(shí)存儲(chǔ)區(qū)被撤消形參占據(jù)的臨時(shí)存儲(chǔ)區(qū)被撤消 特點(diǎn)特點(diǎn) : 函數(shù)中對(duì)形參變量的操作不會(huì)影響到實(shí)參函數(shù)中對(duì)形參變量的操作不會(huì)影響到實(shí)參 #include int f (int x
49、 , int y) x = x+2 ; y = y*2 ; return( x+y ) ;void main ( ) int a , b , c ; scanf(“%d%d” , &a , &b) ; c = f(a , b) ; printf(“%dn” , c) ; 假設(shè)輸入為假設(shè)輸入為: 3 5main函數(shù)函數(shù)f 函數(shù)函數(shù)abcxy353551015選擇題:假定一個(gè)函數(shù)的原型語(yǔ)句為“intff(int* x);”,一個(gè)整型數(shù)組為a10,則下面函數(shù)調(diào)用表達(dá)式不正確的( B )。A. ff(a) B. ff(a0) C. ff(a+3) D. ff(&a0) 選擇題:
50、假定一個(gè)函數(shù)原型語(yǔ)句為“intfl(int a,int n);”,與數(shù)組參數(shù)等價(jià)的表示為( D )。A. int *a B. int a C. int &a D. int *a二、函數(shù)聲明二、函數(shù)聲明 1. 在調(diào)用函數(shù)前在調(diào)用函數(shù)前, 一般要對(duì)函數(shù)事先作出聲明一般要對(duì)函數(shù)事先作出聲明 聲明有利于編譯系統(tǒng)對(duì)函數(shù)調(diào)用的合法性進(jìn)行檢查聲明有利于編譯系統(tǒng)對(duì)函數(shù)調(diào)用的合法性進(jìn)行檢查2. 聲明格式聲明格式 : 函數(shù)類(lèi)型函數(shù)類(lèi)型 函數(shù)名函數(shù)名 ( 形參表形參表 ) ;3. 注意事項(xiàng)注意事項(xiàng): (1) 函數(shù)聲明末尾要加分號(hào)函數(shù)聲明末尾要加分號(hào) (2) 形參表中可以只寫(xiě)數(shù)據(jù)類(lèi)型形參表中可以只寫(xiě)數(shù)據(jù)類(lèi)型
51、如如 int f ( int , float ) ; (3) 形參的先后次序不能寫(xiě)錯(cuò)形參的先后次序不能寫(xiě)錯(cuò) (4) 當(dāng)被調(diào)用的函數(shù)定義寫(xiě)在主調(diào)函數(shù)當(dāng)被調(diào)用的函數(shù)定義寫(xiě)在主調(diào)函數(shù) 之前時(shí)之前時(shí), 允許省略函數(shù)聲明允許省略函數(shù)聲明 (5) 建議將程序中用到的函數(shù)都在程序的前面加以聲明建議將程序中用到的函數(shù)都在程序的前面加以聲明C程序的一般格式程序的一般格式:# 命令命令函數(shù)聲明函數(shù)聲明main函數(shù)的定義函數(shù)的定義其他函數(shù)的定義其他函數(shù)的定義B#include void main ( ) int f (int x , int y); int a , b , c ; scanf(“% %d% %d”,
52、 &a, &b) ; c = f(a , b) ; printf(“% %dn” , c) ; int f (int x , int y) x = x+2 ; y = y*2 ; return( x+y ) ;#include int f (int x , int y);void main ( ) int a , b , c ; scanf(“% %d% %d”, &a, &b); c = f(a , b) ; printf(“% %dn” , c) ; int f (int x , int y) x = x+2 ; y = y*2 ; return( x+y
53、) ;4. 聲明的位置聲明的位置 : (1) 在在main 函數(shù)中聲明函數(shù)中聲明 (2) 所有函數(shù)進(jìn)行外部聲明所有函數(shù)進(jìn)行外部聲明函數(shù)聲明函數(shù)聲明函數(shù)聲明函數(shù)聲明函數(shù)定義函數(shù)定義函數(shù)定義函數(shù)定義專(zhuān)題七 結(jié)構(gòu)體7.1定義結(jié)構(gòu)體變量的方法一、一、 定義結(jié)構(gòu)體變量定義結(jié)構(gòu)體變量1. 先定義結(jié)構(gòu)體類(lèi)型先定義結(jié)構(gòu)體類(lèi)型, 再定義變量再定義變量 struct student char name10 ; int age ; float s1 , s2 ; ; struct student st1 , st2 ;st1st2nameages1s2nameages1s2結(jié)構(gòu)體變量結(jié)構(gòu)體變量st1和和st2各自都
54、各自都需要需要20個(gè)字節(jié)的存儲(chǔ)空間個(gè)字節(jié)的存儲(chǔ)空間7.1定義結(jié)構(gòu)體變量的方法2. 定義結(jié)構(gòu)體類(lèi)型同時(shí)定義變量定義結(jié)構(gòu)體類(lèi)型同時(shí)定義變量 struct student char name10 ; int age ; float s1 , s2 ; st1 , st2 ;3. 直接定義結(jié)構(gòu)體變量直接定義結(jié)構(gòu)體變量 struct char name10 ; int age ; float s1 , s2 ; st1 , st2 ;判斷題:在同一個(gè)結(jié)構(gòu)類(lèi)型的定義中,各數(shù)據(jù)成員名必須不同。( )判斷題:定義結(jié)構(gòu)類(lèi)型的變量時(shí),能夠同時(shí)進(jìn)行初始化。( )7.2 結(jié)構(gòu)體變量的初始化struct student
55、 char name10 ; int age ; float score1 , score2 ; st1=“ Mary”, 21, 78, 86 ;struct stud char name10 ; struct date birthday ; float score1 , score2 ; ;struct stud st2= “John” , 1980 , 11 , 23 , 89 , 95 ;struct student char name10 ; int age ; float score1 , score2 ; ;struct student st3; st3=“ Mary”, 21,
56、 78, 86 ;這是初始化這是初始化, 正確正確錯(cuò)誤錯(cuò)誤, C不允許不允許這樣賦值這樣賦值7.3 結(jié)構(gòu)體變量的引用1. 引用結(jié)構(gòu)體變量中的成員引用結(jié)構(gòu)體變量中的成員 格式格式: 結(jié)構(gòu)體變量名結(jié)構(gòu)體變量名. 成員名成員名struct student char name10 ; int age ; float s1 , s2 ; ;注意注意: 一般是對(duì)結(jié)構(gòu)體變量的各個(gè)成員分別進(jìn)行賦值一般是對(duì)結(jié)構(gòu)體變量的各個(gè)成員分別進(jìn)行賦值st1 = “Mary”, 21 , 78 , 86 ; 這樣的賦值是不允許的這樣的賦值是不允許的struct student st1 ;st1. name = “Mary”
57、; st1. age = 21 ;st1. s1 = 78 ; st1. s2 = 86 ; 7.3 結(jié)構(gòu)體變量的引用選擇題:與結(jié)構(gòu)成員訪問(wèn)表達(dá)式p-name等價(jià)的表達(dá)式為( B )。A. B. (* p).name C. * D. * (p-name)專(zhuān)題八 文件8.1文件的打開(kāi)與關(guān)閉根據(jù)數(shù)據(jù)的組織形式把根據(jù)數(shù)據(jù)的組織形式把文件分為文件分為兩類(lèi)兩類(lèi): 文本文件和二進(jìn)制文件文本文件和二進(jìn)制文件.一、一、 文件的打開(kāi)文件的打開(kāi)1. fopen函數(shù)函數(shù) 格式格式: fopen ( 文件名文件名 , 文件使用方式文件使用方式 ) ; fopen函數(shù)有返回值函數(shù)有返回值, 返回值是一個(gè)地址返回值是一個(gè)地址 , 即被打開(kāi)文件即被打開(kāi)文件 的的“文件信息區(qū)文件信息區(qū)”的起始地址的起始地址 , 使用時(shí)應(yīng)將返回值賦給一使用時(shí)應(yīng)將返回值賦給一個(gè)個(gè) 文件指針變量文件指針變量 需要打開(kāi)的文件名需要打開(kāi)的文件名使用文件的方式使用文件的方式(讀或?qū)懽x或?qū)?讓哪個(gè)指針變量指向被打開(kāi)的文件讓哪個(gè)指針變量指向被打開(kāi)的文件例例 FILE *fp ; fp = f
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年西安從業(yè)資格證模擬考試題貨運(yùn)考題
- 2025年四平貨車(chē)叢業(yè)資格證考試題
- 2024年技術(shù)開(kāi)發(fā)合同
- 《轉(zhuǎn)動(dòng)的摩天輪》幼兒園小學(xué)少兒美術(shù)教育繪畫(huà)課件創(chuàng)意教程教案
- 班會(huì)學(xué)生發(fā)言稿
- 2024-2025學(xué)年天津市部分區(qū)高一上學(xué)期期末考試地理試題(解析版)
- 《先秦諸子思想比較:大一語(yǔ)文古代文學(xué)教案》
- 2025年濮陽(yáng)道路貨運(yùn)駕駛員從業(yè)資格證考試
- 走進(jìn)乘機(jī)服務(wù)課堂知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春山東外貿(mào)職業(yè)學(xué)院
- hAChE-hBuChE-IN-1-生命科學(xué)試劑-MCE
- 金嗓子喉片行業(yè)分析
- 電導(dǎo)率對(duì)應(yīng)鹽水濃度表
- OCT基礎(chǔ)知識(shí)課件
- 起重機(jī)械培訓(xùn)
- 大模型在教育科技中的應(yīng)用
- 醫(yī)療保險(xiǎn)異地就醫(yī)登記備案表
- 烹飪概論教學(xué)大綱
- 單招考試沖刺攻略高效備考提高復(fù)習(xí)效果
- 《雇主責(zé)任險(xiǎn)》課件
- 煙花爆竹經(jīng)營(yíng)安全培訓(xùn)課件
- 腦梗合并心衰護(hù)理查房
評(píng)論
0/150
提交評(píng)論