第八次實驗報告

2022-05-18 08:46:42 字數 2176 閱讀 5420

·加強學生對指標資料型別的理解,熟悉指標的定義,通過指標間接訪問變數。

·加強學生對指標型別作為引數傳遞的理解。

·加強學生對字元指標以及將指標作為函式的返回型別的理解。

·加強學生對使用指針對陣列進行操作的理解。

1.問題描述(1):定義乙個整形指標變數p,使它指向乙個整形變數,定義乙個浮點型指標q,使它指向乙個浮點型變數b,同時定義另外乙個整形變數c並賦初值3。

(2):使用指標變數,調動scanf函式分別輸入a和b的值。

(3):通過指標間接訪問並輸出a和b的值。

(5):將p指向c,通過p間接訪問c的值並輸出。

2.實驗**

#include main()

實驗結果如下:

1.問題描述(1):定義兩個函式,分別為void swap1(int a,int b)和void swap2(int\*a,int \*b),用於交換a,b的值。

(2):從主函式中分別輸入兩個整形變數a、b。

(3):從主函式中分別呼叫上述兩個交換函式,並列印輸出交換後a、b的結果。

2.實驗**

#include void swap1(int x,int y);

void swap2(int *x,int *y);

main()

void swap1(int x,int y)

void swap2(int *x,int *y)

實驗結果如下:

3.問題分析問題:實參的傳遞一直不成功。

解決方法:在實參傳遞時使用&a與&b變數即可。1.問題描述(1):定義兩個字元指標,通過gets()函式輸入兩個字元。

(2):定義乙個函式char\*reverse(char\*str),通過指標移動方式將字串反轉。

(3):定義乙個函式char\*link(char\*str1,char\*str2),通過指標移動方式將兩個字串連線起來。

(4):從主函式中分別呼叫上述函式,輸入字串並列印輸出結果。

2.實驗**

#include "stdio.h"

char *reverse(char*str);

char *link(char*str1,char*str2);

main()

char *reverse(char *str)

p--;

while(q實驗結果圖:

3.問題分析問題:不知道怎麼讓指標做相向移動,對於指標的運算不熟悉。

解決方法:通過翻書理解指標的移動方式,知道了可以直接讓指標進行加減來使指標移動。1.問題描述(1):定義乙個整型一維陣列,任意輸入陣列的元素,其中包含奇數和偶數。

(2):定義乙個函式,實現將陣列元素奇數在左,偶數在右的排列。

(3):在上述定義的函式中,不允許再增加新的陣列。

(4):從主函式中分別呼叫上述函式,列印輸出結果。

2.實驗**

#include #define n 10

void arrsort(int a,int n);

main()

temp=*p;

*p=*q;

*q=temp;

p++;

q--;

}}

實驗結果圖:

3.問題分析問題:對於外部函式的整體流程不清晰,導致實驗結果無法實現。

解決方法:通過將流程在草稿紙上寫出,然後配合提公升一起理解,最終將外部函式完成。

收穫:本次實驗,我對於指標的理解增強了不少,尤其是對於指標的意義,指標的運算和指標的各種需要注意的事項都有了更深層次的了解,同時也知道了一些指標的特殊用法,例如使用指標將字串進行反轉疊加之類的,還有使用指標來進行排序。

不足:本次實驗時,我發現我對於指標的理解還處於初期狀態,還只是停留在書上的哪一些使用方法,還有很多不理解的地方,通過了實驗才使總體對於指標的理解提高了,對於指標了解還有待加強。

第八次實驗報告

1 問題描述 定義乙個整型指標變數p,使 yi它指向乙個整型變數a,定義乙個浮點型指標q,使它指向乙個浮點型變數b,同時定義另外乙個整型變數c並賦值初值3 使用指標變數,呼叫scanf函式分別輸入a和b的值。通過指標間接訪問並輸出a b的值。按16進製制方式輸出pq的值以及a b的位址。將p指向c,...

第八次實訓報告

我們的專案已完成了大半,從開始的初具規模,到現在基本功能的完善,離不開每乙個人的努力,特別是最近開始壓力很大,要一邊準備複習,一邊敲實訓的 還要寫各種實驗。大家一直互相鼓勵對方。這麼多天的合作,我們互相也學到了不少東西,與課上的東西串起來以後就更加清晰,容易理解。比如xml課上的xml的結構,如何解...

第八次上機實驗課

任務一 任意輸入兩個大於10的整數,將兩數分別反轉 逆序 後兩相乘,如果最後一位是0去掉0,再反轉後輸出 includevoid main int fun int a return num 截圖如圖 任務分割線 任務二 假設乙個數列k表的前兩項是0,1,而之後的每一項為kn 2 kn 1 3 kn ...