c程課件goover重點(diǎn)數(shù)組、函數(shù)指針_第1頁(yè)
c程課件goover重點(diǎn)數(shù)組、函數(shù)指針_第2頁(yè)
c程課件goover重點(diǎn)數(shù)組、函數(shù)指針_第3頁(yè)
c程課件goover重點(diǎn)數(shù)組、函數(shù)指針_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(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):數(shù)組、函數(shù)、指針基本數(shù)據(jù)類(lèi)型、運(yùn)算符、表達(dá)式數(shù)據(jù) I/O :標(biāo)準(zhǔn) I/O 函數(shù)及使用標(biāo)準(zhǔn)的 I/O 函數(shù)及使用IF 語(yǔ)句的三種形式if(表達(dá)式)語(yǔ)句序列;(表達(dá)式 1 )語(yǔ)句序列 1;prf()scanf()格式控制符分隔符;&ifgetchar()和 phar()elsephar(a) (a=68)101phar(z-25)語(yǔ)句序列 2;gets() 和puts()puts 與 prf(“%s”)的區(qū)別數(shù)據(jù)類(lèi)型基本類(lèi)型:整型、實(shí)型(單精度、雙精度)、字符型、枚舉型變量所分配的內(nèi)存空間大小由變量類(lèi)型決定。構(gòu)造類(lèi)型:數(shù)組、結(jié)構(gòu)體指針類(lèi)型空類(lèi)型:用于數(shù)據(jù)類(lèi)型的轉(zhuǎn)換常量和變量常量:整型(不同進(jìn)

2、制之間轉(zhuǎn)換)、實(shí)型(小數(shù)形式、指數(shù)形式)、字符常量、字符串常量、符號(hào)常量宏:不帶參的宏代換(符號(hào)常量的定義)if(表達(dá)式 1 )語(yǔ)句序列 1; elseif(表達(dá)式 2)語(yǔ)句序列 2;elseif (表達(dá)式 n)語(yǔ)句序列 n;else語(yǔ)句序列 n+1;if 語(yǔ)句后如果要執(zhí)行多條語(yǔ)句,必須使用 EG:閏年判斷switch帶代換switch(表達(dá)式) case常量表達(dá)式 1:語(yǔ)句組;break;變量:不同類(lèi)型變量的定義和賦初值case.case常量表達(dá)式 2:語(yǔ)句組;break;運(yùn)算符常量表達(dá)式:語(yǔ)句組;break;算術(shù)運(yùn)算符自加、自減運(yùn)算符:操作對(duì)象只能是變量,其他形式錯(cuò)誤default:語(yǔ)句組

3、;break; 賦值運(yùn)算符:(= 、 += 、- = 、/=符右左的數(shù)據(jù)類(lèi)型應(yīng)相同關(guān)系運(yùn)算符邏輯運(yùn)算符(& 、|、 !)、%=)賦值運(yùn)算switch(表達(dá)式),、char 和枚舉型。常量表達(dá)式值,必須不相同,如果省略 break 語(yǔ)句,執(zhí)行結(jié)果怎樣?各 case 及 default 子句的先后次序,不影響程序執(zhí)行結(jié)果。多個(gè) case 子句,可共用同一語(yǔ)句(組)。switch 語(yǔ)句與 if 語(yǔ)句或 if 語(yǔ)句的嵌套可轉(zhuǎn)換注意(abc)與(ba)兩式的不同。惰性C 語(yǔ)言中,所有非 0 的值都看做為真。條件運(yùn)算符:(xy)?x:y長(zhǎng)度運(yùn)算:sizeof注意運(yùn)算符的優(yōu)先級(jí)控制語(yǔ)句EG:公司運(yùn)費(fèi)計(jì)算EG

