關於C語言迴圈比較的問題

時間 2023-08-13 13:56:03

1樓:湯柳清

while(fscanf(fc,"%s",fwj)!=eof)if((strcmp(a2,fwj)==0) /語句1elseif(a8只要加一個else就行,語句1和語句2就會選擇執行。再幫你多加了幾對括號,這可能是一個形式程式,並不是完整程式。

2樓:

你這麼寫 肯定是順序執行 你所謂的2 語句 在 while的迴圈語句中 肯定是要先判斷 while 的成立條件的 然後 進行迴圈 ,如果 你 不是說的 while 語句說的 ,而是 比較 字串 a2 和fwj 是不是相等 和 a[8]大不大於 e 沒什麼關係 呀 肯定是順序執行的呀 總結不知道你要幹什麼。

3樓:匿名使用者

不明白你什麼意思!

c語言的迴圈語句怎麼用,為什麼這樣用?

4樓:亞浩科技

分類: 電腦/網路 >>程式設計 >>其他程式語言。

問題描述:最好可以一步一步說明。

解析: 迴圈結構。

迴圈結構是三種基本程式結構之一。它通過一定的條件控制動作指令碼中某一語句塊反覆執行,當條件不滿足時就停止迴圈。這種程式結構對實現互動性的影片有著舉足輕重的作用,在製作動畫時,我們經常使用這種程式結構。

for語句是實現程式迴圈結構的語句,它的語法格式更緊湊,在迴圈起始語句中包含了迴圈控制變數的初始值、迴圈條件和迴圈控制變數的增量,清楚明瞭,因此使用較為廣泛。for語句使用的一般形式為:

for(表示式1;條件表示式;表示式2)

表示式1:是一個在開始迴圈序列前要計算的表示式,通常為賦值表示式。

條件表示式:計算結果為true(真)或false(假)的表示式。在每次迴圈前計算該條件,當條件的計算結果為true時執行迴圈,當條件的計算結果為false時退出迴圈。

表示式2:一個在每次迴圈迭代後要計算的表示式,通常使用帶++(遞增)或--(遞減)運算子的賦值表示式。

for語句的執行過程是,先計算“表示式1”的值,然後判斷“條件表示式”的值是true(真)還是false(假),如果條件是true,那麼執行迴圈體中的**塊,執行完以後,再執行“表示式2”,接著開始新一輪的迴圈;如果條件是false,那麼就跳出迴圈,執行for語句的後繼語句。

比如 從1 加到 100 可以。

int i;

int sum = 0; /累加器要至0*/

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

c語言問題,關於迴圈語句

5樓:匿名使用者

沒有迴圈體?後面的“;”就是迴圈體,就一個語句,只不過沒有“{}而已。

a中while後面有個;號,後以--x沒有執行會造成死迴圈。

b中while中的x=5一直是真所以會死迴圈。

c中每一次x++自加,在迴圈體中x--又減少了,所以條件x<10一直為真,會死迴圈。

d中do在前面,會先執行迴圈體中的一次,然後再判定條件,所以++x,中x到101時不滿足條件退出了迴圈。

故選擇d。

6樓:匿名使用者

d 不是死迴圈。

while(條件滿足)

因此a while(x) ;由於x始終不等於0 ,因為在迴圈部分沒有對x 的值有任務操作。

b while(x =5) ;x = 5 的條件一直為真 因此這是個賦值操作,結果肯定是賦值成功。

c 在for語句中 即對x++ 又對x-- 因此x的值始終是0 永遠滿足x<10的條件。

7樓:匿名使用者

我覺得d都不會構成死迴圈。

a: x初始化為10

while(x); 就是在執行死迴圈(當x為真就執行空語句)b:x初始化為10

while(x=5);x=5是將x賦值為5,則此時為真。所以執行while的空語句。

所以死迴圈。

c:for語句裡面,x初始化成0,然後在迴圈體內,x的值一直在0和1之間跳動,一直符合for語句的條件判斷,所以一直死迴圈。

d:x初始化成100

do執行一次++x,然後x的值是101

但是不符合while條件判斷所以退出了。

所以也不會構成死迴圈!

8樓:匿名使用者

迴圈體是一條語句,如果要想跟上多條的話就得用{}括起來構成複合語句,但是符合語句從語法上來說仍然是一條語句,所以迴圈體只能是一條語句是這麼來的,c語言中的空語句就是一個";"這也是語句可以作為迴圈體,只不過沒做任何事情!

9樓:網友

a)int x=10;

while(x);-x;

while(x); 就是 while(10); 在c裡,數值轉化為邏輯值,非0即是邏輯1,所以死迴圈。

b)int x=10;

