C語言示例講解for循環(huán)的用法
1、循環(huán)語句for的語法
for (表達式1;表達式2;表達式3)
循環(huán);
其中,表達式1是初始化;表達式2是判斷;表達式3是調(diào)整。
示例:用for循環(huán)打印1-10。
int main()
{
int i = 0;
for (i = 1; i < 11; i++)
printf("%d ",i);
return 0;
}
1 2 3 4 5 6 7 8 9 10
有一點需要說明一下,如果判斷部分省略的話,就代表判斷的結(jié)果恒為真,代碼就會進入死循環(huán)。如下面的這段代碼:運行之后會一直打印haha
int main()
{
for (;;)
{
printf("haha\n");
}
return 0;
}

加上一些條件:
int main()
{
int i = 0;
int j = 0;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("haha\n");
}
}
return 0;
}
上面的代碼會打印9次haha,現(xiàn)在省略i=0以及j=0的條件,查看運行結(jié)果會發(fā)現(xiàn) 只打印三次
int main()
{
int i = 0;
int j = 0;
for (; i < 3; i++)
{
for (; j < 3; j++)
{
printf("haha\n");
}
}
return 0;
}
因為這個程序是先執(zhí)行j<3的那三次循環(huán),循環(huán)結(jié)束之后,j的值是3;此時i=1,j=3,已經(jīng)不滿足j<3的條件了,所以不會再打印haha
2、for循環(huán)中的break以及continue
在for循環(huán)中也是有break以及continue的,它們的意義和在while循環(huán)中的意義幾近相同,差異較小。
關(guān)于break,代碼如下,打印結(jié)果仍為:1 2 3 4
int main()
{
int i = 0;
for (i = 1; i < 11; i++)
{
if (i == 5)
break;
printf("%d ", i);
}
return 0;
}
關(guān)于continue,打印結(jié)果為1-4,6-10(與while循環(huán)中的continue的執(zhí)行結(jié)果不一樣),將上述代碼中的break改為continue即可。運行結(jié)果如下:
1 2 3 4 6 7 8 9 10
運行結(jié)果可以看出跳過了5,因為當i等于5時,會跳過打印的那條語句,但是跳過打印之后還要執(zhí)行i++,所以后面的6-10依然會被打印。
for循環(huán)里面的continue會跳到調(diào)整部分;而while循環(huán)里面的continue則會跳轉(zhuǎn)出循環(huán)。
3、for語句的循環(huán)變量控制的一些建議
不可以在for循環(huán)體內(nèi)修改循環(huán)變量,防止for循環(huán)失去控制
下面的代碼就屬于在循環(huán)體內(nèi)改變循環(huán)變量,這樣不好
int main()
{
int i = 0;
int j = 0;
for (i = 0; i < 3; i++)
{
printf("%d ",i);
int j = 0;
for (j = 0; j < 3; j++)
{
printf("haha\n");
}
}
return 0;
}
建議for語句的循環(huán)控制變量的取值采用“前閉后開區(qū)間”寫法。
for (i = 1; i < 10; i++)這種寫法就是“左閉右開”區(qū)間;for (i = 1; i <= 9; i++) 這樣的語句跟左閉右開的寫法是一樣的意思,但是不建議這么寫。左閉右開的寫法可以使得程序的可讀性更高。
4、for循環(huán)的變種
用兩個變量來控制循環(huán)也是可以的。
int main()
{
int x, y;
for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
{
printf("haha\n");
}
return 0;
}
運行結(jié)果會打印兩個haha
5、題目
看看下面的代碼會循環(huán)多少次?
int main()
{
int i = 0;
int k = 0;
for (i = 0, k = 0; k = 0; i++, k++)
{
k++;
}
return 0;
}
運行結(jié)果:
運行結(jié)果啥也沒有,因為在條件按斷處的k=0屬于是賦值,將0賦值給了k,0為假,這里這條語句它就不是判斷條件了,所以會循環(huán)0次,打印無結(jié)果。
到此這篇關(guān)于C語言示例講解for循環(huán)的用法的文章就介紹到這了,更多相關(guān)C語言for循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++中BitSet和Bloom_Filter的實現(xiàn)
本文主要介紹了C++中BitSet和Bloom_Filter的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-02-02
C++圖形界面開發(fā)Qt教程:嵌套圓環(huán)示例
這篇文章主要介紹了C++實現(xiàn)圖形界面開發(fā)Qt教程,涉及坐標函數(shù)的應(yīng)用及圖形界面程序設(shè)計,需要的朋友可以參考下,希望能給你帶來幫助2021-08-08
C語言植物大戰(zhàn)數(shù)據(jù)結(jié)構(gòu)快速排序圖文示例
這篇文章主要為大家介紹了C語言植物大戰(zhàn)數(shù)據(jù)結(jié)構(gòu)快速排序圖文示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05

