這一節(jié)來深入理解一下for循環(huán)語句的使用
一、for語句的結(jié)構(gòu)
for(初始化;判斷條件;調(diào)整)

分析代碼:
創(chuàng)建變量i
for循環(huán)語句的初始化為i=1,說明i從1開始循環(huán)
判斷部分為i<=10,直到i>10時(shí)跳出循環(huán)
調(diào)整部分為i++,每循環(huán)一次I+1
此代碼結(jié)果為打印1-10這10個(gè)數(shù)字
源代碼文章來源:http://www.zghlxwxcb.cn/news/detail-743695.html
#include<stdio.h>
int main()
{
int i = 0;
//for(初始化;判斷;調(diào)整)
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
二、for語句中的break
與上節(jié)循環(huán)語句while中break的作用一樣,都是跳出循環(huán)

分析代碼:
與第一條代碼基本一致
在printf語句前增加if條件語句為當(dāng)i==5時(shí)跳出循環(huán)(break)
此代碼的結(jié)果為:1 2 3 4(5還沒來得及打?。?/p>
源代碼
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
{
break;
}
printf("%d ", i);
}
return 0;
}
三、for語句中的continue
與循環(huán)語句while中的continue一樣,作用為跳過continue之后的語句,重新開始一個(gè)循環(huán)

分析代碼:
與第一條代碼基本一致
在printf語句前增加if條件語句為當(dāng)i==5時(shí),跳過continue之后的語句(即不打印5),重新開始循環(huán)(此時(shí)i==6)
此代碼的結(jié)果為:1 2 3 4 6 7 8 9 10(跳過5)
源代碼
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
{
continue;
}
printf("%d ", i);
}
return 0;
}
四、for語句中的“左閉右開”形式
所謂的“左閉右開”是指初始化是被賦值的確定的數(shù),判斷部分是一個(gè)開區(qū)間

分析代碼:
創(chuàng)建一個(gè)元素為10的數(shù)組
創(chuàng)建變量i
for循環(huán)的初始化為i=0
判斷為i<10,為開區(qū)間,調(diào)整為i++
打印數(shù)組
此代碼的結(jié)果為:10個(gè)0
源代碼
int main()
{
int arr[10] = { 0 };
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
為什么建議“左閉右開”,而不建議“左閉右閉”?
:如果是“左閉右閉”,判斷部分就為i<=9,不好判斷循環(huán)次數(shù),如果是i<10就知道是循環(huán)10次啦
五、一直for循環(huán)
來看這一段代碼

在for循環(huán)的初始化,判斷,調(diào)整都是空的,只要判斷部分是空的,此時(shí)的條件就很為真,所以混進(jìn)入死循環(huán)
源代碼
int main()
{
for (;;)
{
printf("hehe\n");
}
return 0;
}
六、for循環(huán)嵌套使用
for循環(huán)是可以嵌套使用的,可以在for里在使用一個(gè)for

你覺得這個(gè)執(zhí)行結(jié)果一共是多少個(gè)hehe呢?

答案是9個(gè)
分析代碼:
當(dāng)i=0進(jìn)入第一個(gè)for循環(huán),j=0,然后來到了第二個(gè)循環(huán),在第二個(gè)循環(huán)中循環(huán)3次
在進(jìn)入第一個(gè)循環(huán)中,如此也重復(fù)3次,所以3*3=9次循環(huán)
源代碼
int main()
{
int i = 0;
int j = 0;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("hehe\n");
}
}
return 0;
}
但是如果初始化省略掉,打印幾個(gè)hehe呢?

這是因?yàn)楫?dāng)初始化省略掉后,第二個(gè)for循環(huán)3次后再進(jìn)入第一個(gè)循環(huán),然后再準(zhǔn)備第二個(gè)循環(huán)時(shí),j已經(jīng)=3,而不是0,所以結(jié)束循環(huán)
源代碼
int main()
{
int i = 0;
int j = 0;
for (; i < 3; i++)
{
for (; j < 3; j++)
{
printf("hehe\n");
}
}
return 0;
}
七、for循環(huán)的變式
for循環(huán)還可以被兩個(gè)變量控制

由變量x,y同時(shí)限制for循環(huán)的條件,結(jié)果為兩個(gè)hehe
源代碼
int main()
{
int x, y;
for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
{
printf("hehe\n");
}
return 0;
}
八、小練習(xí)

這個(gè)for循環(huán)會(huì)循環(huán)幾次?
答案是0次
因?yàn)樵谂袛嗖糠謐=0,是將0賦給k,而不是k==0,所以判斷部分為假,不會(huì)進(jìn)入循環(huán)
源代碼
int main()
{
int i, k;
for (i = 0, k = 0; k = 0; i++, k++)
{
k++;
}
return 0;
}
總結(jié)
以上就是本人對(duì)于循環(huán)語句for的學(xué)習(xí)與理解文章來源地址http://www.zghlxwxcb.cn/news/detail-743695.html
到了這里,關(guān)于【C語言】循環(huán)語句for的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!