分支語句(選擇結構)
迴圈語句
for迴圈
goto語句
分支語句
迴圈語句什麼是語句?
c語言中用乙個;隔開的就是乙個語句
printf
("hello");
sum=a+b;
如果你不好好學習,你將找不到工作。
這就是選擇!
if語句
if (表示式)如果表示式為真語句1執行,否則表示式二執行。語句;if (表示式)
語句1;
else
語句2;
//多分支
if (表示式1)
語句1;
else if (表示式2)
語句2;
else
語句3;
//**1
if(condition)
return x;
return y;
//**2
if(condition)
else
//**3
int num =1;
if(num ==5)
//**4
int num =1;
if(5== num)
上面對比**二和**四更直觀不容易出錯。
switch語句
switch語句經常用於多分支情況
switch
(整形表示式)
例如:
#include
intmain()
return0;
}
while迴圈
我們已經掌握了乙個語句 if()else 但是這個語句只執行一次
而要進行迴圈的話可以用while()實現。
while(表示式)break在while中的應用迴圈語句;
可見break是永久性跳出迴圈。continue在while中的應用
由此可見continue在while中是終止本次迴圈不是跳出迴圈而是又跳到while()中進行判斷不執行continue後面的語句。for迴圈是比while迴圈的風格更好,使用頻率也高。
for(初始化部分 ;條件判斷部分 ;調整部分 )迴圈語句;
我們從上面可以看出來for中也有break和continue語句,和while中有些許差異。do…while()迴圈do迴圈語句;
while(表示式)
從這裡可知do語句至少執行一次。
c語言中提供了可以隨意濫用的 goto語句和標記跳轉的標號。從理論上 goto語句是沒有必要的,實踐中沒有goto語句也可以很容易的寫出**。
但是某些場合下goto語句還是用得著的,最常見的用法就是終止程式在某些深度巢狀的結構的處理過程,例如一次跳出兩層或多層迴圈。這種情況使用break是達不到目的的。它只能從最內層迴圈退出到上一層的迴圈。
下面是使用goto語句的乙個例子:
乙個關機程式
而不用goto語句也可以用while迴圈語句#include
intmain()
;system
("shutdown -s -t 60");
again:
printf
("電腦將在1分鐘內關機,如果輸入:我是豬,就取消關機!\n請輸入:>");
scanf
("%s"
, input);if
(0==strcmp
(input,
"我是豬"))
else
return0;
}
#include
intmain()
;system
("shutdown -s -t 60");
while(1
)}return0;
}
程式設計師成長之旅 設計迴圈佇列
設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於 fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為 環形緩衝器 迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但是...
程式設計師成長之旅 C語言旋轉字元函式實現
實現乙個函式,可以左旋字串中的k個字元。abcd左旋乙個字元得到bcda abcd左旋兩個字元得到cdab 採用迴圈移位,對需要旋轉的k個字元按順序進行旋轉,先將要旋轉的乙個字元儲存起來,將後面的往前挪動一位,再將儲存起來的這個字元賦給最後一位,這樣連續迴圈k次。include include in...
程式設計師成長之旅 C語言自定義型別
列舉聯合 特點結構體型別的建立 首先要知道結構體是什麼?這樣才可以建立乙個結構體。舉個例子 struct stu 分號一定要有 特殊的結構體的建立 struct x struct a 10 p 上面兩種結構體建立宣告時,省略了標籤tag,也就是struct後面的東西。那麼可以直接用p x嗎?警告 編...