cc的c++復(fù)習(xí)之路(視頻教程在最后)
因?yàn)榻衲甏蛩憧家恍└?jìng)賽,所以要復(fù)習(xí)一下之前學(xué)習(xí)過(guò)的知識(shí)
今天就復(fù)習(xí)多重循環(huán)
知所周眾,循環(huán)一般是 for&int&while,一般來(lái)說(shuō)用于做一些簡(jiǎn)單的循環(huán)操作,那我們把一段循環(huán)放入另一端內(nèi)容中,就可以成為循環(huán)嵌套,例如
for (int i = 1; i <= n; i++) {? ? ? ?//外層循環(huán)
? ? for (int j = i; j <= m; j++) {? ?//內(nèi)層循環(huán)
? ? ? ? cout << i << " " << j << endl;
? ? }
}
我們都知道,循環(huán)中大括號(hào)里是循環(huán)體,也就是我們要做的事情,那么這件事情我們就要做n次,那我們來(lái)假設(shè)i=1,就能得出以下的結(jié)果
1 1
1 2
1 3
...
1 m
這個(gè)時(shí)候內(nèi)層循環(huán)做完一遍,回到外層循環(huán),外層循環(huán)開(kāi)始進(jìn)入下一步,i從1變成了2,就會(huì)輸出
2 2 2 3 2 4 ... 2 m
這就是循環(huán)嵌套執(zhí)行的過(guò)程。
嵌套注意事項(xiàng)
使用循環(huán)嵌套時(shí),內(nèi)層循環(huán)和外層循環(huán)的循環(huán)控制變量不能相同。
循環(huán)嵌套結(jié)構(gòu)的書(shū)寫(xiě),最好采用“右縮進(jìn)”格式,以體現(xiàn)循環(huán)層次的關(guān)系。
盡量避免太多和太深的循環(huán)嵌套結(jié)構(gòu)循環(huán)嵌套可以幫助我們解決很多問(wèn)題,在?c++?語(yǔ)言中經(jīng)常被用于按行列方式輸出數(shù)據(jù)。
多重循環(huán)并不限制循環(huán)語(yǔ)句的使用,可以?xún)芍匮h(huán)都是for循環(huán),也可以for和while混用。

我們來(lái)做一道題好了
請(qǐng)問(wèn)這段程序運(yùn)行后的結(jié)果是什么
#include <bits/stdc++.h>
using namespace std;
int main()
{
? ? int? i, b, k = 0;
? ? for (i = 1; i <= 5; i++)
? ? {
? ? ? ? b = i % 2;
? ? ? ? while (b-- >= 0)
? ? ? ? ? ? k++;
? ? }
? ? cout << k << "," << b;
}
答案為?8,-2

作用域
不同的循環(huán)中,如果定義的值是循環(huán)內(nèi)進(jìn)行的定義,那么這個(gè)值(字母)就只在這一段循環(huán)內(nèi)起作用,如果在別的循環(huán)內(nèi)使用,并不會(huì)關(guān)聯(lián)到這段循環(huán)中的同名稱(chēng)值,且需要重新進(jìn)行定義。
