while(1)和while(0)
生活随笔
收集整理的這篇文章主要介紹了
while(1)和while(0)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
while語句的原型是while(表達式)語句,當表達式為非0值時,執行while語句中的嵌套語句。
1.while(1)其中1代表一個常量表達式,它永遠不會等于0。循環會一直執行下去。除非你設置break等類似的跳出循環語句循環才會中止。
2.while(i–)其中i是一個變量,因此表達式i–有不同的值,依次遞減,i–是先取值后減,–i先加后取值,所以i–的值同未執行該自減運算時的i相等。因此當i為0時,循環會跳出。
很容易混淆的是把i–的值誤認為i執行自減后的值。
擴展資料:
單片機中while(1)有兩種用途:
while(1); 意義:這是一個死循環,代碼不再向下執行。
用途:
while( 1 ) { 代碼 }; 意義:這里將會重復執行{}中的代碼
用途:
1.單片機在不使用操作系統時,主程序一般都使用這種架構
2.操作系統中的進程,執行任務時,有些也會使用這種架構
3.{}中的代碼不停地檢測某個條件,當條件符合時,跳出該循環,繼續向下執行
4.停留在此,等待中斷。
在單片機中使用while(1),大部分還是為了防止程序跑飛,因為很多時候執行完某段程序后單片機的程序指針PC并不會停止,仍然會繼續從ROM中讀取指令并執行,進而出現不確定的結果,加個while(1)就能讓程序在執行完后在原地循環,相當于停在原地,防止跑飛。
while(0)就是一次都不執行循環,等同于while(0!=0)
總結
以上是生活随笔為你收集整理的while(1)和while(0)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【读书笔记】IOS帝国-Apple Ⅱ/
- 下一篇: 计算机开放电子书 2016 归档