IOS開發之路 C 學習筆記7 18

2021-06-16 16:13:47 字數 2133 閱讀 9795

上節回顧:

while

迴圈和do..while

迴圈 的區別?

while迴圈

是先判斷後執行,

do..while

是先執行一次後判斷.且

do...while

至少迴圈一次.

break的作用:跳出switch 語句,跳出與自己最近的一次迴圈

continue的作用:跳出本次迴圈,執行下次迴圈.

常量區(不允許修改),棧區(一般存放區域性變數),堆區(一般是手動申請,動態分配),**區(主要用來存放**)

常量分為:

直接常量和

命名常量(const)

使用const進行常量定義, 之後不再允許修改例

const  int const = 10;

count  = 20

;(編譯出錯)

#define pi 3.1415

寫在main函式外面,好處:一處修改,便於修改和維護

提高**可讀性

便於程式維護

列舉定義使用enum

列舉的值:

enum weekday;

未指定項 後一項參照前一項加1

列舉示例:

#include enum weekday ;

int main(int argc, const char * argv)

return 0;

}

執行後,輸入5的話輸出的也是5. 

為什麼使用函式

將程式模組化

實現**復用

使**便於維護

函式就是具有具體功能的自包含的**塊

c語言中函式分為

-系統庫函式

-自定義函式

包括宣告和定義兩部分.

如果函式寫在main方法上面,則不用宣告.但是如果函式寫在main下面 則必須在main函式外宣告.

形式引數和實際引數

區域性變數

: auto static register

auto

自動型變數

,不寫預設也是自動型,每次使用時被建立,出了其作用域後自動釋放

static

靜態型變數

,定義為靜態變數之後,在程式執行期間一直保持,直到程式執行結束

(

for(int i  = 1 ; i<10 ; i++)

)

static變數在程式你開始就執行了,執行後顯示na是不累加的nb是累加的.

register

暫存器型變數,和自動型變數具有相同的持續時間,但是被儲存到了暫存器內,但是有些編譯器並不支援此型別,那麼就當做auto型使用(暫存器是cpu的元部件,從暫存器中取資料比從記憶體中取資料要快,但儲存的資料有限)

全域性變數

: 無修飾符 static extern

無修飾符

在程式執行時建立一次,程式結束時銷毀,允許在同專案的其他檔案中使用該變數

static

程式執行時建立一次,程式結束時銷毀,不允許在同專案的其他檔案中進行使用

extern

擴充套件其他檔案中的全域性變數到本檔案進行使用,並不建立新的變數,而是使用已有的同名變數

extern還可以用來擴充套件其他檔案中的函式到本檔案使用

如果把全域性變數宣告在標頭檔案中.h 想使用的話,只需要在c原始檔中引入標頭檔案中。

如果把全域性變數宣告在原始檔中,在其他原始檔中想使用的話,必須用exuern宣告一下他.

如果把全域性變數加static宣告下原始檔中,其他原始檔是使用不了的,但是標頭檔案可以.

1

IOS開發之路 C 學習筆記7 15

今天聽的還是挺輕鬆的,但是還是學到了以前不知道的東西.比如 i 先自增 再使用 i 先使用 再自增 高精度忘低精度轉 不四捨五入直接捨掉 例 printf d int 3.14 還有幻影回車符.例用scanf輸入時 void getchar 其中輸入完4個數字之後 如輸入1 2 3 4 之後回車,輸...

IOS開發之路 C 學習筆記7 16

c語言中使用0作為假,非0即為真 與 同真為真 同假為假 其中有乙個為假 即為假 或 同真為真 同假為假 有真即真 非 非真即假 反之亦然 運算子優先順序 綜合性 從左到右 算數,單目運算子 從右到左 算術,單目運算子 從左到右 算數,雙目運算子 從左到右 關係運算子 從左到右 關係運算子 從左到右...

IOS開發之路 C 學習筆記7 17

7 17 星期3 c語言迴圈有三種 while do while forbreak 跳出迴圈 距離自己最近的 continue 跳出本次迴圈,而不結束整個迴圈,然後繼續下次迴圈 0 1 2 3 4 5 6 100 for i 0 i 100 i else sum i 今天講的迴圈結構聽的很簡單,下午...