C程序設(shè)計(jì)教案_第1頁
C程序設(shè)計(jì)教案_第2頁
C程序設(shè)計(jì)教案_第3頁
C程序設(shè)計(jì)教案_第4頁
C程序設(shè)計(jì)教案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C程序設(shè)計(jì)教案課程名稱C程序設(shè)計(jì)教案總學(xué)時(shí)80課題指針(二)第 6668學(xué)時(shí)課型必修教學(xué)目標(biāo)及重點(diǎn)難點(diǎn)目標(biāo):1 了解多維數(shù)組與指針2 掌握字符串與指針3 了解指向函數(shù)的指針4 了解返回指針值的函數(shù)5 了解指針數(shù)組和指向指針的指針重點(diǎn):1 掌握字符串與指針難點(diǎn):字符串與指針教學(xué)準(zhǔn)備(教具、課件、圖片、資料)多媒體教室(投影儀)板書設(shè)計(jì)采用PowerPoint演示文稿(幻燈片)形式教和學(xué)的過程教學(xué)內(nèi)容教師活動學(xué)生活動簡要回顧對實(shí)驗(yàn)和習(xí)題情況進(jìn)行點(diǎn)評;提問歸納課內(nèi)學(xué)習(xí)新知識:多維數(shù)組與指針;掌握字符串與指針;了解指向函數(shù)的指針;了解返回指針值的函數(shù)。積極參與課堂中實(shí)例程序的設(shè)計(jì),課后獨(dú)立完成實(shí)驗(yàn)題目

2、,對本講內(nèi)容進(jìn)行歸納和綜合運(yùn)用,同時(shí)預(yù)習(xí)新知識。講解新知識引入實(shí)例,激發(fā)學(xué)生興趣實(shí)例目標(biāo)利用新知識分析實(shí)例的技術(shù)要點(diǎn),引導(dǎo)學(xué)生完成實(shí)例目標(biāo)歸納小結(jié)總結(jié)歸納本講知識點(diǎn)分析討論發(fā)現(xiàn)問題,通過改善實(shí)例目標(biāo),啟發(fā)學(xué)生創(chuàng)新思維,并引入下節(jié)課內(nèi)容練習(xí)思考結(jié)合講課內(nèi)容獨(dú)立完成二個小程序的設(shè)計(jì)并完成思考題,培養(yǎng)學(xué)生綜合能力講課提要內(nèi)容提要說明簡要回顧1. 地址和指針的概念2. 變量的指針和指向變量的指針變量3. 數(shù)組與指針處理演示回顧實(shí)驗(yàn)12的知識要點(diǎn)闡述主題1. 了解多維數(shù)組與指針2. 掌握字符串與指針3. 了解指向函數(shù)的指針4. 了解返回指針值的函數(shù)5. 了解指針數(shù)組和指向指針的指針強(qiáng)調(diào)重點(diǎn)和難點(diǎn)多維數(shù)組

3、與指針n 多維數(shù)組的地址n 多維數(shù)組與指針間的關(guān)系按教學(xué)大綱,本內(nèi)容只要求了解。字符串與指針(重點(diǎn)、難點(diǎn))n 在C中,字符串用字符數(shù)組處理,也可以用指針處理。n 例:輸出一串字符"I am a stuent."/用指針處理時(shí)程序# include <stdio.h># include <string.h>void main() char str="I am a stuent." char*p=str; printf("%sn",p); puts(p); for(;*p!='0'p+) print

4、f("%c",*p); putchar('n');/用數(shù)組處理時(shí)程序# include <stdio.h># include <string.h>void main() char str="I am a stuent." int i,n; n=strlen(str); printf("%sn",str); puts(str); for(i=0;i<n;i+) printf("%c",stri); putchar('n');/用指針處理時(shí)可以更簡潔# in

5、clude <stdio.h># include <string.h>void main() char*p="I am a stuent."printf("%sn",p); puts(p); for(;*p!='0'p+) printf("%c",*p); putchar('n');n 例:復(fù)制字符串void main() char a="I am a stuent.",b100,*p=a,*q=b;for(;*p!='0'p+,q+) *q=

6、*p;*q='0'printf("a is:%sn",a);printf("b is:%sn",b);n 字符串指針作函數(shù)參數(shù)例:設(shè)計(jì)字符串復(fù)制函數(shù),然后調(diào)用函數(shù)進(jìn)行字符串復(fù)制。void stringcopy(char *to,char *from) for(;*from!='0'from+,to+) *to=*from; *to='0'void main()char a="I am a stuent.",b="You are a teacher",*p=a,*q=b

