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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、與指針n 多維數(shù)組的地址n 多維數(shù)組與指針間的關系按教學大綱,本內容只要求了解。字符串與指針(重點、難點)n 在C中,字符串用字符數(shù)組處理,也可以用指針處理。n 例:輸出一串字符"I am a stuent."/用指針處理時程序# 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ù)組處理時程序# 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');/用指針處理時可以更簡潔# 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 例:復制字符串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ù),然后調用函數(shù)進行字符串復制。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ù)組就分配了具體的內存單元,有確定地址;字符指針變量僅是可以指向一個字符變量的地址,最好先確定它的地址char str40;scanf(“%s”,str); /可以char *p;s

8、canf(“%s”,p); /不建議,可能造成內存沖突,改為: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ù)組不可以。p="%d,%fn" /str="%d,%fn" /×按教學大綱,“字符串指針作函數(shù)參數(shù)”只要求了解。指向函數(shù)的指針n 一個函數(shù)在編譯時被分配給一個入口地址。這個入口地址就是函數(shù)的指針。n 可以用指針變量指向函數(shù),然后通過指針調用函數(shù)。n 定義形式:數(shù)據(jù)類型 (*指針變量名) ( );n 指針變量賦值:指針變量名=函數(shù)名;n 函數(shù)調用:(*指針變量名) (實參表列 )n 指向函數(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調用max函數(shù) printf("max=%dn",m);int max(int a,int b) return(a>b?a:b);按教學大綱,本節(jié)內容不用要求。返回指針值的函數(shù)n 一個函數(shù)的返回值可以是整型、實型、字符型等,也可以是指針類型。n 返回指針類型函數(shù)定義形式:類型名 * 函數(shù)名(參數(shù)表列)n 實例:查找最大數(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;按教學大綱,本節(jié)內容不用要求。指針數(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 字符串與指針的關系n 了解指向函數(shù)的指針、返回指針值的函數(shù)、指針數(shù)組和指向指針的指針布置練習與思考題,擴充學生知識面。實驗題目目的:1 能正確使用字符串的指針和指向字符串的指針變量;2 了解用函數(shù)指針變量調用函數(shù)及用指向函數(shù)的指針作函數(shù)參數(shù)的方法3 了解指向指針的指針的概念及其使用方法。題目:(請參考教學網(wǎng)站中的實驗十三)1 仿照指針實驗一中基礎題一的例子,將程序改為:輸入

溫馨提示

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

評論

0/150

提交評論