第11次作業

2022-07-19 05:00:19 字數 961 閱讀 9103

1.本次課學習到的知識點:

(1)密碼開鎖中,定義變數來存放密碼再定義乙個特俗的指標變數,用於存放變數的位址;

(2)位址和指標,變數或者程式**被儲存在以位元組為單位組織的儲存器中,一般是按「位址」訪問的,對記憶體單元進行標識編號,房間號就是位址,要注意區分記憶體單元的內容和記憶體單元的位址;

(3)c語言中把這種專門用來存放變數位址的變數稱為「指標變數」,簡稱為指標;指標是用存放記憶體位址的變數,乙個指標變數的值是另乙個變數的位址,就稱該指標變數指向那個變數;

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

(1)怎麼說呢,往往書上有事也找不到有用的,有時問問老師

3. 實驗心得體會及本章學習總結:

(1)心得:這章節的內容很多,概念也不少,要多花時間看書,加以練習,拆分實數有些不會

4. 幾個問題的思考與回答:

(1)兩個相同型別的指標變數能不能相加?為什麼?

不能。因為相加後的值可能超出,不在這個位址內,是毫無意義的,且是不被允許的。

(2)在使用scanf()函式時,輸入引數列表需要使用取位址操作符&,但當引數為字元陣列名時並沒有使用,為什麼?如果在字元陣列名前加上取位址操作符&,會發生什麼?

因為字元陣列名的值是乙個特殊的固定位址,可以看作是常量指標,因此不需要再使用 取位址符來獲取該陣列的位址。

如果在字元陣列名str 前加上取位址操作符&,那麼對其取位址&str 可以看做是這個數 組的第乙個元素的位址,由於陣列位址和陣列第乙個元素的位址相同,所以&str 表示位址值和str 表示的位址值是相等的。對scanf()的變長引數列表的話,編譯器只負責引數傳遞,怎麼解釋後邊的幾個位址的含義, 是由前邊的字串確定的。所以使用scanf(「%s」,str)和 scanf(「%s」,&str)都能通過編譯且正常執行。

(3)c語言不允許用賦值表示式直接對陣列賦值,為什麼?

因為陣列的陣列名本質上來說相當於乙個指向該陣列的第乙個元素的指標常量,不可以對乙個常量進行賦值,它不是乙個標量。

第11次作業

作業題1 任意輸入乙個整數如 123456 或 123456 逆序輸出 654321 或 654321 includeint f int n return x void main 分割線 作業題2 費式數列 fibonacci 的前兩項為1 1,之後的每一項為前兩項之和,即fn f n 1 f n ...

第11次作業

本次課學到的知識點 指標是c語言中非常重要的概念,使用指標可以對複雜資料進行處理,能對計算機的記憶體分配進行控制,在函式呼叫中使用指標還可以返回多個值。指標訪問記憶體和操縱位址,是通過變數的位址進行操控。指標變數定義 型別名 指標變數名 型別名指定指標變數所指向的變數的型別,必須是有效資料型別 不同...

第11次作業

1.編寫程式,統計字串中大寫字母的個數 includemain printf 大寫字母個數為 d n 2.編寫程式,去掉字串中所有的星號。3.編寫程式,將字元陣列a中的字母複製到字元陣列b中,要求每三個字元後插入乙個空格。4.輸出字串中位置為奇數,ascii為偶數的字元。5.統計字串中各數字字元的個...