while(x=5);

同上,死迴圈。

c)int x; for (x=0;x<10;x++)x--;

執行一個迴圈 x值 沒變, 死迴圈。

d)int x=100;

do while (x>=1000);

不是死迴圈。

c語言迴圈控制語句的三種語句比較

10樓:仉湛枋

同一個問題,往往既可以用 while語句解決,也可以用 do-while或者for語句來解決,但在實際應用中,應根據具體情況來選用不同的迴圈語句。選用的一般原則是:

1) 如果迴圈次數在執行迴圈體之前就已確定,一般用 for語句。如果迴圈次數是由迴圈體的執**況確定的,一般用 while語句或者do- while語句。

2) 當迴圈體至少執行一次時,用 do-while語句,反之,如果迴圈體可能一次也不執行,則選用while語句。

c++/c迴圈語句中,for語句使用頻率最高,while語句其次,do語句很少用。

三種迴圈語句for、while、do-while可以互相巢狀自由組合。但要注意的是,各迴圈必須完整,相互之間絕不允許交叉。

c++迴圈問題

11樓:匿名使用者

這個時候for迴圈已經結束,所以這時候的j已經經歷了12次自加,從0已經變成了12,(關於這個您可以在後面我附上的程式裡看明白),所以這句話是說b[12]='0'.這是說我們已經得到了去掉字串中所有的字元a之後的字串b了,在完成所有工作之後最末尾部加上結束標誌'\0'.

問題2:樓主的問題透漏出又有一個細節我解釋不到位,讓樓主沒有搞清楚。

對於am來說a不符合迴圈”,這句話不對,對於am來說a是符合迴圈條件的。因為a前面是個空格,空格在ascii碼製表裡面的ascii值是032,轉義表示是\0x20,而'\0'對應的ascii碼是0,表示的是null,就是什麼都沒有,表示四大皆空。換言之,在螢幕上你列印一個printf("\0x20")會輸出一個空格,你的游標位置就會右移一位,但是你用printf("\0");會發現游標位置也沒變,什麼現象都沒有,對吧?

附**:for(i=0,j=0;b[i]!=0';i++)

if(b[i]!=c)

b[j]='0';

上述**等價於:

for(i=0,j=0;b[i]!=0';i++)

/for的作用範圍。

b[j]='0';

樓主為了驗證上述觀點,可以在 j++;之後加上一句cout<<"dsa";

這樣執行發現輸出了12行的字元dsa對吧?這就說明這句話在for的作用範圍之內對吧?

希望樓主有所收穫,一起進步哦。

12樓:匿名使用者

if 是限制的條件句子 for也是 都是有窮的 所以一般for才定義 三個條件。

if用中括號是有&&和||的原因 for中是;這個 準確的說是你記住就行了!!

關於c語言迴圈的問題

第二條語句是錯誤的。格式為for 我不知道你說的是 k 1?有2個k的賦值語句。首先來看看你的第一個迴圈.int k 10 while k 0 迴圈條件為false k k 1 這條語句永遠不會執行 來看看第二條迴圈 for i 0 書寫有問題,中文括號 for i 0 k 1 k 1 i k 有一...

關於for迴圈語句後的分號問題,在C語言中,for語句的後面加分號和不加分號有何不同,該分號有什麼作用?

可愛的小知道 for 表示式1 表示式2 表示式3 語句 執行過程如下 1 先求解表示式1。2 求解表示式2,若其值為真,則執行for語句中指定的內嵌語句,然後執行下面第3 步 若其值為假,則結束迴圈,轉到第5 步。3 求解表示式3。4 轉回上面第2 步繼續執行。5 迴圈結束,執行for語句下面的一...

c語言 for迴圈巢狀,c語言的for迴圈巢狀怎麼執行的?

迴圈的過程是先執行第一個大迴圈for i 0 i 3 i 此句中先給i賦值0,在判斷條件i 3是否成立賦值後的i 0了,所以條件成立,成立則做下面一條語句,就是for j 0 j 4 j 同樣這個迴圈還是先賦值j 0,在進行判斷j 4是否成立,成立就再做下一句。此時scanf語句後面已經沒有語句了,...