本文目錄一覽:
- 1、while()循環為真,為什麼要為假時執行循環里的程序
- 2、單片機C語言,問題一:while(語句){語句}與while(語句);語句 是什麼區別,程序是
- 3、c語言while的用法
- 4、c語言while循環的問題
- 5、C51單片機,C語言 while(表達式) while語句的意思是:先計算表達式的值,當值為真(非
- 6、while 循環中,一定要有能使while後面表達式的值變為“假”的操作! 這句話對嗎?為什麼?謝謝請回答!
while()循環為真,為什麼要為假時執行循環里的程序
while(!KEY); 注意while後面有一個分號,,,也就意味着當KEY=0,,也就是按鍵一直處於按鍵的狀態。。那麼就是while(1); 這就是一個死循環了呢。。希望能幫到你。
單片機C語言,問題一:while(語句){語句}與while(語句);語句 是什麼區別,程序是
首先問題一:while(語句){語句}中小括號中的語句是判斷真假,如果為真,則執行大括號中的語句,如果為假,則不執行下面的語句。while(語句);中的語句也是一個判斷,當小括號中的語句表達式值不為0時,就一直判斷,直到裡面的表達式值為0時結束判斷,去執行下一步的程序;
對於問題二:
while(!k1);
語句1;
while(!k2);
語句2;
對於這個程序段,只要是沒有把它放在一個循環裡面,也就是說讓這個程序順序執行一次就不再去執行這個段,就能實現你想要的功能。因為這幾個語句是順序執行的,所以在執行語句2之前,必須得經過語句1,語句2是不能在語句1之前執行的。同時也實現你需要的K1、K2不為0則檢測,為0則不再檢測,繼續執行下面語句的要求。使用的是你詢問的問題一中第二種循環方式。
c語言while的用法
當n==1時執行while循環結構里的語句,當n不等於1時,則跳過該循環執行循環體外的語句。
while 循環的格式:while (表達式){語句;}
while 循環的執行順序:當表達式為真,則執行下面的語句,語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句,然後再判斷表達式是否為真……就這樣一直循環下去,直到表達式為假,跳出循環。
while 循環的執行順序非常簡單,它的格式是:
while (表達式)
{
語句;
}
當表達式為真,則執行下面的語句;語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句;然後再判斷表達式是否為真……就這樣一直循環下去,直到表達式為假,跳出循環。這個就是 while 的執行順序。
注意,初學者編程時,if、else、for、while、do 後面的執行語句不論有多少行,就算只有一行也要加“{}”,養成良好的編程習慣尤為重要。
寫一個程序實現此功能:計算 (1-1/3+1/5-1/7+1/9-1/11…)*4 的值。
c語言while循環的問題
while循環是對while括號後面的表達式進行真假的判斷,,比如你用的a,C語言中有這樣的規定,如果a=0;那麼a
表達的就是假,如果a不為0,那麼他表示的是真,因此,上面的循環,只要a不等於0,那麼循環就一直進行
剛開始學的時候,我一直以為,只有在等於1的時候才是真,等於2他就不能循環了,其實那是錯的,編譯器判斷真假條件的標準是他等不等於0,而不是等不等於1,樓主記住了哦~
還有就是,如果樓主的意願是讓a=0的時候退出循環,那麼就可以按照你寫的方法進行,如果樓主的意願是讓a=0的時候才循環,那麼有2種寫法
while(!a)
{
//對a進行非操作
}
還有就是
while(0==a)
{}
建議寫成0==
a
的形式,其實0==a,和a==0實質是一樣的,但是如果你講0==a,寫成了0=a,那麼編譯器會報錯,而將
a==0寫成a=0編譯器是不會報錯的,可以減少風險。
祝你進步!!
C51單片機,C語言 while(表達式) while語句的意思是:先計算表達式的值,當值為真(非
(1)不能這樣理解,while(非0)中的非零表示的的是邏輯值,簡單說就是while(表達式)中的表達式成立不成立,成立則為非零;
(2)語言的執行是從上到下的,但while(表達式)但表達式為 零時 ,退出後表達式非零隻有指定跳轉到while的前面或while語句或者是while循環就在一個未退出的大循環下時,while循環才能被繼續執行,否則不會在循環while;
(3)while(!key) 中的”!key “表示key的值為非0(key不等於零這個條件成立)時執行while循環
while 循環中,一定要有能使while後面表達式的值變為“假”的操作! 這句話對嗎?為什麼?謝謝請回答!
不對,main函數里經常用while(1);即使子函數也可以用,只要內部有break條件,即使沒有退出條件,也可以靠異步中斷方式關掉,或者從線程外關掉。。。。
不能退出會無限循環,但對於main函數經常就需要這麼做,一旦main函數end就意味着整個程序停止,這個很多時候我們不想這樣,希望程序會無限執行下去,除非自己想關掉它,這個時候就用while(1),比如單片機程序,主函數如果不是死循環,那才真的死機了,跑到主函數外面運行還沒法返回,但主函數外面的機器碼是無法預期的,整個程序就癱瘓了。。。。。
不過沒有break條件,對於單片機程序會導致無法用同步方式關閉程序,只能靠異步中斷方法退出循環,不過對於windows下的程序無所謂,關閉進程總能退出,就是點X按鈕。。。
沒有退出條件是死循環,但死循環不是死機,是可以允許的,只要他不影響程序的正常運行,是你想要的結果就沒問題。。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/187931.html