c語言中while()表示式的疑問

2022-02-16 00:57:51 字數 6556 閱讀 8690

1樓:

你可以避開0啊,用其他數字代替。或者while(x==0).

0<100是真。

非0即真。表示式為真也是真,如x=4,y=6,x>y則是假。

2樓:東方不敗

這個很簡單,例如定義一個變數int a;然後判斷當a為0時才進入迴圈如下

while(a==0)

這樣當a為0時就執行迴圈了,因為當a為0時,while()中表示式的邏輯運算結果是真,這個要細心體會的,你這三個問題都可以歸咎為這一點,就是這一點你沒有理解

在c語言中有好多這樣的例子,如5-3>1,邏輯運算結果為「真」即為1;5-3<1,邏輯運算結果為「假」即為0

3樓:匿名使用者

1、定義一個變數:例如i==0的時候迴圈

while(i==0)

2、你沒有理解while的用法,while真,執行;while假,不執行。當a=0的時候,while(a<=100)這個表示式是正確的,等同於while 1,while true,a<=100是真,程式會執行,while 0,0是假,不執行

3、第二個問題已經回答了

4樓:匿名使用者

while(a==0)

a=0時也是小於100啊,所以為真

只要表示式的值不為0,都為真

5樓:匿名使用者

初學者加油。

1、while(0==a)

{}2、a是零的時候,表示式的值仍為真,while只管括號內的部分,不關心a

3、表示式成立即為真

6樓:匿名使用者

1. while(x=0)

c語言while迴圈的問題

7樓:匿名使用者

意思是如果a 為真,則執行while中的迴圈體!

(a)為迴圈條件!但是個死迴圈!因為沒有辦法確定a 的值為真還是為假!

寫個例子吧!

int a=0;

while(a<5)

當a=0時,判斷a<5為真!執行迴圈體!

這個迴圈體共執行5次!即執行5次a++

可以執行一下看看每次都是什麼效果!可能能加深你對迴圈的理解!

希望對你有幫助!

8樓:匿名使用者

while的語法為

while(表示式)

{。。。

}當表示式不為0的時候,則會執行下面語句體裡面的語句直到表示式為0才會停止

while語句一般用在死迴圈裡面

所以常規的用法是while(1)

如果要指定迴圈次數,更多的是用for語句。

9樓:匿名使用者

while迴圈是對while括號後面的表示式進行真假的判斷,,比如你用的a,c語言中有這樣的規定,如果a=0;那麼a 表達的就是假,如果a不為0,那麼他表示的是真,因此,上面的迴圈,只要a不等於0,那麼迴圈就一直進行

剛開始學的時候,我一直以為,只有在等於1的時候才是真,等於2他就不能迴圈了,其實那是錯的,編譯器判斷真假條件的標準是他等不等於0,而不是等不等於1,樓主記住了哦~

還有就是,如果樓主的意願是讓a=0的時候退出迴圈,那麼就可以按照你寫的方法進行,如果樓主的意願是讓a=0的時候才迴圈,那麼有2種寫法

while(!a)

還有就是

while(0==a)

{}建議寫成0== a 的形式,其實0==a,和a==0實質是一樣的,但是如果你講0==a,寫成了0=a,那麼編譯器會報錯,而將 a==0寫成a=0編譯器是不會報錯的,可以減少風險。

祝你進步!!

10樓:

是的但是強烈建議千萬不要這麼寫**

養成良好的變成習慣

一定要使用表示式

也就是while(a != 0)

11樓:匿名使用者

c語言,預設給a的值是個0,0就是假,迴圈一次都不執行,在c中非真就是假

12樓:匿名使用者

是滴,如果沒有明確說明這就是預設狀態為真時執行

13樓:

是的,while(a)

{}當a=0時,跳出迴圈……

14樓:匿名使用者

int a;

while(a);//a不為0死迴圈

15樓:匿名使用者

while(a)等價於(a!=0) 非零為真

16樓:痕之時空

是,不過這樣的話是無限迴圈,不能停的

c語言中while do-while for 的問題

17樓:

第一個是對的。

do-while是先無條件執行迴圈體,然後再判斷迴圈條件是否成立。

