C語言while循環語句
在單片機 C 語言編程的時候,每個程序我們都會固定的加一句 while(1),這條語句就可以起到死循環的作用。對於 while 語句來說,他的一般形式是:
while (表達式){
循環體語句;
}
在 C 語言里,通常表達式符合條件,我們叫做真,不符合條件,叫做假。比如前邊 i
while(表達式)這個括弧里的表達式,為真的時候,就會執行循環體語句,當為假的時候,就不執行。在這裡先不舉例,後邊遇到時再詳細說明。
還有另外一種情況,就是我們 C 語言裡邊,除了表達式外,還有常數,習慣上,我們把非 0 的常數都認為是真,只有 0 認為是假,所以我們程序中使用了 while(1),這個數字 1,可以改成 2、3、4......等等都可以,都是一個死循環,不停的執行循環體的語句,但是如果把這個數字改成 0,那麼就不會執行循環體的語句了。
大家通過學習 for 循環和 while 循環,是不是會產生一個疑問?為何有的循環加上{},而有的循環卻沒加呢?什麼時候需要加,什麼時候不需要加呢?
我們前邊講過,在 C 語言中,分號表示語句的結束,而在循環語句里{}表示的是循環體的所有語句,如果不加大括弧,則只循環執行一條語句,即第一個分號之前的語句,而加上大括弧後,則會執行大括弧中所有的語句,舉個例子看一下吧,上節課的閃爍小燈程序如下所示。
程序一:
while (1){
LED = 0;
for(i=0;i
LED = 1;
}
程序二:
while (1)
LED = 0;
for(i=0;i
LED = 1;
程序一就是我們上節課的程序,直接可以實現閃爍功能。而程序二沒有加大括弧,從語法上來看是沒有任何錯誤的,寫到 Keil 里編譯一下也不會報錯。但是從邏輯上來講,程序二隻會不停的循環「LED = 0;」這條語句,實際上和程序三效果是相同的。
程序三:
純文本複製
while(1){
LED = 0;
}
for(i=0;i
LED = 1;
程序執行到 while(1)已經進入死循環了,所以後邊三條語句是一輩子也執行不到的。因此為了防止出類似的邏輯錯誤,我們推薦,不管循環語句後邊是一條還是多條語句,都加上{}以防出錯。
零基礎小白到大神之路,歡迎加裙 四八七八七五零零四,群里有免費C++課程,還有大量乾貨哦
※自學java編程的學習路徑和框架結構,這裡有都有!簡潔明了!
※程序員javascript寫了這個特效,看完就懵了
※為什麼越來越多的人選擇Java?
※Java網路編程基礎
※2017年最重要的HTML5開發手冊,傳播正能量
TAG:IT技術java交流 |
※Go 語言切片(Slice)
※語言趣談:「母校」英語是「Mother school」?別鬧笑話了!
※Salmon:一個基於Python語言的郵件伺服器
※Python語言環境配置
※vscode寫c語言(windows)
※Canonical宣布Kotlin編程語言Snap包格式上線
※Julia:集Python、C+、R等語言為一體的全新語言
※大師語言 | John William Godward
※微軟推最新程序語言Bosque 以Functors取代Loop循環
※EC Innovations 為「遊戲改變世界」搭建語言橋樑
※Python語言學習路線圖
※Facebook新研究:一個編碼器hold住93種語言!跨語言遷移無需修改
※用R語言的Blogdown+Hugo+Netlify+Github建博客
※Semantic Experiences網站:用自然語言同AI交流
※Kotlin 語言獲Linux通行證
※攝影|Bruno Barbey:世界通用語言
※Dotdot:物聯網的語言
※python入門——動態語言
※《The Room:Old Sins》多語言版本展開事前註冊
※Kotlin語言Web庫又添一虎將:Kweb