課題二 C51數(shù)組指針及運(yùn)算基礎(chǔ)_第1頁
課題二 C51數(shù)組指針及運(yùn)算基礎(chǔ)_第2頁
課題二 C51數(shù)組指針及運(yùn)算基礎(chǔ)_第3頁
課題二 C51數(shù)組指針及運(yùn)算基礎(chǔ)_第4頁
課題二 C51數(shù)組指針及運(yùn)算基礎(chǔ)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 課題二 C51數(shù)組、指針及運(yùn)算基礎(chǔ)王慧 2011年2月本課題的目標(biāo)學(xué)習(xí)完本課題后,您將能夠:1 清楚C51程序中數(shù)組的使用。2 清楚C51程序中指針的概念及應(yīng)用方法。3 清楚C51基本的運(yùn)算符號(hào)及基本運(yùn)算功能。本課題的要求本課題教學(xué)完成后,初學(xué)者必須做到:1 牢記C51程序中一維與二維數(shù)組的使用方法。2 牢記C51程序中基本的運(yùn)算符號(hào)及運(yùn)算功能。3 牢記C51程序中指針變量的定義、引用方法。本課題講解內(nèi)容1C51的數(shù)組2C51的指針3C51運(yùn)算基礎(chǔ)講解進(jìn)程參考學(xué)時(shí)序號(hào)內(nèi)容提要講解時(shí)間第一學(xué)時(shí)1明確本次課程目標(biāo)、導(dǎo)入課題5分鐘2C51的一維數(shù)組8分鐘3C51的二維數(shù)組5分鐘4C51的字符數(shù)組5

2、分鐘5指針變量的定義5分鐘6指針變量的操作6分鐘7指針變量的運(yùn)算6分鐘8指針與一維數(shù)組的關(guān)系10分鐘休息第二學(xué)時(shí)1算術(shù)運(yùn)算6分鐘2邏輯運(yùn)算6分鐘3關(guān)系運(yùn)算6分鐘4位運(yùn)算8分鐘5自增減運(yùn)算6分鐘6賦值運(yùn)算8分鐘7課題總結(jié),明確本課題的要求10分鐘本課題筆記一、C51的數(shù)組1C51的一維數(shù)組(1)一維數(shù)組的定義:類型說明符 數(shù)組名整型表達(dá)式;例:char ch5; 注: 內(nèi)只能是確定的數(shù)據(jù)(整型數(shù)據(jù)或整型表達(dá)式),不能是變量。(2)一維數(shù)組的初始化: 1)定義時(shí)初始化例: int a5=1,2,3,4,5;等價(jià)于:a0=1; a1=2; a2=3; a3=4; a4=5;注:全部賦值可省略長度例:

3、 int a=1,2,3,4,5,6;2)定義時(shí)部分初始化例: int a5=1,2,3; 等價(jià)于: a0=1; a1=2;a2=3; a3=0; a4=0;(3)一維數(shù)組的引用:數(shù)組名下標(biāo)例:ch0、ch1、ch2、ch3、ch4注:下標(biāo)從0開始到n-1,不能越界,下標(biāo)可以是變量。例:chi;2C51的二維數(shù)組(1)二維數(shù)組的定義:類型說明符 數(shù)組名整型表達(dá)式1 整型表達(dá)式2;例:char ch32; 元素個(gè)數(shù)=行數(shù)*列數(shù),3行2列,共6個(gè)數(shù)組元素。 (2)二維數(shù)組的引用:數(shù)組名下標(biāo)1 下標(biāo)2注:內(nèi)存是一維的,數(shù)組元素在存儲(chǔ)器中的存放順序按行序優(yōu)先,即“先行后列”。(3)二維數(shù)組的初始化:

4、二維數(shù)組初始化也是在類型說明時(shí)給各下標(biāo)變量賦以初值。 二維數(shù)組可按行分段賦值,也可按行連續(xù)賦值。 例如:數(shù)組a53 1)按行分段賦值可寫為int a53= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 ; 2)按行連續(xù)賦值可寫為int a53= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 ; 3C51的字符數(shù)組用來存放字符量的數(shù)組稱為字符數(shù)組。例如: char c10;用字符串的方式對數(shù)組作初始化賦值。例如: char c='c', ' ','p','

