指針順序程序設(shè)計(jì)上傳本詳解演示文稿_第1頁
指針順序程序設(shè)計(jì)上傳本詳解演示文稿_第2頁
指針順序程序設(shè)計(jì)上傳本詳解演示文稿_第3頁
指針順序程序設(shè)計(jì)上傳本詳解演示文稿_第4頁
指針順序程序設(shè)計(jì)上傳本詳解演示文稿_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

指針順序程序設(shè)計(jì)上傳版本詳解演示文稿當(dāng)前1頁,總共23頁。(優(yōu)選)指針順序程序設(shè)計(jì)上傳版本當(dāng)前2頁,總共23頁。初等運(yùn)算符單目運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符賦值運(yùn)算符逗號(hào)運(yùn)算符低高>位運(yùn)算符條件運(yùn)算符當(dāng)前3頁,總共23頁。指針指針變量定義賦值使用特例內(nèi)存地址&與*操作符直接訪問間接訪問當(dāng)前4頁,總共23頁。變量與地址程序中:inti;

floatk;

內(nèi)存中每個(gè)字節(jié)有一個(gè)編號(hào)-----地址……...2000200120022005內(nèi)存020032004200620072008ik

編譯或函數(shù)調(diào)用時(shí)為其分配內(nèi)存單元當(dāng)前5頁,總共23頁?!?..…...2000200420062005整型變量i10變量i_pointer20012002200320072008指針與指針變量指針:一個(gè)變量的地址指針變量:專門存放變量地址的變量叫~2000指針指針變量

變量的內(nèi)容

變量的地址指針變量變量變量地址(指針)變量值指向地址存入指針變量當(dāng)前6頁,總共23頁。指針變量的定義格式:[存儲(chǔ)類型]數(shù)據(jù)類型*指針名;合法標(biāo)識(shí)符指針變量本身的存儲(chǔ)類型指針的目標(biāo)變量的數(shù)據(jù)類型表示定義指針變量不是‘*’運(yùn)算符例int

*p1,*p2;float*q;staticchar*name;注意:1、int*p1,*p2;

與int*p1,p2;2、指針變量名是p1,p2,不是*p1,*p23、指針變量只能指向定義時(shí)所規(guī)定類型的變量4、指針變量定義后,變量值不確定,應(yīng)用前必須先賦值當(dāng)前7頁,總共23頁。賦給指針變量,不是賦給目標(biāo)變量例inti;int*p=&i;變量必須已說明過類型應(yīng)一致例

int*p=&i;

inti;例inti;int*p=&i;int*q=p;用已初始化指針變量作初值例

main(){inti;staticint*p=&i;..............}()不能用auto變量的地址去初始化static型指針指針變量的賦值

指針名=地址值;例charch;int*p=&ch;當(dāng)前8頁,總共23頁。例main(){inti=10;int*p;

*p=i;printf(“%d”,*p);}危險(xiǎn)!例

main(){inti=10,k;int*p;

p=&k;*p=i;printf(“%d”,*p);}指針變量必須先賦值,再使用…...…...2000200420062005整型變量i10指針變量p200120022003隨機(jī)當(dāng)前9頁,總共23頁。&與*運(yùn)算符含義含義:取變量的地址單目運(yùn)算符優(yōu)先級:2結(jié)合性:自右向左含義:

取指針?biāo)赶蜃兞康膬?nèi)容單目運(yùn)算符優(yōu)先級:2結(jié)合性:自右向左兩者關(guān)系:互為逆運(yùn)算理解200010i_pointer*i_pointer&i_pointerii_pointer&i&(*i_pointer)i*i_pointer*(&i)i_pointer

=

&i

=

&(*i_pointer)i=*i_pointer=*(&i)…...…...2000200420062005整型變量i10變量i_pointer2001200220032000指針變量i_pointer-----指針變量,它的內(nèi)容是地址量*i_pointer----指針的目標(biāo)變量,它的內(nèi)容是數(shù)據(jù)&i_pointer---指針變量占用內(nèi)存的地址當(dāng)前10頁,總共23頁。直接訪問與間接訪問直接訪問:按變量地址存取變量值間接訪問:通過存放變量地址的變量去訪問變量例

