c語言if循環
Ⅰ c語言能不能用if語句實現循環結構
惡心一點可以用遞歸實現循環,雖然遞歸的開銷要大得多……
intsum(intval){
if(val==1)return1;
returnval+sum(val-1);
}
intmain(){
val(100);
}
Ⅱ C語言for循環有if
循環有兩種可能
1 i為奇數時, i%2為1,if成立,輸出*, 然後執行下一句printf("#")
即 當i為奇數時,會輸出*#
2 i為偶數時,i%2為0,判斷不成立,執行else,即直接continue下次循環,沒有任何輸出。
循環執行5次,i值分別為1,2,3,4,5
其中三次奇數,於是輸出三個*#
即
*#*#*#
循環結束後,輸出$
選A
Ⅲ C語言如何在if判斷語句中加入循環
//方法如下:
int A[5],B[5];
int flag=1,i;
int n=sizeof(A)/sizeof(int);
//...
for(i=0;i<n;i++)
{
if(A[i]>=B[i])
flag=0;
break;
}
//這樣使用if
if(flag)
{
//...
}
//當然,也可以定義一個函數,如:
int alessb(int A[],int B[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(A[i]>=B[i])
return 0;
}
return 1;
}
int A[5],B[5];
int n=sizeof(A)/sizeof(int);
//...
//這樣使用if
if(alessb(A,B,n))
{
//...
}
Ⅳ c語言if語句的用法
c語言提供了三種形式的if語句:
1、if(表達式)語句。
例如:if(x>y)printf("%d",x);
此時,如果表達式為真,則執行printf語句。
2、if(表達式)語句1 else 語句2
例如:
if(x>y)printf("%d",x);
elseprintf("%d",y);
此時,如果x>y成立為真,則執行語句printf("%d",x),然後直接跳過else,同時也跳過語句printf("%d",y),去執行之後的語句。
如果x>y不成立為假,則不執行語句printf("%d",x),執行語句printf("%d",x)。
3、if(表達式1)語句1
else if(表達式2)語句2
else if(表達式3)語句3
else if(表達式m)語句m
else 語句 n
此時,哪個表達式為真,則運行哪個if後面的語句。如表達式3成立為真,執行語句3。
在每個語句中,可以有多個語句,但需要加上大括弧
例:if(x>y){printf("%d",x);break;}
(4)c語言if循環擴展閱讀:
if語句使用的注意事項:
1.if(條件表達式)其後沒有分號。
一般來說,有"{}"有沒有";",有";"就沒有"{}"
2.if語句所控制的語句如果是一條語句,我們可以不寫大括弧;
如果控制的是兩條以上的語句,必須加大括弧。
if語句的控制體沒有加大括弧是其後跟的一條語句。
建議:永遠加上大括弧。避免不必要的錯誤。
參考資料:網路-if語句
Ⅳ C語言,if循環和while循環的區別是。。。
一、語法不同
if:IF(logical_test,value_if_true,value_if_false)
while:while<條件>do<語句>
二、功能不同
if語句,if( ),括弧里的內容和while( )里的內容都是判定句,判定為真則執行語句,假則不執行語句。
不同點就是if沒有循環的性子,一旦執行過後就跳出語句,而while判定為真後執行它下面的語句,執行完後返回括弧里繼續判定,判定為真繼續執行語句知道括弧里判定為假為止。
三、意思不同
while是循環語句,在C語言中通常用while來表示循環,例如在main()函數中一般都用while(1)來讓主程序循環執行。
while語句叫做循環語句。同樣是判斷條件是否成立。但是執行完畢後繼續判斷該條件,直到該條件不成立則轉入下一條語句。
(5)c語言if循環擴展閱讀:
for循環是編程語言中一種開界的循環語句,而循環語句由循環體及循環的終止條件兩部分組成,for循環其在各種編程語言中的實現與表達有所出入,但基本為以C語言和pascal語言代表的兩種形式。
程序解讀:
開始i=0,i<10,執行for循環的內部語句,然後回到i++,i=2,i<10,執行for循環的內部語句,……,直到i++後變成11,11<10,不成立,返回0,循環結束。
1、for循環中的變數可以是一個也可以是多個,不要局限於一個變數處理到底,那樣有時會很單調,當程序適合把多個變數組成循環時,用多個for語句來表示就是有些浪費了!
2、for循環中語句可以為語句體, 語句體外加大括弧"{}"將參加循環的語句括起來。 for循環的三個表達式都是逗號表達式,這樣來說,其實每個分號表達式可以由幾個逗號表達式構成,中間用",」隔開,最後以「;」結束。
3、 for循環中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。
Ⅵ C語言if語句
不會無限循環的,因為i開始等於0不會執行if,執行的是i++;s+=i;,s加的是1。
然後i等於1,執行if後i等於2。
跳到循環開頭,因i等於2,不會執行if,執行的是i++;s+=i;,s加的是3。
當i等於3時,執行if,i變成4,又跳到循環開頭,因i等於4,不會執行if,執行的是i++;s+=i;,s加的是5。
當i等於5時,執行if,i變成6,又跳到循環開頭,因i等於6,不會執行if,執行的是i++;s+=i;,s加的是7。
然後因i等於7已不滿足循環條件,退出循環。
所以,s=1+3+5+7。
Ⅶ C語言中如何實現多個if語句程序的整體循環。。。
while(1)
{
//你需要重復執行的代碼。也就是你上面的那一段函數。
}
但這里是一段死循環,你設置一個變數,當你輸入這個變數後退出程序即可。
Ⅷ c語言if循環問題 請問這個if是怎麼循環的,大概什麼意思
if不做循環,是for在做循環啊。
if是判斷a>20時就 跳出循環,如果不大於,就繼續循環
Ⅸ C語言do-while循環中的if語句
程序中,「while(getchar()!='\n');」是 getchar() 的高級用法,作用是徹底地清空輸入緩沖區。getchar() 每次從緩沖區中取出一個字元,只要取出的字元不是回車就一直取,這樣就將緩沖區中所有的垃圾字元都取出來了。
此外,do…while(1) 和 while(1) 雖然不等價,但是在功能上可以互換,因為反正是無限制循環,所以不管是先執行一次循環體再判斷,還是先判斷再執行循環體結果都一樣。但如果 while 後面的表達式不是 1,那就不能相互替換。大家看上面這個程序,do…while 中不是 do…while(1),而是 do…while('Y'==k),即只有 'Y'==k 才執行循環,但只有先執行一次循環體才知道變數 k 中存儲的是什麼,才能執行最後的 while('Y'==k),這樣就無法用 while(1) 來替代。因此 do…while 一般的使用場合為 while 後的表達式不為 1。
這就是人機交互,用戶與機器裡面的一個程序進行相互交流:機器給一個提示,用戶輸入一個值,然後機器再將結果返回給用戶,然後再給你一個提示……就這樣一步一步執行。do…while 主要用於人機交互,在其他地方都用得很少。