C語言-循環(huán)結構

1 概述

循環(huán)結構是程序中一種很重要的結構.其結構的特點是,再給定條件成立時,反復執(zhí)行某程序,知道條件不成立為止.C語言中的循環(huán)結構有多種類型,如下:

  1. 用while語句;
  2. 用do-while語句;
  3. 用for語句.

2 while語句

while語句的一般形式:
while(表達式)
{
語句;
}
表達式為while的循環(huán)條件,語句為循環(huán)體.也就是說,當滿足表達式的時候,進入循環(huán)體執(zhí)行語句.
練習1:用while語句求1~100所有整數(shù)之和;

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

練習2:用while循環(huán)語句求[m,n]之間所有整數(shù)之和;

#include <stdio.h>
int main(int argc,char *argv)
{
int m,n,i,sum=0;  //變量定義

printf("請輸入兩個整數(shù)m和n: \n"); //鍵盤輸入變量值
scanf ("%d%d",&m,&n);

if (m<n)  // 計算公式部分: 1.判斷m是否小于n;
{                                        // 2. 進行循環(huán)計算;
while(i<=n)
{
sum=sum+i;
i=i+1;
}
}
else
printf ("error\n");
printf ("[%d,%d]之間的整數(shù)和為: \n",m,n,sum);
return 0;
}

3 do...while循環(huán)語句

do...while循環(huán)語句的一般形式如下:
do
{
循環(huán)語句;
}
while(表達式);
do...while循環(huán)語句和while循環(huán)語句有一定的區(qū)別:do...while語句實現(xiàn)執(zhí)行循環(huán)語句,然后再判斷表達式是否為真,若為真則繼續(xù)循環(huán),否則跳出循環(huán).因此,do...while循環(huán)語句至少要執(zhí)行一次循環(huán)語句.
練習1:用do...while循環(huán)語句,求1~100之間所有整數(shù)之和.

#include<stdio.h>
int main()
{
int i=0,sum=0;
do
{
sum=sum+i;
i++;
}
while(i<=100);
printf ("1~100之間所有整數(shù)之和為: \n",sum);
return 0;
}

4 for循環(huán)語句

f在C語言中,for循環(huán)語句的使用是最靈活的,它是完全可以取代while和do...while循環(huán)語句的.for循環(huán)語句的一般形式為:
for(表達式1;表達式2;表達式3)
{
循環(huán)語句;
}
其中,表達式1表示循環(huán)變量賦初始值;表達式2表示循環(huán)條件;表達式3表示循環(huán)變量的增量).

for循環(huán)語句的執(zhí)行過程:

  1. 先求解表達式1;
  2. 求解表達式2,若條件為真(非0)時,則執(zhí)行指定的循環(huán)語句,反之則跳出循環(huán),執(zhí)行循環(huán)后的語句;
  3. 求解表達式3;
  4. 轉(zhuǎn)到第二步繼續(xù)執(zhí)行;
  5. 循環(huán)結束,執(zhí)行for循環(huán)語句后面的語句.

練習1:用for循環(huán)語句,求1~100之間所有整數(shù)之和;

#include<stdio.h>
int main()
{
int i,main=0;
for (i=1;i<=100;i++)
{
sum=sum+i;
}
printf ("1~100之間所有整數(shù)之和為:%d\n",sum);
return 0;
}

注意:

  1. for 循環(huán)中的"表達式1","表達式2","表達式3"都是可以選擇的,但是它們中間的";"使不能缺少的;
  2. 表達式1可以設置循環(huán)變量的初值的賦值表達式,也可以是其他表達式;
  3. 表達式1和表達式3可以是一個簡單的表達式也可以是用逗號表達式.如:
    for (i=0,j=100;i<=100;i++,j--)
    {
    k=i+j;
    }
  4. 表達式2一般是關系表達式或者邏輯表達式,但也可是數(shù)值表達式或者字符表達式,只要其值為非零,就能執(zhí)行循環(huán)體.如:
  1. for(i=0;(c=getchar()) != '\n';i += c)
  2. for(;(c=getchar()) !='\n';)
    printf ("%c",c);

5 課外補充

break和continue的區(qū)別

break:在循環(huán)中遇見break,則直跳出循環(huán);
continue:在循環(huán)中遇見continue時,跳出這一次循環(huán),進入下一次循環(huán).

break和continue的執(zhí)行形式如下:

while(表達式1)
{
if (表達式2)
break; //跳出循環(huán),執(zhí)行循環(huán)后的語句;
....
}

while(表達式1)
{
if (表達式2)
continue; //跳出這一次循環(huán),執(zhí)行下一次循環(huán))
...
}

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • while語句: while循環(huán)可實現(xiàn)“當型”循環(huán),即當條件成立時,執(zhí)行循環(huán)體。適合無法確定循環(huán)執(zhí)行次數(shù)的情況。 ...
    真一閱讀 1,256評論 0 1
  • for語句: 表達式1 給循環(huán)變量賦初值 表達式2 為循環(huán)條件 表達式3 用來修改循環(huán)變量的值,稱為循環(huán)步長。 ...
    真一閱讀 2,159評論 0 3
  • 謹記 每當清晨太陽初升時,那一剎那,炙熱的陽光灑在大地,打破了大地甜美的夢鄉(xiāng),大地蘇醒了,因為他知道,只有借著太陽...
    長風留言閱讀 1,287評論 0 6
  • “梅姐姐,好久不見?!?“梅姐姐,你已經(jīng)好久沒給生活家投稿了。” “梅姐姐,你都給XX專題的征文寫稿子,都不來參加...
    梅話三弄閱讀 1,738評論 110 85
  • 在江寧久了,對于傳說中的“城南老家”,突然開始牽掛。牽掛得最深的,就是剪子巷。 有一個扎根在城南的攝影師經(jīng)常拿來剪...
    狂奔在獨木橋上閱讀 634評論 1 0

友情鏈接更多精彩內(nèi)容