i=3;-----直接訪問指針變量…...…...2000200420062005整型變量i10變量i_pointer20012002200320003例*i_pointer=20;-----間接訪問20當(dāng)前11頁,總共23頁。指針變量…...…...2000200420062005整型變量i10變量i_pointer2001200220032000整型變量k例

k=i;--直接訪問

k=*i_pointer;--間接訪問10例

k=i;k=*i_pointer;當(dāng)前12頁,總共23頁。零指針與空類型指針零指針:(空指針)定義:指針變量值為零表示:int*p=0;

p指向地址為0的單元,系統(tǒng)保證該單元不作它用表示指針變量值沒有意義#defineNULL0int*p=NULL:p=NULL與未對p賦值不同用途:避免指針變量的非法引用在程序中常作為狀態(tài)比較

例int*p;......while(p!=NULL){...…}void*類型指針表示:void*p;使用時(shí)要進(jìn)行強(qiáng)制類型轉(zhuǎn)換例char*p1;void*p2;p1=(char*)p2;p2=(void*)p1;表示不指定p是指向哪一種類型數(shù)據(jù)的指針變量當(dāng)前13頁,總共23頁。例輸入兩個(gè)數(shù),并使其從大到小輸出main(){int*p1,*p2,*p,a,b;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("a=%d,b=%d\n",a,b);printf("max=%d,min=%d\n",*p1,*p2);}運(yùn)行結(jié)果:a=5,b=9max=9,min=5…...…...指針變量p1

指針變量p20002008200220042006

指針變量p2

整型變量b

整型變量a5200692008200620082006當(dāng)前14頁,總共23頁。第3章順序程序設(shè)計(jì)學(xué)習(xí)要點(diǎn):算法的概念和特點(diǎn)算法的表示方式順序程序設(shè)計(jì)當(dāng)前15頁,總共23頁。算法例3.1100個(gè)學(xué)生,要求將他們之中成績在90分以上的打印出來。假定用n表示學(xué)生學(xué)號(hào),ni表示第i個(gè)學(xué)生學(xué)號(hào);g表示學(xué)生成績,gi表示第i個(gè)學(xué)生成績;則算法可表示如下:step1:1→i;step2:如果gi≥90,則打印ni和gi,否則不打??;step3:i+1→i;step4:若i≤100,返回step2,否則,結(jié)束。序號(hào)(i)學(xué)號(hào)(n)成績(g)1n1g12n2g2………………inigi當(dāng)前16頁,總共23頁。有窮性:所有步驟有限。確定性:每一個(gè)步驟應(yīng)清晰界定操作。有效性:每一個(gè)步驟應(yīng)有效執(zhí)行,并得到確定結(jié)果。有零個(gè)或多個(gè)輸入。有一個(gè)或多個(gè)輸出。算法的特性:當(dāng)前17頁,總共23頁。常用三種描述方法:

算法的描述方法:自然語言描述流程圖描述偽代碼描述當(dāng)前18頁,總共23頁。setp1、1->isetp2、0->sumsetp3、sum+i->sumsetp4、i+1->Isetp5、若i<=n,返回setp3,否則,輸出sum,結(jié)束sum=1+2+3+4+……+(n–1)+n優(yōu)點(diǎn):接近自然語言,方便掌握。缺點(diǎn):1、對于稍復(fù)雜的結(jié)構(gòu)很難表述清楚 2、容易造成歧義當(dāng)前19頁,總共23頁。常用符號(hào):流程圖輸入輸出框起止框一般處理框判斷框流程線連接點(diǎn)當(dāng)前20頁,總共23頁。sum=1+2+3+4+……+(n–1)+n開始輸入ni=1,sum=0i<=nsum=sum+Ii=i+1輸出sum結(jié)束是否當(dāng)前21頁,總共23頁。當(dāng)前22頁,總共23頁。優(yōu)點(diǎn):直觀形象,比較清楚的顯示出各個(gè)框之間的邏輯關(guān)系。無論是使用自然語言還是使用流程圖描述算法,僅僅是表述了編程者解

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論