程式設計師成長之旅 C語言分支迴圈語句(初階)

2021-09-18 04:58:52 字數 2753 閱讀 7164

分支語句(選擇結構)

迴圈語句

for迴圈

goto語句

分支語句

迴圈語句

什麼是語句?
c語言中用乙個;隔開的就是乙個語句

printf

("hello");

sum=a+b;

如果你不好好學習,你將找不到工作。

這就是選擇!

if語句

if (表示式)

語句;if (表示式)

語句1;

else

語句2;

//多分支

if (表示式1)

語句1;

else if (表示式2)

語句2;

else

語句3;

如果表示式為真語句1執行,否則表示式二執行。

//**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語句的乙個例子:

乙個關機程式

#include

intmain()

;system

("shutdown -s -t 60");

again:

printf

("電腦將在1分鐘內關機,如果輸入:我是豬,就取消關機!\n請輸入:>");

scanf

("%s"

, input);if

(0==strcmp

(input,

"我是豬"))

else

return0;

}

而不用goto語句也可以用while迴圈語句

#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嗎?警告 編...