1樓:四舍**入
c語言中while的用法解析如下:
1表示true,在bool型別取值false和true,0為false,非0為true(例如-1和2都是true)。程式中,這裡1就表示永真,直到迴圈體內遇到break。
bool表示布林型變數,也就是邏輯型變數的定義符,以英國數學家、布林代數的奠基人喬治·布林(george boole)命名。布林型變數的值只有 真 (true) 和假 (false),0為false,非0為true(例如-1和2都是true)。
2樓:網友
while的判斷是隻有0才是假,才退出迴圈,就是隻有當a/=10等於0的時候才退出。因為a是定義成int型的只要a/=10出現零點幾的時候就會取整,就會變成0
3樓:匿名使用者
while的迴圈用法是:
while(條件)
其實跟for這樣的用法是一樣的:
for(變數名;條件;)
4樓:1024程式設計師
c語言迴圈結構之while迴圈語句。
c語言while的用法
5樓:滄海雄風
第二個 看見後面的 ; 了嗎抄?
其實完整格式是。
while(p3_7==0)
就是一直迴圈到不等於0 什麼都不幹 實際上正規的寫法應該是 null; 而不是隻有一個;
只有一個; 在**優化時會被優化掉。
6樓:風雲小子
你這個應該是微控制器裡面計算口輸入按鈕計數,然後通過p0十位p2個位,接數碼管顯示的程式。下面是給您分析的過程(第二個是檢測按鍵是否起來):
void main(void)
p0=table[count/10];
p2=table[count%10];
}while(p3_7==0); 檢測按鈕是否起來,為下一次檢測按鈕 按下做好準備}}
}這個程式很簡單,要是彙編的話,挺複雜的。
7樓:匿名使用者
while(p3_7==0);
這個while語句的迴圈體中只有一個空語句(即只有一個分號的語句),所以如果p3_7==0 則進入迴圈體中去執行一下空語句(即什麼也不幹)。呵呵。
8樓:匿名使用者
while(p3_7==0);
等待埠拉高,如果現在是低電平的話,將進入死迴圈,什麼事情都不幹,埠拉高後就跳出迴圈。
9樓:吶誰ni在**
while(p3_7==0);
就是說當p3_7==0時,該函式保持原樣,不變、
10樓:程式設計師的每一天
c語言迴圈結構之while迴圈語句。
while迴圈語句例子有哪些?
11樓:社會暢聊人生
計算從1加到10的3種**(sum之前宣告過,初始值賦值為0,i的初始值為1)。
儲存級別關鍵字:
auto:指定為自動變數,由編譯器自動分配及釋放。通常在棧上分配。與static相反。當變數未指定時預設為auto。
static:指定為靜態變數,分配在靜態變數區,修飾函式時,指定函式作用域為檔案內部。
register:指定為暫存器變數,建議編譯器將變數儲存到暫存器中使用,也可以修飾函式形參,建議編譯器通過暫存器而不是堆疊傳遞引數。
extern:指定對應變數為外部變數,即標示變數或者函式的定義在別的檔案中,提示編譯器遇到此變數和函式時在其他模組中尋找其定義。
const:指定變數不可被當前執行緒改變(但有可能被系統或其他執行緒改變)。
volatile:指定變數的值有可能會被系統或其他執行緒改變,強制編譯器每次從記憶體中取得該變數的值,阻止編譯器把該變數優化成暫存器變數。
c++ while為什麼會無限迴圈?
12樓:紫薇參星
你的程式的問題是把for迴圈變數a,在while迴圈中改變大小了,導致無限迴圈。
解決方法是把a的值賦給臨時變數t,用t做while迴圈。
還有x的輸入要用cin.
另外,對於每個數a,b都要初始化為0.
改完的程式如下(見圖)
13樓:聽不清啊
for(a=10;a<=x;a++)
因為這裡的while迴圈每次到a==0時就結束迴圈,執行a++就變成1,然而因為x是一個大於9的正數(否則就不會進入迴圈),就會不停地重複以上的操作,所以在這裡,是for迴圈發生了死迴圈。
14樓:
while迴圈的用法是。
while(判斷條件)
如果判斷條件為真,則實行迴圈內部**;
如果判斷條件為假,則跳出迴圈,執行後續**。
而判斷條件為真的時候,值是1;判斷條件為假的時候,值是0故而,while 1是無限迴圈。
---僅供參考。
c語言中的while迴圈是怎樣的?
15樓:走進支教生活
我是一名多年的微控制器工程師,下面的講解你可以參考一下。
原句是下面這樣的。
while(n)
講解:1 while(1)是無限迴圈花括號裡面的語句。
比如:while(1)
這樣語句a=b; c=d;,從上到下執行完後,然後又回到起始點,再從上到下執行,如此無限迴圈。
2 while(i--)
假設i=50,每執行完花括號裡面一次,i就減1,這個就是符號「--的原理,「-名字叫做自減,直到i=0就退出while花括號裡面的語言,相當於執行while花括號裡面的語句50次。
比如:i=50
while(i--)
e=g;這樣語句a=b; c=d;,從上到下執行完後,然後又回到起始點,再從上到下執行,如此迴圈50次後,就退出while語句,往下面執行e=g。
c語言while迴圈要點
16樓:戶如樂
while語句在使用過程需要注意幾個要點:
一、無限迴圈
先來看看以下的**示例。
執行**後,會迴圈輸出n=0
在上述**中,雖然有n++自增,但while迴圈沒有花括號將語句包含。對於while迴圈,如果沒有花括號,只有直接跟在while測試條件後的語句才是迴圈的一部分,因此上述**中n++不屬於迴圈。
二、空語句
在c語言中,單獨的分號表示空語句。先來看以下**。
程式的輸出結果是:
n = 4在該例中,在while迴圈後有分號(;)這個分號是單獨的一條語句,即空語句,什麼都不做。while在執行完迴圈條件測試後,執行空語句,繼而進行下一次迴圈,一直到迴圈條件不滿足為止。
在該例中,雖然printf()語句在while之後,但while語句結束後有空語句,printf()並不屬於while迴圈,因此printf()只會列印一次。
c語言while迴圈問題2?
17樓:格里程式設計辦公技巧
**有幾個錯誤,一是scanf格式要用雙引號"";
二是判斷要使用==號,=號是賦值。如果是第二個輸入!號,while(c='!一直為ture會死迴圈。
18樓:煥煥的工科學長
首先來看看你的程式,整體上來說,還是沒有大的問題的。不過,需要注意的是條件語句那裡,關係運算子有,大於》,小於<,等於==,不等於!=,大於等於》=,小於等於<=這幾種。
你的第二個while處的條件判斷語句寫錯了,寫成了賦值語句。
希望我的能夠幫助你解決你當前的問題。
19樓:快樂翔雲
首先明確scanf的作用,scanf從輸入流中獲取需要的資料,scanf中格式控制為%c的時候,scanf將從輸入流中取得一個資料,並將這個資料放在某一個地址的空間中,你輸入兩次'!'可能被第一個while中的三個scanf吃乾淨了,但最重要的是,你的scanf很明顯寫錯了,第二個引數是一個地址,你這執行必錯。
c語言while迴圈裡使用scanf獲取鍵盤輸入執行循
你的問題並未說清楚。在你這個迴圈裡,不能放在12行後面。因為while sec 0 中要判斷sec是否大於0,如果放在12行後面那麼sec被後面的語句改變以了的話,就有問題了。另外,因為while前有一句scanf d sec 12行後面再scanf d sec 的話不是兩個語句重複了?若去掉whi...
c語言中while和dowhile迴圈的主要區別是
問明 1 迴圈結構的表示式不同 while迴圈結構的表示式為 while 表示式 迴圈體 do while迴圈結構表示式為 do 迴圈體 while 條件表達 2 執行末尾迴圈體的順序不同 while迴圈的末尾迴圈體也是在中間迴圈體裡,並在中間迴圈體中執行,迴圈體是否繼續執行的條件也在迴圈體中。do...
c語言中for迴圈和while迴圈的最主要區別是什麼
後山蘭才唱 while語句的一般形式如下 while 表示式 語句 表示式為非0值,執行while中內嵌語句。它是先判斷表示式,在根據表示式值,執行語句。do while語句的一般形式如下 do迴圈體語句 while 表示式 它的特點是先執行迴圈體語句,然後判斷迴圈條件是否成立,不成立就退出,成立就...