學(xué)習(xí)一下 for 循環(huán)的幾種不同方式,了解一下原理及差異
完整的測試代碼參考 GitHub :for 循環(huán)測試代碼
1 常用形態(tài)
對于 for 循環(huán)來說,最常用的形態(tài)如下
for (表達(dá)式1; 表達(dá)式2; 表達(dá)式3)
{
// code
}
流程圖如下:
編寫測試代碼如下
void forMethod1()
{
cout << "\nThis is i++ test start" << endl;
#if 0
for (int i = 0; i < MAX; i++)
{
cout << "for start i = " << i << endl;
cout << "for test" << endl;
cout << "for end i = " << i << endl;
}
#else
int i; // 循環(huán)變量聲明放for循環(huán)之前,便于查看循環(huán)結(jié)束后的循環(huán)變量值
for (i = 0; i < MAX; i++)
{
cout << "for start i = " << i << endl;
cout << "for test" << endl;
cout << "for end i = " << i << endl;
}
// 此時(shí)循環(huán)變量已是最后一次修改后的,但不滿足循環(huán)條件的值
cout << "for exit, i = " << i << endl;
#endif
cout << "This is i++ test end\n" << endl;
}
上述代碼執(zhí)行結(jié)果如下
This is i++ test start
for start i = 0
for test
for end i = 0
for start i = 1
for test
for end i = 1
for start i = 2
for test
for end i = 2
for start i = 3
for test
for end i = 3
for start i = 4
for test
for end i = 4
for exit, i = 5
This is i++ test end
從執(zhí)行結(jié)果來看,在退出 for 循環(huán)代碼塊后,i 的值是 5 ,按流程圖也就是在經(jīng)過了最后一次循環(huán)變量自增,再去判斷循環(huán)條件是否滿足,此時(shí)不滿足 i < 5 ,隨后退出 for 循環(huán)。
2 代碼塊中修改循環(huán)變量
另一種比較常用的方式,就是在代碼塊中修改循環(huán)變量,以實(shí)現(xiàn)不同的循環(huán)方式。
測試代碼如下
void forMethod3()
{
cout << "\nThis is i++ test V2 start" << endl;
int i;
for (i = 0; i < MAX;)
{
cout << "for start i = " << i << endl;
cout << "for test, start i++" << endl;
// 循環(huán)體內(nèi)執(zhí)行改變循環(huán)變量操作,實(shí)現(xiàn)不同循環(huán)效果
i++;
cout << "for end i = " << i << endl;
}
cout << "for exit, i = " << i << endl;
cout << "This is i++ test V2 end\n" << endl;
}
代碼實(shí)際運(yùn)行結(jié)果如下文章來源:http://www.zghlxwxcb.cn/news/detail-852052.html
This is i++ test V2 start
for start i = 0
for test, start i++
for end i = 1
for start i = 1
for test, start i++
for end i = 2
for start i = 2
for test, start i++
for end i = 3
for start i = 3
for test, start i++
for end i = 4
for start i = 4
for test, start i++
for end i = 5
for exit, i = 5
This is i++ test V2 end
此中方式,區(qū)別在于將改變循環(huán)變量操作放進(jìn)代碼塊內(nèi)執(zhí)行,以實(shí)現(xiàn)不同循環(huán)方式,比如文章來源地址http://www.zghlxwxcb.cn/news/detail-852052.html
// 步長為1
i = i + 1;
i += 1;
i++;
++i;
// 步長為2
i = i + 2;
i += 2;
...
到了這里,關(guān)于c/c++普通for循環(huán)學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!