循環結構
使用循環結構的步驟一般分三步:
- 初始化循環條件,常見的手段是通過一個變量來控制循環,那麼第一步就應該給這個變量賦初值。
- 編寫循環結構要執行的操作,其中必須要有一步是改變循環條件,最終讓循環條件不成立,比如增加變量使其超越臨界值。
- 檢查循環條件是否符合成立,以便在某個時該跳出循環。不能跳出的循環稱爲死循環,死循環會嚴重佔用CPU 的時間片資源,除非有意爲之,否則編程中應該儘量避免。
while 與do-while 循環
while(循環條件)
{
語句塊;
}do
{
語句塊;
}while(循環條件);
(後面有分號)- 循環正常結束的條件是,括號裏面的計算結果爲0(包括數值0,空間指針NULL,函數返回值爲0)。
- do-while 循環與while 循環的區別是,do-while 的循環體語句至少會被執行一次,而while 循環的語句則有可能一次都不執行。
for 循環
for(表達式1;表達式2;表達式3)
{
語句塊;
}在C99 標準中,可以在for 語句的三個表達式中定義並初始化變量。
for(int i = 0; i < 100; i++)
{
//語句塊;
}
break 與continue
break
程序在遇到break 語句後,將自動跳出本循環,break 只能結束一層循環,多層的循環需要通過多個break 纔可以完全跳出。
continue
continue 只用於結束本輪循環,如果循環條件符合,則循環還會繼續下去。
goto 語句
使用goto 語句可以在程序中進行無條件地跳轉。
goto 語句的格式如下:
…
語句標號:
…
goto 語句標號;
…任何一本關於C 語言的書上都會提到,使用goto 語句會破壞C 程序的結構,不主張使用goto 語句。
符號常量
- 可以通過#define 定義符號常量,方法如下:
#define 常量名稱 值
- #define 後面不需要加分號,因爲它是預編譯指令,不是C 語言的語句。一般程序在正式編譯之前,會由預處理器對源碼進行預處理操作,操作的對象就是以#開頭的預處理指令。
- 類似於#define 這樣的指令執行的是宏替換操作。
轉義字符
轉義字符:用於表示無法輸入的字符或不可見的字符。形式:“\”後面跟一個字符或數字。
- \n 換行,將當前位置移到下一行開頭
- \t 橫向跳格,橫向跳到下一個輸出區