5、;r','o','g','r','a','m' 可寫為:char c="C program" 或去掉寫為:char c="C program" 用字符串方式賦值比用字符逐個(gè)賦值要多占一個(gè)字節(jié), 用于存放字符串結(jié)束標(biāo)志'0'。上面的數(shù)組c在內(nèi)存中的實(shí)際存放情況為: C program00'是由C編譯系統(tǒng)自動(dòng)加上的。由于采用了0'標(biāo)志,所以在用字符串賦初值時(shí)一般無須指定數(shù)組的長度, 而由系統(tǒng)自行處理。二、C51的指針 指針是一個(gè)特殊的變量,

6、它里面存儲(chǔ)的數(shù)值是內(nèi)存里的一個(gè)地址。指針變量:存放變量地址的變量1指針變量定義的一般形式:數(shù)據(jù)類型說明符 存儲(chǔ)器類型 *指針變量名;數(shù)據(jù)類型說明符說明了該指針變量所指向的變量的類型。 例:int * pointer; /定義一個(gè)指向整型變量的指針變量pointer 注意:指針變量名前的“*”號(hào)表示該變量為指針變量,但指針變量名應(yīng)該是pointer而不是* pointer。2指針變量的操作& 取地址運(yùn)算符。* 指針運(yùn)算符,取指針?biāo)赶蜃兞康膬?nèi)容。例:int a=2;int * i_pointer=&ai_pointe - 指針變量,它的內(nèi)容是地址量&a - 變量指針,就是

7、變量a的地址* i_pointer - 指針的目標(biāo)變量,它的內(nèi)容是數(shù)據(jù),即變量a的值23指針變量的運(yùn)算指針變量的賦值運(yùn)算:p=&a; (將變量a地址給p)p=array; (將數(shù)組array首地址給p)p=&arrayi; (將數(shù)組元素地址給p)p1=p2; (指針變量p2值給p1)不能把一個(gè)整數(shù)給p,也不能把p的值給整型變量指針的算術(shù)運(yùn)算:P+i 等價(jià)于p +(i*d ) (i為整型數(shù),d為p指向的變量所占字節(jié)數(shù))p+, p-, p+i, p-i, p+=i, p-=i等例: p指向int型數(shù)組,且p=&a0; 則p+1 指向a14指針與一維數(shù)組的關(guān)系int *p 與

8、 int q10 數(shù)組名是指針(地址)常量p=q; p+i 是qi的地址數(shù)組元素的表示方法:下標(biāo)法和指針法, 即若p=q, 則 pi Û qi Û *(p+i) Û *(q+i) 形參數(shù)組實(shí)質(zhì)上是指針變量,即int q Û int *q在定義指針變量(不是形參)時(shí),不能把int *p 寫成int p;系統(tǒng)只給p分配能保存一個(gè)指針值的內(nèi)存區(qū)(一般2字節(jié));而給q分配2*10字節(jié)的內(nèi)存區(qū)。5指針與字符數(shù)組的關(guān)系char *cp; 與 char str20;str由若干元素組成,每個(gè)元素放一個(gè)字符;而cp中存放字符串首地址 char str20; str=“I

9、 love China!”; (´) char *cp; cp=“I love China!”; (ü)str是地址常量;cp是地址變量cp接受鍵入字符串時(shí),必須先開辟存儲(chǔ)空間例 char str10; scanf(“%s”,str); (ü)而 char *cp; scanf(“%s”, cp); (´)改為: char *cp,str10; cp=str; scanf(“%s”,cp); (ü)三、C51運(yùn)算基礎(chǔ)1算術(shù)運(yùn)算+ 加 - 減 * 乘 / 除 % 取模2邏輯運(yùn)算&& 邏輯與 | 邏輯或 !邏輯非3關(guān)系運(yùn)算< 小于 > 大于 <= 小于等于 >= 大于等于 = 測試等于 != 測試不等于4位運(yùn)算& 按位與 | 按位或 按位異或 按位取反 <<位左移 >>位右移5自增減運(yùn)算+i , -i 在使用i之前,先使i值加(減)1。i+ , i- 在使用i之后,再使i值加(減)1。6賦

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論