但是,for不是先執行迴圈體。for和while相同。

lz主要是for語句實現迴圈沒弄明白。那我好好說明一下:

for的一般形式為:

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

*舉個例子:

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

sum = sum + 1;

"i=1"是給的迴圈變數i設定初始值為1,「i<=100」是指定迴圈條件:當迴圈變數i的值小於或等於100時,迴圈繼續執行。「i++」的作用是使迴圈變數i的值不斷變化,以便最終滿足終止迴圈的條件,使迴圈結束。

它相當於以下語句:

i=1;

while(i<=100)

sum = sum + 1;

i++;

*再舉個例子:

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

{printf("%d",i);}

for語句的執行過程如下:

(1) 先求解表示式1。本例中把整數1賦給變數i。

(2) 求解表示式2,若此條件表示式的值為真(非0),則執行for語句中的迴圈體,然後執行第(3)步。若為假(0),則結束迴圈,轉到第(5)步。

上例中,迴圈條件表示式「i<=100」是一個關係表示式,當i=1時,表示式「i<=100」的值為真(非0),故執行迴圈體中的語句,即printf語句,輸出i的當前值1。然後執行第(3)步。

(3) 求解表示式3。在本例中,執行i++,使i的值加1,i的值變成2.

(4) 轉回步驟(2)繼續執行。

由於此時i=2,表示式i<=100的值為真,再次執行迴圈體中的語句,printf語句輸出i的當前值2。然後再執行步驟(3)。如此反覆,直到i變到101,此時表示式i<=100的值為假,不再執行迴圈體,而轉到步驟(5)。

(5) 迴圈結束,執行for語句的下面一個語句。

ps:大陸一般都是用紅皮書作教材。lz如果有紅皮書(c程式設計第四版),翻到p114~p125

有很詳細的敘述三種迴圈的不同。

18樓:匿名使用者

dowhile(條件);

即使條件假,也迴圈一次;注意條件後面的分號不能忘記。

for(條件1;條件2;條件3)

相當於與;

條件1;

while(條件2)

這下你應該懂了吧!!!

19樓:匿名使用者

第一題,在c和c++語言中,變數只能先宣告,再使用。否則在程式編譯時,會提示出錯。如果你在宣告變數時,未賦值,初值不一定是0。

第二題,do-while是先執行迴圈語句,後判斷,for是先判斷。

20樓:2013努力實現

while是先判斷如果是「真」就執行 「假」不執行!

do while是先執行一次然後再判斷真或假,「真」執行,「假」不執行!

for也是先判斷再執行。

c語言中while是什麼意思

21樓:

當型迴圈,當你的條件滿足while的條件時,就會執行while{}括號內的語句,不滿足則退出while迴圈,執行while後面的語句

22樓:福建省寧德市

c語言中的while是一種迴圈語句,是計算機的一種基本迴圈模式。當滿足條件時進入迴圈,不滿足跳出

使用格式為:

while(條件表示式)

迴圈體語句;

3.當while迴圈的條件表示式為真時,進入迴圈,一直迴圈到條件表示式為假為止

23樓:12文件

知道迴圈次數的時候for和while都可以用,比如for(int i=0;i<100;i++)就可以寫成int i=0;

while(i<100),

不知道迴圈次數只能用while,如while(x>0)

24樓:匿名使用者

while(a) 表示當a!=0時執行迴圈,其等價於while(a!=0)。

if(a) 同上。 while(!a) 表示當a=0時執行迴圈,其等價於while(a==0)。

if(!a) 同上。 if(j%2)continue; 表示j%2!

=0時執行continue;j%2!=0表示j除以2的餘數不為零,即除不盡。即j為奇數時執行continue;~

25樓:花心彩妝悠

while和for迴圈類似 是c語言中的一種控制語句

26樓:苦澀無人愛

while()是迴圈語句,t是判斷條件,當t為真或非0的話,執行迴圈,否則退出迴圈,比如t=1,迴圈會持續執行,t=0則退出迴圈,或者 t 可以是其他判斷語句,滿足ture時執行迴圈,為false則退出迴圈

