1樓:匿名使用者
在這時裡i不可能等於零,所以直接可以把do while去掉,當i=2時 i%3為真,第一個n++沒用,第二個n++後 n=1,當i=3時,i%3為假,第一個n++起作用 ,n=2, 第二個n++後 n=3, 當 i=4時,第一個n++沒用,第二個n++後 n=4,迴圈結束,所以選d
2樓:匿名使用者
輸出結果是n=4。
看這個迴圈的執行:
for(i=2;i<5;i++)
while(!i);
n++;
} i=2:i%3(i除以3取餘為2),if條件成立,continue執行,後續n++不執行,直接判斷while(!i),i不為0,!
i為假,退出do/while迴圈,執行while後面的n++,n=1,再執行下一次for迴圈
i=3:i%3(i除以3取餘為0),if條件不成立,n++執行,n=2。再判斷while(!
i),i不為0,!i為假,退出do/while迴圈,執行while後面的n++,n=3,再執行下一次for迴圈
i=4:i%3(i除以3取餘為1),if條件成立,continue執行,後續n++不執行,直接判斷while(!i),i不為0,!
i為假,退出do/while迴圈,執行while後面的n++,n=4,再執行下一次for迴圈
最後,n=4。
3樓:匿名使用者
選a,我告訴你為什麼
i=2時,if的判斷條件句是真,執行continue,跳過第一個n++,while的判斷句是假,跳出do-while迴圈,執行第二個n++,現在n是1。i=3時,if的判斷句是假,執行第一個n++,現在n是2,while判斷句是假,跳出do-while迴圈,執行第二個n++,現在n是3。i=4的時候,if判斷句是真,所以跳過第一個n++,while判斷句是假,跳出do-while迴圈,執行第二個n++,現在n=4。
然後跳出for輸出n。
好蛋疼的題目。。。就是考驗你的耐心了。。。
#include
4樓:兄弟連教育北京總校
#include
usingnamespacestd;
intmain()
1.和2.的句子 為什麼可以作為 if(!
b)下的一個語句之所以可以作為一個語句,是因為程式塊的內部是if-else語句,else 是和離它最近且未和任何 else 配對的 if 進行配對的,雖然沒有使用{}進行限定,但是由於預設的if-else配對關係,會自動將if(!b)裡面的if-else配對,當作一個塊執行!
#include
5樓:匿名使用者
for(i=2;i<5;i++)
while(!i); //當i是0時迴圈,i非0,所以,結束迴圈,去執行下一句:n++;
n++; //i從2到5,for迴圈3次,n++三次後,n為3}printf("n=%d\n",n);//輸出n=3
6樓:cabbage包菜
在你的do while裡面 ,是出口判斷,!i為0那就是隻能迴圈一次,在迴圈的這一次裡if判斷永遠為真,直接跳出,所以你的
do while(!i);
這些**什麼都沒有做。
那麼就只有for(i=2;i<5;i++)n++;迴圈了三次,那n不就是3麼。
7樓:水中游魚的嚮往
if(i%4+1) continue;
題目錯了吧
main(){int i,n=0 for{(i=2:i<
8樓:
本程式for迴圈執行3次,i=2,3,4
當i=2時,i%3=2不為0,執行continue,不執行while中n++,while(! i) 條件為假(0),do -while不迴圈執行,再執行n++後n值為1.
當i=3時,i%3=0 條件為假(0),不執行continue,執行while中的n++,n值為2,while(! i)條件為假(0),do-while不迴圈執行,再執行n++後n值為3.
當i=4時,i%3=1不為0,條件為真,執行continue,不執行while中的n++,while(! i)條件為假(0),do-while 不迴圈執行,再執行n++後n值為4.正確選項是d。
9樓:匿名使用者
n的值為4
為》=2,<5這個區間中,包含的數的個數,與能被3整除的數的個數總和~
10樓:匿名使用者
有括號先算括號內的 而且你的標點。。。
11樓:悉蕙
#include
void main()
while(!i); //7
n++; //8
執行 continue跳出do while迴圈,執行第8行操作n=1;再執行第二次for迴圈i=3,if條件不成立,
//執行第6行n++,n=2,再執行第8行操作n=3;i=4,執行 continue跳出do while迴圈,執行第8行操作n=4;i=5結束for迴圈,結果輸出4}
12樓:池璇璣
(17)有以下程式 main() { int i,s=1; for (i=1;i<50;i++) if(!(i%5)&&!(i%3)) s+=i; printf("%d
13樓:貌似風輕
d)91
for (i=1;i<50;i++)
if(!(i%5)&&!(i%3))
s+=i;
這裡計算的就是1到50中所有能被3和5同時整除的數的和15+30+45 再加上原來s=1 ,和就是91
有以下程式,程式執行後輸出結果是include《stdio h》mainint i,n 0 for i
尾爽巴澤 結果是31,因為你的程式裡面case 後面都沒有break語句跳出,所以會依次執行下去,知道迴圈結束,具體來說就是當i 1的時候先執行case1,在執行case2,在執行default 此時a 8 然後執行i i 2,然後執行case2,在執行default 此時a先加3在加5就等於16,...
以下程式為什麼會是死迴圈呢,以下程式為什麼會是死迴圈呢? 5
浮點數之間比較相等不相等不能直接用 或 因為浮點數本身就是近似值,直接用 或 通常會達不到預期的結果,這就是你的程式為什麼會出現死迴圈的原因 並不是所有機器上都會出現死迴圈,這種問題具有不確定性 比較浮點數是否相等可以用兩個浮點數的差小於一個極小值,比如比較浮點數 a1,a2 是否相等可以這樣寫 i...
以下程式的輸出結果是,C語言問題 以下程式的輸出結果是?
c語言函式引數都是單向傳遞的,直接傳值是不可能改變原來的數值的。此題答案30,20 你的printf好像有點問題 include void fun int p1,int p2,int p3 main 按lz所寫 輸出為30,20,因為函式的引數為所宣告變數的副本,這樣不會改變原有的變數。如果想改變原...