7、;stringcopy(q,p);stringcopy(a,b);n 字符數(shù)組和字符指針的區(qū)別1. 字符數(shù)組由若干個數(shù)組元素組成,指針變量僅存放地址(第一個字符的地址)2. 賦值方式:字符數(shù)組必須逐個數(shù)組元素賦值,指針變量賦值的是 首字符地址。char str40; str ="China" /× 可以初始化char *p; p= "China" /3. 定義了字符數(shù)組就分配了具體的內(nèi)存單元,有確定地址;字符指針變量僅是可以指向一個字符變量的地址,最好先確定它的地址char str40;scanf(“%s”,str); /可以char *p;s

8、canf(“%s”,p); /不建議,可能造成內(nèi)存沖突,改為:char str40,*p=str;scanf(“%s”,p); 4. 指針變量的值可以改變。char *p="I am a stuent."p=p+7;puts(p);5. 數(shù)組名代表地址,是固定常量,不能改變。char str ="I am a stuent. "str=str+7; /錯誤puts(str);6. 可以用指針變量或字符數(shù)組指向一個格式字符串。char *p="a=%d,b=%fn",str="a=%d,b=%fn"int a=1;f

9、loat b=2;printf(p,a,b);printf(str,a,b);7. 指針變量可以設(shè)計(jì)為可變格式字符串,字符數(shù)組不可以。p="%d,%fn" /str="%d,%fn" /×按教學(xué)大綱,“字符串指針作函數(shù)參數(shù)”只要求了解。指向函數(shù)的指針n 一個函數(shù)在編譯時(shí)被分配給一個入口地址。這個入口地址就是函數(shù)的指針。n 可以用指針變量指向函數(shù),然后通過指針調(diào)用函數(shù)。n 定義形式:數(shù)據(jù)類型 (*指針變量名) ( );n 指針變量賦值:指針變量名=函數(shù)名;n 函數(shù)調(diào)用:(*指針變量名) (實(shí)參表列 )n 指向函數(shù)的指針實(shí)例void main()

10、int x,y,m,(*p)(); /p是函數(shù)指針 int max(int,int); scanf("%d,%d",&x,&y); p=max; /將max函數(shù)地址賦給p m=(*p)(x,y); /通過p調(diào)用max函數(shù) printf("max=%dn",m);int max(int a,int b) return(a>b?a:b);按教學(xué)大綱,本節(jié)內(nèi)容不用要求。返回指針值的函數(shù)n 一個函數(shù)的返回值可以是整型、實(shí)型、字符型等,也可以是指針類型。n 返回指針類型函數(shù)定義形式:類型名 * 函數(shù)名(參數(shù)表列)n 實(shí)例:查找最大數(shù)int *

11、max(int *p,int n) int *t,i; t=p; for(i=0;i<n;i+,p+) if(*t<*p) t=p; return t;按教學(xué)大綱,本節(jié)內(nèi)容不用要求。指針數(shù)組和指向指針的指針n 一個數(shù)組,其元素均為指針類型數(shù)據(jù),稱為指針數(shù)組。n 定義形式:類型名 *數(shù)組名數(shù)組長度;n 多個字符串需要多個字符數(shù)組或二維字符數(shù)組處理,若用指針數(shù)組處理則特別方便靈活。char *p4="Beiging","Hagzhou","Shanghai","Chengdu"int i;for(i=0;i

12、<4;i+) puts(pi);n 指向指針數(shù)據(jù)的指針變量,稱為指向指針的指針。n 定義形式:類型名 *指針變量名;n 例:int a5=10,20,30,40,50;int *p5=&a0,&a1,&a2,&a3,&a4;int *q=p,i;for(i=0;i<5;i+,q+) printf("%dn",*q); /二級間址n 例:char *p4="Beiging","Hagzhou","Shanghai","Chengdu"char *q=p;for(;q<p+4;q+) puts(*q);歸納分析n 通過指針訪問多維數(shù)組的元素n 字符串與指針的關(guān)系n 了解指向函數(shù)的指針、返回指針值的函數(shù)、指針數(shù)組和指向指針的指針布置練習(xí)與思考題,擴(kuò)充學(xué)生知識面。實(shí)驗(yàn)題目目的:1 能正確使用字符串的指針和指向字符串的指針變量;2 了解用函數(shù)指針變量調(diào)用函數(shù)及用指向函數(shù)的指針作函數(shù)參數(shù)的方法3 了解指向指針的指針的概念及其使用方法。題目:(請參考教學(xué)網(wǎng)站中的實(shí)驗(yàn)十三)1 仿照指針實(shí)驗(yàn)一中基礎(chǔ)題一的例子,將程序改為:輸入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論