第十次作業總結

2022-07-14 15:03:13 字數 2628 閱讀 6823

實驗1.計算兩數的和與差

實驗2.利用指標找最大值

#includeint

main()

void findmax(int *px,int *py,int *pmax)

else

*pmax=*px;

}

實驗3.拆分實數的整數與小數部分

一.知識點:

1.位址和指標:在程式執行過程中,變數或者程式**被儲存在以位元組為單位組織的儲存器中;在c語言中,如果定義了乙個變數,在編譯時就會根據該變數的型別給它分配相應大小的記憶體單元。計算機為了對記憶體單元中的資料進行操作,一般是按」位址「訪問的,也就是說對記憶體單元進行標識編號

c語言使用指針對變數的位址進行操作,指標是用來存放記憶體位址的變數,如果乙個指標變數的值是另乙個變數的位址

定義指標變數的一般形式為:型別名  *指標變數名;

型別名制定指標變數所指向變數的型別,必須是有效的資料型別,如int,float,char等。指標變數名是指標變數的名稱,必須是乙個合法的識別符號。

定義指標變數要使用指標宣告符*。

例如:int *p;  p是整型指標,指向整型變數  

float *fp;  fp是浮點型指標,指向浮點型變數  

char *cp;  cp是字元型指標,指向字元型變數

(1).取位址運算和間接訪問運算

&取位址運算子,給出變數的位址

int *p,a=3;

p=&a;

指標變數的型別和它所指向變數的型別相同,把a的位址賦給p,即p指向a。 * 間接訪問運算子,訪問指標所指向的變數;*p 指標變數p所指向的變數

(2).賦值運算:一旦指標被定義並賦值後,就可以如同其他型別變數一樣進行賦值運算

例如:int a=3,*p1,*p2;     /*定義整型變數指標p1和p2*/

p1=&a;                  /*使指標p1指向整型變數a*/

p2=p1;

將變數a的位址賦給指標p1,再將p1的值賦給指標p2,因此指標p1和p2都指向變數a,此時,*p1、*p2和a訪問同乙個儲存單元,它們的值一樣

給指標賦值是使指標和所指向變數之間建立關聯的必要過程,指標之間的互相賦值只能在相同型別的指標之間進行,可以在定義時對指標進行賦值,也可以在程式執行過程中根據需要對指標重新賦值,但要特別注意:指標只有在被賦值以後才能被正確使用。

5.指標變數的初始化:c語言中的變數在引用前必須先定義並賦值,指標變數在定義後也要先賦值再引用,在定義指標變數時,可以同時對它賦初值

例如:int a;

int *p1=&a;          /*在定義指標p1的同時給其賦值,使指標p1指向變數a*/

int *p2=p1;          /*在定義指標p2的同時對其賦值,使p2和p1的值相同*/

以上對指標p1和p2的賦值都是在定義時進行的,使得指標p1和p2都指向變數a

在進行指標初始化的時候需要注意以下幾點

(1)在指標變數定義或者初始化時變數名前面的」*「只表示該變數是個指標變數,它既不是乘法運算子也不是間接訪問符

(2)把乙個變數的位址作為初始化值賦給指標變數時,該變數必須在此之前已經定義,因為變數只有在定義後才被分配儲存單元,它的位址才能賦給指標變數

(3)可以用初始化了的指標變數給另乙個指標變數作初始化值

(4)不能用數值作為指標變數的初值,但可以將乙個指標變數初始化作為乙個空指標

(5)指標變數定義時的資料型別和它所指向的目標變數的資料型別必須一致,因為不同的資料型別所占用的儲存單元的字數節不同

需要再次指出的是,定義指標變數後,就可以使用它,但必須先賦值後引用。指標如果沒有被賦值,它的值是不確定的,即它指向乙個不確定的單元,使用這樣的指標,可能會出現難以預料的結果,甚至導致系統錯誤

7.指標作為函式引數的應用:

要通過函式呼叫來改變主調函式中某個變數的值:

(1)在主調函式中,將該變數的位址或者指向該變數的指標作為實參

(2)在被調函式中,用指標型別形參接受該變數的位址

(3)在被調函式中,改變形參所指向變數的值

二.實驗過程中遇到的問題及解決方法:

對於指標所指向變數的操作不是很理解,不清楚是誰指向誰,誰的值賦給誰,在通過看書和看老師上課ppt上講的例子,明白了指標操作的大概流程,但還得多做幾個例題加強理解。

三.心得體會:這次的作業雖然只有僅僅三道題,卻已經把我搞得暈頭轉向了,感覺指標理解起來有點費勁,所以需要在課下多看書,多做練習題加以鞏固,這樣在習題中試著理解指標,還有老師上課講的例題也要看,盡快掌握指標的操作。

第十次作業

linux網路服務 osi七層模型 物理層 傳輸介質,組網 資料鏈路層 mac位址定址,資料成幀,資料檢測,重發apr 網路層 將網路位址轉化為實體地址,網路位址定址,路由 ip協議 傳輸層 提供端對端的資料交換,連線,埠 會話層 提供點對點的連線 表示層 資料格式化 應用層 應用程式,服務 tcp...

第十次作業

1.將以下文法消除左遞迴,分析符號串 i i i e e t t t t f f f e i 解 文法改寫 e te e te t ft t ft f e i first集 first e first e first t first t first f follow集 follow e follow...

第十次作業

1,簡述string類中的equals方法與object類中的equals方法的不同點。i string類的equals方法比較的是內容,object類中的equals方法比較的是記憶體位址 2,編寫程式,scanner 當以年 月 日的格式輸入乙個日期時,輸出其該年是否為閏年,該月有幾天,該日是星...