上節回顧:
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 今天講的迴圈結構聽的很簡單,下午...