<1>8.3.1 指標基礎及指標運算
<2>8.3.2 資料交換
<3>8.3.3 字串反轉及字串連線
<4>8.3.4 陣列元素奇偶排列
<1>掌握指標的概念和定義方法。
<2>掌握指標的操作符和指標的運算。
<3>掌握指標與陣列的關係。
<4>掌握指標與字串的關係。
<5>熟悉指標作為函式的引數以及返回指標的函式。
<6>了解函式指標。
實驗練習1: 指標基礎及指標運算
1.問題的簡單描述:
(1)定義乙個整型指標變數p,使它指向乙個整型變數a,定義乙個浮點型指標q,使它指向乙個浮點型變數b,同時定義另外乙個整型變數c並賦初值3。
(2)使用指標變數,呼叫scanf函式分別輸入a和b的值。
(3)通過指標間接訪問並輸出a、b的值。
(4)按十六進製制方式輸出p、q的值以及a、b的位址。
(5)將p 指向c, 通過p 間接訪問c的值並輸出。
(6)輸出p的值及c的位址,並與上面的結果進行比較。
2.實驗**:
/*3.執行結果:8-1.c
*/# include
intmain()
4.問題分析:
無實驗練習2: 資料交換
1.問題的簡單描述:
(1)定義兩個函式,分別為voidswap1(inta,intb)和voidswap2(inta,intb),用於交換a,b的值。
(2)從主函式中分別輸入兩個整型變數a、b。
(3)從主函式中分別呼叫上述兩個交換函式,並列印輸出交換後a、b的結果。
2.實驗**:
# include void swap1 (int x, int3.執行結果:y);void swap2 (int *x, int *y);
intmain()
void swap1(int x, int
y)void swap2(int *x, int *y)
4.問題分析:
僅僅是填書上需要填的空,沒有問題
實驗練習3:字串反轉及字串連線
1.問題的簡單描述:
(1)定義兩個字元指標,通過gets()函式輸入兩個字串。
(2)定義乙個函式char reverse(char str),通過指標移動方式將字串反轉。
(3)定義乙個函式char link(char str1, char *str2),通過指標移動方式將兩個字串連線起來。
(4)從主函式中分別呼叫上述函式,輸入字串並列印輸出結果。
2.實驗**:
# include char *reverse (char *str);3.執行結果:char *link (char *str1, char *str2);
intmain()
char *reverse (char *str)
return str; }
char *link (char *str1, char *str2)
putchar('\0
');
return
str1;
}
4.問題分析:
當q實驗練習4: 陣列元素奇偶排列
1.問題的簡單描述:
(1)定義乙個整型一維陣列,任意輸入陣列的元素,其中包含奇數和偶數。
(2)定義乙個函式,實現將陣列元素奇數在左,偶數在右的排列。
(3)在上述定義的函式中,不允許再增加新的陣列。
(4)從主函式中分別呼叫上述函式,列印輸出結果。
2.實驗**:
# include # define n3.執行結果:10void arrsort (int a, int
n);int
main()
void arrsort (int a, int
n)}
4.問題分析:
這個題目沒有很複雜,只需要知道判斷奇數和偶數,將奇數往前移,偶數往後移就可以
第八章 指標 第八章 指標
1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...
第八章 指標
指標 1,指標 指標,英文名是pointer,也叫位址,他是常量。他就是乙個記憶體空間的首位置。2,指標變數,位址變數 顧名思義,指標變數就是存放指標 位址 的變數。如果定義呢?short int p null 定義了乙個指標變數p,並且付給初始值為零。short int 就是型別。表示的是存放sh...
第八章 指標實驗
1 問題的簡單描述 流程圖如下 2 實驗 includeint main 輸出結果 3 問題分析 無。1 問題的簡單描述 流程圖如下 2 實驗 includevoid swap1 int x,int y void swap2 int x,int y int main void swap1 int x...