27樓:匿名使用者

while(t)

相當於while( t!=0 )

t值為0時,條件為假

t值不為0時,條件為真

while( t )是while( t!=0 )的簡便寫法。

28樓:

一直執行while所包含的語句,就是無限迴圈。

一般用來執行程式的主體,程式執行後,一直迴圈等待中斷等事件的發生;

處理完事件後,繼續迴圈。

c語言中,與語句while(!e)括號中表示式含義等價的是

29樓:

c語言中規定邏輯值有兩種情況,非零,零,也就是說()中的值要麼是零,要麼是非零。兩種情況都要和零進行判斷,所以判斷e==0

30樓:匿名使用者

b選項,因為括號是的條件是非e,計算機只有兩種數,0和非0,假如e為非零,則!e為0,e為零,!e為非零,,而e!=0,e為真,表示式為0,否則為非零 所以只有b對

31樓:本未終始

答案為a。

1.邏輯值false的實際值為0,true為非0值。

2.!e,當e是false時為true,只有當e為0時才會有"true",其於均為"false";所以只有a成立,其它選項的e值均為非0值,返回的結果均為「false".

32樓:

a解釋: while ( )

當 () 內容為「真」時,則執行

b c d 答案的性質是一樣的。它們均無法滿足()值為真。 值有a答案可以。

33樓:匿名使用者

d 計算機只能識別0和1,凡1、2、3……、a、b、c……、等被視為非0。

e為非0,!e=0,所以選d

34樓:

a分給 本末終始 ,:-)

c語言,字串問題和while迴圈

35樓:昔姝功孤雲

就這一句就夠了,字串的尾部都有字元"\0"代表字串結束,對應bool值得false,當到達string尾部時,*string

就是"\0"

相當於一個false。

36樓:蝶心戀海

*string是一個指標,最開始指向字串的第一個字元,注意下面的*string++,此時已經將指標指向移動到下一個字元,因為字元ascn碼是整數大於0,判斷為真,繼續迴圈,字串結尾自動新增『\0』表明結束,指標增加到這裡時,判斷為假,迴圈結束,count剛好是個數。

37樓:匿名使用者

指標不為空就算是true

指標為空就是flase, 跳出迴圈

38樓:匿名使用者

下面的三種寫法是等效的:

1、while (*string)

2、while (*string != 0)3、while (*string != '\0')while語句後面的條件語句應當是個表示式,在c語言中這個表示式可以是邏輯表示式也可以是數值表示式,當表示式的值為數值時,0表示false,非0表示true

第一種寫法的意思就是當string的當前內容是非0時實行迴圈,等效於第2種

第三種寫法是最規矩的,也是最提倡的,可讀性強,而且事實上不會降低執行效率,可以這樣寫的原因是字串結束符號'\0'的ascii碼是0,你查下ascii碼錶就知道了。

C語言表示式105的值是C語言中表示式105的值是?

是1。根據c語言運算規則,檢查左運算元的值是否小於右運算元的值,如果是則條件為真。1 0 5是先執行1 0 false 結果為0,再執行0 5 true 因此結果為1。如下 表示式的值為1 根據運算子表,是從左往右結合的。先看1 0是假,返回0。原式就變成 0 5,是真,返回1 所以結果就是 1。擴...

C語言中表示式135值,c語言程式是求表示式的值s

有一個優先bai 級的問題 du,注意單雙目 運算子的優先順序zhi,雙目運算子dao除賦值回運算子都為自答左向右結合.運算子.與 相比 大於 與 相比 大於 運算子的運算是自左向右.1 3 5,因為 1 3為真,值為1 1 5為假,值為0 故表示式 1 3 5值為0 1 3為真,值為1 1 5為假...

如何知道c語言中的算術表示式是合法的

這個符號前後一定是整數int型,像 int 4.5是強制轉換也是可以的,但是這個括號必須寫在你要強制轉換對像的前面,很多時候他為了迷惑你,會寫在後面。其他沒有什麼合法不合法之說了。1 表示式計算的bai結果由運算過程中du運算物件的數zhi據型別決定,dao相同資料 類回型資料進行運算,結果保答持原...