c語言循環問題
Ⅰ c語言循環問題
第一次循環printf中x-=2時x值減2變為1,表達式返回x的值,輸出1;
循環判斷條件,--x將x值減1變為0,!(--x)為true,循環繼續;
第二次循環printf中x-=2時x值減2變為-2,表達式返回x的值,輸出-2;
循環判斷條件,--x將x值減1變為-3,!(--x)為false,循環結束。
所以輸出是
1
-2
Ⅱ C語言循環問題
x=8;
首先i=0,滿足i<2;x=1;執行下一個循環;j=0;滿足j<=3;執行(j%2),為0,x=2;再j=1;滿足j<=3但(j%2)為真,根據continue,返回j++,j=2;同理x=3;j=3,x不變,j=4不滿足j<=3;繼續下一步x++,此時x=4;再回到大循環,i=1了,與前面相同,x=8;再返回大循環,i=2,不滿足i<2;則輸出x=8;
Ⅲ c語言循環語句是什麼
在C語言中循環可分為3中,while循環、do - while循環、for 循環。
while即:首先檢查啟動循環的條件是否滿足,當條件滿足時,不斷地重復循環體內的語句,直到不滿足條件就退出。
do while即:進入do while前不做檢查,而是在執行完一輪循環後再來檢查循環的條件是否滿足,如果滿足則繼續下一輪循環,不滿足則結束循環。
while循環和do while循環的區別:while循環是先判斷條件,do while循環是在執行了一輪循環後再來判斷條件,無論條件是否滿足do while都至少會被執行一輪,而while循環是條件滿足執行,不滿足結束循環。
for循環類似一個計數循環,設定一個計數器,初始化它,然後在計數器到達某值之前重復執行循環體,同時每執行一輪循環,計數器值以一定步進進行調整。
循環語句一般用來解決需要重復執行某些語句的問題。
例1:畫矩形,輸入一行,包括四個參數:前兩個參數為整數,依次代表矩形的高和寬(高不少於3行不多於10行,寬不少於5列不多於10列);第三個參數是一個字元,表示用來畫圖的矩形符號;第四個參數為1或0,0代表空心,1代表實心。輸出畫出的圖形。
矩形的高和寬是已知的,那麼輸出行和列時,需要循環的次數就是已知的,可以用for語句來控制行和列的輸出。
例2:余數相同問題,已知三個正整數a,b,c。現有一個大於1的整數x,將其作為除數分別除a,b,c,得到的余數相同。
Ⅳ C語言While循環問題
一個非常低級錯誤
whlie(c='+'){
應該是
whlie(c=='+'){
Ⅳ c語言循環問題求解答謝謝
我怎麼感覺大括弧的位置都不對?
加入k在循環里的話,感覺答案應該是.
A:由於switch(c++),所以選項從B開始
B:K=0 由於 K--;K+=2;K++ 結果 K=2
C:K=2 由於 ;K+=2;K++ 結果 K=3
D:K=3 由於 ;K%=2;K++ 結果 K=2
E:K=2 由於 ;K*=10;K++ 結果 K=21
F:K=21 由於 ;K/=3;K++ 結果 K=8
G:K=8 由於 ;K/=3;K++ 結果 K=3
執行G後不滿足whlie條件跳出:K=3
break會直接結束switch,遇到while()循環又重新開始switch()
continue會提前結束while()的本次循環,重新開始新的循環,效果在這里與switch內部的break相似。
如果沒有break和continue比如case 'B',那麼執行完case B後還會向下執行case C直到遇到break和continue或者}結束
Ⅵ C語言的三種循環問題
for循環和while循環是「當型」循環,意思是當滿足循環條件時才執行循環體!否則不執行循環體!而do while循環是「直到型」循環。即先執行一次循環體,然後再判斷此時循環條件是否滿足,若滿足則執行之,否則不執行! 並且for循環的功能是最強大的,凡是用while,do while 循環能解決的問題用for循環都能解決!
Ⅶ c語言循環問題
//將4個程序段封裝成4個函數,用函數指針數組調用就行了。
//下面是個例子。
#include<stdio.h>
void a()
{
printf("執行函數a\n");
}
void b()
{
printf("執行函數b\n");
}
void c()
{
printf("執行函數c\n");
}
void d()
{
printf("執行函數d\n");
}
int main()
{
typedef void (*ptf)();
ptf allfunc[4];
int i,callorder[4];
allfunc[0]=a;
allfunc[1]=b;
allfunc[2]=c;
allfunc[3]=d;
while(1)
{
printf("請輸入4個函數(a、b、c、d)的調用順序");
printf("(1-a,2-b,3-c,4-d,如1 4 2 3):");
for(i=0;i<4;i++)
scanf("%d",callorder+i);
for(i=0;i<4;i++)
allfunc[callorder[i]-1]();
}
return 0;
}
Ⅷ C語言循環問題
因為你在循環內部循環也使用了變數i。
Ⅸ C語言 循環問題
當i等於1,3,5時,b等於1,while執行2次;
當i等於2,4時,b等於0,while執行1次;
所以k=2*3+2*1=8
當i等於5時,b等於1,while執行一次後,b等於0。當b等於0時,while(b-->=0)為真,b自減後為-1,再執行一次while。 當b等於-1時,while(b-->=0)為假,但b還需自減1,因為是後置自減,自減1後b為-2。
Ⅹ C語言for循環問題
在for語句中,「t==1」是循環判斷表達式,如果t滿足「t==1」的條件,則執行內嵌語句,如果不滿足,不執行內嵌語句,循環終止。
所以循環執行次數為0。