<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機之C語言-4.5基本語句之循環(huán)語句

          51單片機之C語言-4.5基本語句之循環(huán)語句

          作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
          1.循環(huán)語句while

          循環(huán)結(jié)構(gòu)是程序中一種很重要的結(jié)構(gòu)。

          本文引用地址:http://www.ex-cimer.com/article/201611/319555.htm

          while語句的一般形式為:

          while(表達式)語句

          其中表達式是循環(huán)條件,語句為循環(huán)體。

          while語句的語義是:計算表達式的值,當(dāng)值為真(非零)時,執(zhí)行循環(huán)體語句。其執(zhí)行過程可用下圖表示。

          圖4-5-1 while循環(huán)執(zhí)行過程

          while語句中的表達式一般是關(guān)系表達式或邏輯表達式,只要表達式的值為真(非0)即可繼續(xù)循環(huán)。

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

          do-while語句的一般形式為:

          do

          語句

          while(表達式)

          其執(zhí)行過程可用如下流程圖表示,

          這個循環(huán)與while循環(huán)的不同在于:它先執(zhí)行循環(huán)中的語句,然后再判斷表達式是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,do-while循環(huán)至少要執(zhí)行一次循環(huán)語句。

          3.循環(huán)語句for

          for循環(huán)的一般形式為:

          for (表達式1;表達式2;表達式3)

          {

          語句;

          }

          執(zhí)行過程:

          (1)計算”表達式1”(“表達式1”通常稱為”初值設(shè)定表達式”).

          (2)計算”表達式2”(“表達式2”通常稱為”終值條件表達式”)。若其值為非零,執(zhí)行步驟(3);若其值為零,執(zhí)行步驟(5)

          (3)執(zhí)行一次for循環(huán)中的語句

          (4)計算”表達式3”,跳到步驟(2)

          (5)結(jié)束循環(huán),執(zhí)行for循環(huán)之后的語句

          例如:

          for(i=0;i<8;i++)num=num+i;

          關(guān)于for循環(huán)在前面章節(jié)的講解中我們已經(jīng)使用過了,相信大家已經(jīng)會使用了。這里需要注意的是for循環(huán)的執(zhí)行過程。

          這里再對for循環(huán)語句的幾種特例進行簡單描述。所謂特例實際上是當(dāng)for循環(huán)中”表達式1”, ”表達式2”, ”表達式3”部分省略的情況下,程序如何執(zhí)行。

          (1)三個表達式為空

          for(;;)

          {

          語句1;

          語句2;

          }

          在以上for循環(huán)中沒有表達式1,2,3均為空,表示沒有初值,沒有判斷條件,沒有增量變化,這是一個死循環(huán),相當(dāng)于while(1)語句。

          #include "reg52.h"

          void main(void)

          {

          for(;;)//可以代替while(1)

          {

          //語句1;

          //語句2;

          }

          }

          (2)第一個表達式為空

          for(;i<=100;i++)sum=sum+i;

          以上for循環(huán)中表達式1無,i不做初始值設(shè)置,i的值取決于該程序前面對i的處理

          (3)第二個表示為空

          for(i=1;;i++)sum=sum+i;

          以上程序表達式2為空,不判斷條件,那么該循環(huán)也是死循環(huán)。相當(dāng)于:

          i=1;

          while(1)

          {

          sum=sum+i;

          i++;

          }

          (4)表達式1和表達式3為空

          for(;i<=10;)

          {

          num=num+i;

          i++;

          }

          以上for循環(huán)中,表達式1和3為空,相當(dāng)于

          while(i<=10)

          {

          num=num+i;

          i++;

          }

          (5) for循環(huán)中沒有執(zhí)行語句(循環(huán)體)

          for(i=0;i<8;i++)

          {

          ;

          }

          以上for循環(huán)中無循環(huán)體,起到延時的作用,也可以簡寫為,

          for(i=0;i<8;i++);



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();