4、: 五分制和百分制相互轉(zhuǎn)換循環(huán)語(yǔ)句循環(huán):在循環(huán)條件仍為真時(shí),計(jì)算機(jī)反復(fù)執(zhí)行的一組語(yǔ)句。while 和do while 語(yǔ)句while (表達(dá)式)循環(huán)體;do循環(huán)體;while(表達(dá)式);1區(qū)別:do-while 的循環(huán)體至少無(wú)條件執(zhí)行一次數(shù)組做函數(shù)參數(shù)函數(shù)定義、調(diào)用語(yǔ)句EG:求階乘函數(shù)EG:數(shù)列函數(shù)for 語(yǔ)句EG:求素?cái)?shù)函數(shù),輸出距離 n 最近的素?cái)?shù)EG:求學(xué)生 5 門(mén)課程的平均成績(jī)循環(huán)初值、終值、步長(zhǎng)、循環(huán)次數(shù)EG:求 1 到n 的和EG:求 1 到n 的階乘之和EG:求 Fibonacci 數(shù)列前 40 個(gè)數(shù)EG:求 x 的 y 次方EG:輸出 100200 之間不能被 3 整除能被 5

5、整除的數(shù)。EG:輸出 mn 之間的全部素?cái)?shù),每行 5 個(gè)EG:百錢(qián)百雞 EG:九九表EG:求 n-m 間的所有偶數(shù)和EG:水仙花數(shù)變量的類(lèi)別和作用域變量的作用域:變量變量、外部變量/局部變量、全局不同函數(shù)中可以使用同名變量形參是局部變量在函數(shù)內(nèi)定義的變量在本函數(shù)范圍內(nèi)有效。類(lèi)別:auto(自動(dòng))、 sic(靜態(tài))數(shù)組一維數(shù)組數(shù)組的定義、賦初值、輸出EG:求全班最高分、最低分及平均分BREAK continue 語(yǔ)句EG:數(shù)組排序、逆序、刪除、查找BREAK continue 語(yǔ)句區(qū)別函數(shù)常用的庫(kù)函數(shù)數(shù)學(xué)庫(kù)函數(shù)、字符串操作函數(shù)等用戶(hù)自定義函數(shù)C 程序執(zhí)行從 main 函數(shù)開(kāi)始,調(diào)用其它函數(shù)后返回

6、main 函數(shù),在 main 函數(shù)中結(jié)束整個(gè)程序的運(yùn)行有參數(shù)和無(wú)參數(shù)函數(shù)字符數(shù)組和字符串字符數(shù)組字符指針變量庫(kù)函數(shù):strcpy()strcmp()strcat()strlen()strupr()strlwr()EG:求串長(zhǎng)、大小寫(xiě)轉(zhuǎn)換、比較、連接、查找、刪除、EG:從鍵盤(pán)讀入一個(gè)字符串,將其中所有數(shù)字取出一個(gè)新串EG:統(tǒng)計(jì)單詞個(gè)數(shù),單詞之間用空格分隔EG:輸入三個(gè)字符串,求最大串函數(shù)的返回值類(lèi)型:缺省默認(rèn)是時(shí)所指定的函數(shù)類(lèi)型所決定型,由定義該函數(shù)把程序控制權(quán)從函數(shù)返回到函數(shù)調(diào)用的三種方法:(1)當(dāng)碰到時(shí)若無(wú)返回值returnreturn;表達(dá)式;二維數(shù)組若有返回值定義、賦初值 EG:輸出矩陣

7、 EG:求最大值EG:求對(duì)角線(xiàn)元素和參數(shù)傳遞:傳值調(diào)用和傳址調(diào)用函數(shù)的嵌套調(diào)用指針最大公約數(shù)、公倍數(shù)指針的定義、初始化、2& :地址運(yùn)算符(單目)量。* :間接符(單目)(1)(2)普通單個(gè)數(shù)據(jù):一維數(shù)組:*p;a5=用數(shù)組表示法和指針表示法拷貝字符串;*p;p=a(或p=&a00);strcpy (s1+2 ,s2+1);Way1:下標(biāo)法 1void mystrcpy(char *to,char *from)(3)二維數(shù)組:a55= ;*p,(*pa)5; p=&a00;pa=a;(4)長(zhǎng)度不等的幾個(gè)一維數(shù)組*p3,a12,a23,a310;p1=a1;p2=a2;p3=a3;i=0;whi

