亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中for循環語句的用法

發布時間:2020-06-24 16:15:59 來源:億速云 閱讀:563 作者:元一 欄目:編程語言

這期內容當中的小編將會給大家帶來有關C語言中for循環語句的用法,以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

for循環是編程語言中一種開界的循環語句,而循環語句 由循環體及循環的終止條件兩部分組成,for循環其在各種編程語言中的實現與表達有所出入,但基本為以C語言和pascal語言代表的兩種形式。

for 循環語句的一般形式為:

for (表達式1; 表達式2; 表達式3)
{
        語句;
}

首先要強調兩點:

1) 表達式1、表達式2和表達式3之間是用分號;隔開的,千萬不要寫成逗號。

2) for(表達式1;表達式2;表達式3)的后面千萬不要加分號,很多新手都會犯這種錯誤——會情不自禁地在后面加分號。

因為 for 循環只能控制到其后的一條語句,而在C語言中分號也是一個語句——空語句。所以如果在后面加個分號,那么 for 循環就只能控制到這個分號,下面大括號里面的語句就不屬于for循環了。

下面來看看它的執行過程:

  • 求解表達式1。

  • 求解表達式2。若其值為真,則執行for語句中指定的內嵌語句,然后執行第3步;若表達式2值為假,則結束循環,轉到第5步。

  • 求解表達式3。

  • 轉回上面第2步繼續執行。

  • 循環結束,執行 for 語句下面的語句。

從這個執行過程中可以看出,“表達式1”只執行一次,循環是在“表達式2”“表達式3”和“內嵌語句”之間進行的。

for語句最簡單的形式是:

for (循環變量賦初值; 循環條件; 循環變量增值)
{
    語句;
}

C語言的四種運行模型(箭頭表示循環方向):

(1)三角基本模型:

例子:

(2)中間循環體被省略得只剩下";"空語句時的左右往返模型:

條件表達式?末尾循環體

例子:

(3)末尾循環體被省略后的上下往返模型:

條件表達式

↓↑

中間循環體

(4)條件表達式被省略得只剩下";"空語句時,中間循環體或末尾循環體帶有跳出語句時的模型

看完上面四個模型后,你會發現其實它的完成的都是同一個問題,但可以寫成這么多種模型,當然了,這只是省略其中一個語句的模型,你也可以仿照著侵略得只剩下一個語句都可以,前提是不要搞成死循環!

下面給大家寫一個程序,求 1+2+3+4+…+100 的總和。

# include <stdio.h>
int main(void)
{
    int i;
    int sum = 0;  //sum的英文意思是“總和”
    for (i=1; i<=100; ++i)  //++是自加的意思, ++i相當于i = i + 1
    {
        sum = sum + i;  /*等價于sum += i;但是不建議這么寫, 因為sum = sum + i看起來更清楚、更舒服*/
    }
    printf("sum = %d\n", sum);
    return 0;
}

輸出結果是:

sum = 5050

這個程序的功能是實現求 1+2+3+4+…+100 的和,如果不用循環,加一次就要一條語句,加 100 次就要 100 條語句。這里是從 1 加到 100,要是從 1 加到 10000 那就要 10000 條語句。但有了循環就很方便了,你想加到多少就加到多少,只要改一個參數就可以了。所以循環很重要。

下面按照執行過程看看上面這個程序是怎樣執行的。

1、首先定義一個循環變量 i。定義的時候可以不給它賦初值,在 for 循環里面再給它賦初值也行。但前面說過,最好在定義變量的時候就對它進行初始化,如果值不確定就初始化為 0。所以程序中也可以在定義 i 的時候就給它賦初值,那么 for 循環里的“表達式1”就可以省略了,但分號不可以省略。

這樣的話,執行的時候就跳過第1步,直接進入第2步,其他的不變。所以程序也可以像下面這樣寫:

# include <stdio.h>
int main(void)
{
    int i = 1;
    int sum = 0;
    for (; i<=100; ++i)
    {
        sum = sum + i;
    }
    printf("sum = %d\n", sum);
    return 0;
}

當然表達式1加上也行,大不了再重新賦一次值。

2、然后定義一個用來存放“和”的變量 sum,并給它賦初值 0,然后進入 for 循環:

  • 首先求解表達式1,即給變量i賦初值,i=1;表達式1只執行這一次,下面都不會再執行了。

  • 然后求解表達式2,若 1<=100 成立,則執行 for 循環中的內嵌語句,即 sum=0+1。

  • 然后執行第3步,變量 i 自加 1,即變量 i 由 1 變為 2。

  • 然后再求解表達式2,2<=100 成立,則執行 for 循環中的內嵌語句,sum=0+1+2。

  • 然后再執行第3步,變量 i 自加 1,即變量 i 由 2 變為 3。

  • 然后再求解表達式2,即 3<=100 成立,則執行 for 循環中的內嵌語句,sum=0+1+2+3。

  • ……

就這樣一直循環下去,直到 ++i 等于 100 的時候,求解表達式2,即 100<=100 成立,則執行 for 循環中的內嵌語句,sum=0+1+2+3+…+100。

然后再執行第3步,變量 i 自加 1,即變量 i 由 100 變為 101。然后再求解表達式2,即 101<=100 不成立,則結束循環,執行 for 循環下面的語句即 printf。

以上就是這個程序的執行過程。關于 for 語句的代碼規范化問題,有兩點要再跟大家強調一下:

1)if、else、for、while、do 都只能控制到其后的一條語句,如果要控制多條語句必須加大括號{}。但基于代碼規范化,if、else、for、while、do 后面的執行語句不論有多少行,就算只有一行也要加{}。

2) 像 if、for、while 等關鍵字之后應留一個空格再跟左括號(,以突出關鍵字。

此外上面的程序還有一個知識點要跟大家說一下:從功能上講,for(i=1; i<=100;++i)完全可以寫成for(i=1; i<101; ++i),而且建議大家盡量使用這種寫法。也就是說,循環語句的循環條件盡量寫成半開半閉的,不管是 for 循環還是 while 循環。

for(i=1; i<101; ++i)實際上是 1≤i<101,是半開半閉的;而for(i=1; i<=100; ++i)實際上是 1≤i≤100,是全閉的。那么為什么建議使用半開半閉的呢?因為如果寫成 i<=100 的話,那么每次判斷的時候都要判斷兩次,即 i<100 和 i==100,而寫成 i<101 的話每次只需要判斷一次。

下面再給大家寫一個程序,求 1 到 100 之間所有奇數的和。

# include <stdio.h>
int main(void)
{
    int i;
    int sum = 0 ;
    for (i=1; i<100; i+=2)  //i+=2;等價于i = i + 2;
    {
        sum = sum + i;
    }
    printf("sum = %d\n", sum);
    return 0;
}

輸出結果是:

sum = 2500

上述就是小編為大家分享的C語言中for循環語句的用法了,如果您也有類似的疑惑,不妨礙參照上述分析進行理解。如果想了解更多相關內容,請關注億速云行業資訊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永春县| 博兴县| 新龙县| 六枝特区| 乐安县| 新建县| 拉孜县| 德兴市| 扶绥县| 张掖市| 区。| 西青区| 修水县| 上饶县| 尉氏县| 清徐县| 密云县| 莱芜市| 上蔡县| 芒康县| 海阳市| 乳源| 岑溪市| 贵溪市| 西乡县| 东光县| 林芝县| 宝山区| 肥东县| 花垣县| 黔南| 会昌县| 武城县| 茂名市| 乌拉特后旗| 霍城县| 白山市| 潢川县| 河源市| 宁阳县| 平泉县|