pascal語言中while語句的問題

時間 2021-09-05 17:50:42

1樓:匿名使用者

不一定要有。

例如:while n<20 do inc(n);

因為while之後只有一個語句(inc(n)),所以不用begin end;。

如果有多個語句,例如:

while n<20 do

begin

inc(n);

dec(n);

end;

這樣就要有begin end;了。

記住這個,如果while後只有一個語句,那麼begin end可有可無;

如果有兩個或以上語句,那麼需要begin end起括號的作用。

您可以參考這個:

while語句

1.while迴圈的執行形式 while 布林表示式 do 語句

例如:k:=10;

while k>0 do

begin

writeln (k);

k:=k-1

end;

其中(1)while 和do是pascal保留關鍵字,是while迴圈語句的組成部分。

(2)保留關鍵字do後面的“語法”只能是一條語句,稱為“迴圈體”;如果迴圈 體中需要包含多個語句則應該如上例所示,採用一條複合語句。

2.while迴圈的執行功能 當執行到while語句時

(1)求出布林表示式的值

(2)若布林表示式的值為真,則執行迴圈體內的語句;若為“假”,執行步驟4

(3)重複步驟1和2

(4)迴圈結束,執行迴圈後面的語句。

2樓:匿名使用者

不用while *** do 語句

3樓:匿名使用者

如果while迴圈中只有一條語句就可以不用

但如果有多條語句就必須要用

4樓:匿名使用者

如果迴圈體內是多條語句,就必須有。如:

while 條件 do

begin

語句1;

語句2;

……end;

如果迴圈體只有一條語句,就不用了。如:

while 條件 do 語句;

在pascal中,一般情況都是這樣,只要不是一串語句,就可以不加begin和end。但也有特殊,必須有end的,如:

case 變數 of

情況1:語句;

情況2:語句;

……end;//必須有

又如:newtype=record;

a:型別1;

b:型別2;

……end;//必須有

5樓:

那要看你怎麼用了,

我舉兩個例子:

begin

x:=1;y:=4;

while x

inc(x);

writeln(x);

end.

這樣的輸出結果就是 4;

這個whlie迴圈只是迴圈了inc(x)這條語句,若是這個

begin

x:=1;y:=4;

while x

inc(x);

writeln(x);

end;

end.

輸出結果是:23

這個while迴圈就迴圈了inc(x)和writeln(x)兩條語句,

明白了嗎?

6樓:匿名使用者

寫一個while語句試試不就知道了?

忘記了,我所有語句是儘量加begin...end的,清晰,沒歧義

c語言中dowhile或者while迴圈裡能不能巢狀for迴圈

路林嘉金鑫 迴圈當然可以巢狀迴圈.就像if可以巢狀一樣.我覺得可以將最外層的do.while語句改為while 1 守望中的守護 可以。不管是do while還是while都可以巢狀for迴圈,而且可以巢狀任意多個for迴圈。不僅如此,這三種迴圈語句可以任意相互巢狀,個數不限。但是過多的迴圈巢狀 會...

c語言中什麼時候使用while語句比使用for語句更加

所執行的函式至少執行一次的時候,還有判斷條件需要函式複雜執行的時候。但是編譯連結後在cpu裡面執行效果是一樣的。 這兩種基本上是沒有差別的,但是如果先要執行一次再進行判斷就用do while 單純for 和 while 沒什麼區別。讀取判斷或者不用進行賦予初始值的時候更多用while,比如while...

求高手幫我講解下C語言中的while迴圈

的確是輸入快取裡面有回車的緣故,那樣就相當於你輸入了兩次,因而輸出連詞錯誤,i也沒減到了1,所以第二次無法輸入。你可已在 printf 錯誤 n 除一樓說的方法外後面寫上fflush stdin 清空輸入快取也可以達到目的 include include void main if a b else ...