8、le(fromi!=0)toi=fromi; toi=0;Way2:下標(biāo)法 2i+; (5)二級(jí)指針:*p;*pa3;p=pa;指針作為函數(shù)的參數(shù)參照講義例題void mystrcpy(char *to,char *from)i=0;while(toi=fromi)!=0)Way3:指針?lè)╥+;指針表達(dá)式和指針的算術(shù)運(yùn)算void mystrcpy(char *to,char *from)while(*from!=0)+ 、- - 、加上一個(gè)整數(shù)(+或+=)、減去一個(gè)整數(shù)(-或- = )以及減去另一個(gè)指針。指針與一維數(shù)組指針和數(shù)組的關(guān)系*to=*from;to+;from+;*to=0;Way3

9、-2:指針?lè)ㄑ葑僾oid mystrcpy(char *to,char *from)while(*to+=*from+)!=0);Way3-3:指針?lè)ㄑ葑僾oid mystrcpy(char *to,char *from)while(*to+=*from+);用多種方法一維數(shù)組的各元素#include main()a5 = 1, 3, 5, 7, 9 ;i, *p ;for (i = 0 ; i5 ; i+ )prf (“ %d “ , a i ); prf (“ n “);for (i=0 ; i5 ; i+ )/*第法*/串比較/*第二種方法*/fun(char *s,char *t)Wh

10、ile(*s)&(*t)&(*t+=*s+); Return (*s-*t);prf (“ %d “ , *(a+i) ); prf ( “ n”) ;p=a ;for (i=0; i5 ; i+ )prf (“ %d “, pi); prf(“n”) ;for(i=0 ;i5 ; i+)prf(“ %d” , *(p+i); prf ( ; pa+5 ; p+ ) pr f (“ %d “, *p );prf(“n”);指針與字符串:串操作/*第三種方法*/串連接/*第四種方法*/自己編寫(xiě)函數(shù)數(shù)組xi與*(x+i), &xi 與x+i行指針:a +i 是指向二維數(shù)組第 i 行的指針列指針:a

11、i(或 ai0) 指向二維數(shù)組第 i 行第 0 列的指針/*第五種方法*/指針字符串的兩種方式:各種方法main()二維數(shù)組(1)通過(guò)一個(gè)字符數(shù)組來(lái)字符串(2)直接把字符串在內(nèi)存中的首地址賦值給指針變3aa34=1,2,3,4,5,6,7,8,9,10,11,12;i, j , *p , (*pa)4;法*/puts (aai);/*第for( pa=aa , i= 0 ;i3 ; i+ ) prf (“ n “);for (j=0 ;j4 ;j+)prf (“ %5d “ , paij);指向指針的指針(二級(jí)指針)指針數(shù)組 /在函數(shù)間傳遞指針數(shù)組主要用途:/*第二種方法*/for (pa=a

12、a ; paaa+3 ; pa+ ) prf (“n “); for(i=0 ;i4 ; i+)prf (“%5d “ , (*pa)i );/*第三種方法*/for (p=&aa00 ;p&aa00+3*4 ; p+ )if (p-&aa00 )%4 = = 0 )prf (“n”);返回指針值的函數(shù)*fun(結(jié)構(gòu)體a);結(jié)構(gòu)體struct char charcharname name10; sex; addr20;prf(“%5d “ , *p );指針數(shù)組與指向指針的指針ap3 ;differ ;struct p=t2;namet1, t25, *p;(*pa)3用途:可用指針數(shù)組一維數(shù)組顯示多個(gè)字符串一個(gè)二維數(shù)組或是幾個(gè)*(+p).=12;對(duì)結(jié)構(gòu)變量的操作:利用指向字符的數(shù)組實(shí)現(xiàn)#include main( )把結(jié)構(gòu)變量賦給同一種類(lèi)型的結(jié)構(gòu)變量獲取結(jié)構(gòu)變量的地址用 sizeof 運(yùn)算符確定結(jié)構(gòu)變量的大小。用成員運(yùn)算符結(jié)構(gòu)變量的成員。 char “;i;*ap3 = “cpu” ,”computer

溫馨提示

  • 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)論