關於c語言的問題,為什麼我看不懂什麼意思,求大神給我詳細解釋一下while裡的迴圈,謝謝了

2021-03-24 11:50:46 字數 2411 閱讀 6253

1樓:匿名使用者

你可以象計算機一樣一句一句機械地執行你的程式,這就叫跟蹤:

int x=1,y=1; //x=1,y=1

while ( x<=9) //因條件成立執行迴圈體

y=1; //y=1

while(y<=x) //x=1,y=1,條件成立執行迴圈體

輸出:1*1=1

y++; //y=2

while(y<=x) //x=1,y=2,條件不成立結束迴圈

printf("\n"); //輸出換行,可見while(y<=x)迴圈是要輸出一行內容,而while(x<=9)可控制輸出幾行

x++; //x=2,y=2

while ( x<=9) //因條件成立執行迴圈體

y=1; //y=1

while(y<=x) //x=2,y=1,條件成立執行迴圈體

輸出:2*1=2

y++; //y=2

while(y<=x) //x=2,y=2,條件成立執行迴圈體

輸出:2*2=4

y++; //y=3

while(y<=x) //x=2,y=3,條件不成立結束迴圈

printf("\n"); //輸出換行

...經過上述跟蹤,得到了完整的兩行輸出:

1*1=1

2*1=2 2*2=4

可以預見的是後面的輸出:

3*1=3 3*2=6 3*3=9

...9*1=9 9*2=18 9*3=27 ... 9*9=81

是一個九九乘法表,程式中while語句要分析它的起始和結束條件,因為while(x<=9)迴圈的結束條件是x>9,因此我們注意一下x的初始條件,x=1;迴圈體中對x進行無條件的賦值計算的語句就一句:x++;那麼可得出:經過迴圈,每次迴圈x會分別等於1,2,3,4,...

,9;y值在while(x<=9)迴圈體內,每次都要重新置1,然後迴圈條件是y<=x,迴圈體中有y++,也就是y從1逐次變化到x,如果用for迴圈表示可能會更容易讀懂:

for ( x=1;x<=9;x++,printf("\n") )

for ( y=1;y<=x;y++ )

printf("%d*%d=%d\t",y,x,x*y);

2樓:匿名使用者

先說外面的while迴圈

while (x<=9)

控制x從1-9迴圈。

裡面的while迴圈

y=1;

while (y<=x)

y的值從1-x來迴圈,並計算y乘x的值

3樓:匿名使用者

你這個應該是列印99乘法表吧

你對應一下,很簡單的

裡面那個while,就是判斷x是否小於等於y,如果符合條件,列印x*y=值x*y

如果不符合條件,列印換行,y加上1在列印

4樓:東方偶爾白

只是個雙迴圈 不知道你那裡不懂

c語言問題裡面的while(!r)什麼意思,換成while (r!=0)為什麼不可以

5樓:史前捍衛

!r是非的意思,!=是不等於,假如r=1 那麼!r是小於和等於0即為假 while(!r)是假程式不執行,r!=0是真的即為while (r!=0)真程式執行

6樓:匿名使用者

首先問題:

while(!r)表示r=0時迴圈, while(r!=0)表示r非0時迴圈

補充問題:

這是一個遞迴,表示r為0了就直接返回模的除數,否則就繼續除,else後面就是遞迴函式

這個貌似是求m和n的最大公約數的function吧

7樓:網際網路前世今生

!r意思是非r的意思,就是r是假的意思,可以把它換成if(r==0)也可以

,希望對你有幫助,有問題可以問我,呵呵。共同學習!

求c語言大神,這道題中while內 是先算n++ 還是n<=1 ,為什麼答案是123 看不懂啊

8樓:紛採

i++ 與++i 都會使得i自增1,區別是,++i表示式的值等於 i+1,而i++的表示式的值等於i;

可以理解為++i先加再比較而i++則是先比較再加。

所以這個題,第一次迴圈,n++值為0 <= 1,然而下一步n自加了,所以輸出1

第二次,則是1<=1,同理輸出2,

第三次,表示式的值為2,退出迴圈。至於3是退出迴圈後那句話輸出的

9樓:萢萢

先算n<=1

然後再進行n++運算

c語言裡面if語句的巢狀看不懂C語言裡面if語句的巢狀看不懂

if else if語句是一對判斷組合 多個順序if是平行的執行判斷的。舉例說明 if 我有錢 else if 我有時間 上面的語句意思如下 如果我有錢 if判斷成立 則我只能去 即使我有時間又有金錢也不能去旅遊 而如果我沒有錢 if判斷不成立 則要看我是否有時間,有時間就去旅遊 沒錢去旅遊就苦了 ...

為什麼我看不懂

有時候直白的人不喜歡那些拐彎抹角。很多事情並不是看不懂,而是不想去看,不想去明白。但有時候卻是真的不知道那些拐彎抹角的東西。沒人一點即透的東西,我們卻需要想很多遍。有句話叫當局者迷 旁觀者清!古詩也說不識廬山真面目,只緣身在此山中!什麼事情看不懂呢?比如文章之類的,還是這社會太發科學了,有些東西是看...

C語言新手看不懂下面的for語句,m 的執行次數是兩個fo

int i,j,m 0 for i 1 i 15 i 4 printf d n m 或許寫成這樣你就du知道了,其zhi實這個dao跟你的一樣並沒有什專麼改變,只是for的迴圈體屬裡面又是一個迴圈體,只有裡面的迴圈體執行完畢,才會進行下一輪的迴圈。可以這麼理解,因bai為m 語句是du在變數j的fo...