1樓:
a.for(;;x++=i);
因為沒有判斷語句,所以就沒有真假判斷,程式就一直迴圈下去咯。
b.while(1)
因為括弧裡面是1,在邏輯上說就是真,所以迴圈也會繼續。
c.for(i=10;;i--)sum-=i;
和a一樣,沒有判斷語句。
答案是d就不用說了吧。
2樓:匿名使用者
a、c缺少終止條件語句,當然死迴圈;
b,while(1),1表示真,即迴圈條件始終為真,也死迴圈。
c語言迴圈語句裡的一道例題
3樓:好嘞啊啊啊啊
分別表示 數的階乘 3!=1*2*3 4!=1*2*3*4
4樓:蓉雪球
#include
void main()
printf("%d\n",s);}
5樓:匿名使用者
數字後面加!表示乙個數的階乘,階乘的定義是:
n! = n*(n-1)*(n-2)*...*3*2*1
c語言一道迴圈題
6樓:頹廢ю小寶
4252716 答案應該是這個吧,j是在任何時候都小於6,這裡沒有等於6啊,
b[5]=這個了
你定義的e68a8462616964757a686964616f31333264626630 b[6]是這個樣子的 b[6]=
第乙個數就是 b[0]=27 b[1]=13 以此類推 b[5]=16了,知道了吧
還有迴圈是
第乙個for迴圈,給i賦初值0,即 i=0
第二個for迴圈式巢狀在第乙個for裡面的,給j賦初值0,即j=0
第乙個if語句,是巢狀在第二個for迴圈裡面的。進行比較,第一次先比較a[0]和b[0]是否相等,不相等的話,就再進行第二個for語句的j++,使j=1,然後再進行第乙個if語句的比較,直到它們相等,就從break跳出去,進行第二個if語句。。第二個if語句是和第二個for語句並列的,即第二個if語句只是巢狀在第乙個for語句裡面。
然後輸出a[0]。但是當for語句迴圈完了,也沒有使a[0]和b[j]相等的話,這個時候j是等於6的,進行第二個if條件語句,因為j=6,不符合if(j<6),所以就不輸出a[0],之後就再進行第乙個for迴圈,i++,使i=1,然後再一次進行迴圈。
使你更容易明白點,可以把程式看成這個樣子
#include
void main()
,b[6]=,i,j;
for(i=0;i<6;i++)
if(j<6) printf("%d",a[i]);
}printf("\n");
}改成這樣,容易理解了吧
7樓:匿名使用者
結果復是4252716
啊,j可以可等於
制6,等於6時迴圈就結束了。這個程式的意思是求兩個陣列中相同的數並輸出。答案上寫4 25 16是i和j的位置相同,實際上i和j可以不同,我認為vc除錯的答案是對的。
你後面的a[6]錯了,沒有a[6],最多就a[5]
8樓:我愛我家
應該是4252716
先a[i]=4,b[j]中有4,就輸出,然後i+1,只要b中有與之相等的,就輸出,得4252716
9樓:德昂當
上面的程式結果是4252716沒錯。
j 在for(j) 迴圈內是
都小於6,但是正常迴圈完跳出內時,j=6;
不正常跳出就是在容 if(a[i]==b[j]) break; 此時跳出迴圈時,j<6;
所以後面一句 判斷 就是指 兩個陣列有相等的數的時候輸出。
如果沒有相等的數的時候,前面的迴圈就會迴圈到 j=6時結束迴圈。
a[0]--a[5]才是有意義的。a[6]這個下標本身就超限了。
for(i=0;i<6;i++)
if(j<6) printf("%d",a[i]);}
10樓:實況八
首先,這道題
復的意思很清楚:找制
到b陣列中與a中相等的數字
輸出。所以輸出結果應該是4 25 27 16沒錯。
其次,那句if(j<6)是為了確定b[j]與a中某個元素相等,因為如果沒有相等的話j的那個for迴圈會執行6次,到「if(j<6) printf("%d",a[i]);」時j就等於6,就沒有輸出了。
第三,你定義的陣列a[6]只有a[0]到a[5]六個元素,是沒有a[6]的。
11樓:匿名使用者
首先要明白陣列是以下標0開始的,像a陣列中a[6]= 那麼下標應為0——5,
在乙個要明白迴圈內
內只可容包含一條語句,如果有多條語句的話,就用{},來表示一條語句。
這個程式的功能是在陣列b中找到與陣列a中的相同的數字。顯然用vc除錯的結果是對的。
for(i=0;i<6;i++)//第一層迴圈用來遍歷陣列a中的數,從a[0]到a[5].
i f(j<6) printf("%d",a[i]);//列印陣列a中的數。
},j在任何時候不都小於6嗎,怎麼還有等於6的時候————————對於你說的這句話你可以理解為當陣列b中如果沒有數字和a中的相等時,j==6了。
12樓:葬愛
首選要來分清breakt和contuine之間的區別自!第乙個for迴圈,給i賦初值
0,即 i=0
第二個for迴圈式巢狀在第乙個for裡面的,給j賦初值0,即j=0第乙個if語句,是巢狀在第二個for迴圈裡面的。進行比較,第一次先比較a[0]和b[0]是否相等,不相等的話,就再進行第二個for語句的j++,使j=1,然後再進行第乙個if語句的比較,直到它們相等,就從break跳出去,進行第二個if語句。。第二個if語句是和第二個for語句並列的,即第二個if語句只是巢狀在第乙個for語句裡面。
然後輸出a[0]。但是當for語句迴圈完了,也沒有使a[0]和b[j]相等的話,這個時候j是等於6的,進行第二個if條件語句,因為j=6,不符合if(j<6),所以就不輸出a[0],之後就再進行第乙個for迴圈,i++,使i=1,然後再一次進行迴圈。
13樓:邢廷洋
很明顯第乙個答案對啦
c語言for迴圈一道題
14樓:匿名使用者
呵呵,上當了吧
第二行for語句括號後面有分號,語句結束,所以for語句什麼也不做,沒用,什麼巢狀迴圈變數完全不用管
有用的就最後一句printf,輸出乙個*
所以選d
(多說一句,如果for語句最後沒有分號的話,那麼第二級迴圈一次輸出2個*,第一級迴圈4次,一共輸出8個*,選a,至於變數j,在**中沒實際用途,初值是啥無所謂)
15樓:
你這是什麼試卷!想求同款!
c語言一道無限迴圈的選擇題
16樓:笑年
當i=0時
能執行第一次迴圈,while內的語句都能執行到,除了break,並使i=1
問題就出在i=1是
當i=1時
while(i<10) 成立,開始執行第二次迴圈因為i%2=1
所以if(i%2)為真,就執行continue;
意思就是退出當前迴圈,下面的語句就不執行了。
第三次迴圈時i的值還是i=1
因為i%2=1
所以if(i%2)為真,就執行continue;
意思就是退出當前迴圈,下面的語句就不執行了。
第四次迴圈時i的值還是i=1
這樣就造成死迴圈了。
17樓:灰色
contine,這個關鍵字執行的時候是回到迴圈開始的地方,而continue之後的語句不執行,在這裡i初始為0,不滿足第乙個if,也不滿足第二個if,則i自加後為1,當i為1時,在這個迴圈體中永遠只執行到第乙個if,因為這時候第乙個if是滿足的,而之後continue跳轉,不執行後面語句,則i也永遠是1,所以迴圈是無限的
18樓:匿名使用者
答案應該是b,因為當 i 等於 1 的時候,i%2就是乙個true值,這樣就是執行 if 語句的條件執行語句:continue; (結束本次迴圈),這樣一來 i 就不會再執行 i++ 的操作,也就是 i 永遠等於 1,也就造成了系迴圈的狀態。
19樓:匿名使用者
continue的作用是直接結束本次迴圈進入下次迴圈。
i=0時,兩個 if 中的條件都不滿足 不執行。
於是i++,i=1;
i=1時,if(i%1)執行 continue語句,結束本次迴圈進入下次迴圈,
下次 i 仍為1,繼續continue。
於是無窮次continue進入死迴圈。
c語言一道題,a、b為int變數,a=100,關於迴圈語句
20樓:匿名使用者
一次都不執行。因為條件為a不等於b,而a,b的值都為100,一執行迴圈語句就不符合條件,所以一次就不執行。
21樓:匿名使用者
執行0次, for迴圈的條件是永遠不成立的
c語言的一道題,C語言的一道題
董巨集諫念雙 include include void main int p 4 p a s 0 printf 輸入學號 scanf d n if n 3 printf 該生的成績和平均分如下 n printf 成績1 t成績2 t成績3 t成績4 t平均分 n for i 0 i 4 i prin...
一道C語言程式題求解,一道C語言程式設計題求解
float y w 就是每一項的值,即 1 2 1 4 1 8,要加項小於10的 6,也就是要 float y w的絕對值大於10的 6才迴圈,在不用abs函式的求絕對值的時候,假定要x的絕對值 x可能為正數或負數 大於10的 6,那麼自然就是x z1 同為正數 或者x z1 同為負數 其實這題 太...
一道c語言題
應該是int p 8 i 0,j 0 while i 7 7是陣列元素個數if p i 2 奇數 13 15 17j j p i printf d n j 45 選b while i 7 迴圈結束條件 i 7 的時候結束 那個不是括號應該是小於號 if p i 2 這裡 求餘數j j p i 第一次...