十、程序运行结构

顺序结构

程序自上而下逐语句运行

int main()
{
	int a = 10;
	cout << a << endl;
	int b = 20;
	cout << b << endl;
}

选择结构

1、if()判断

可以把if理解为如果
else理解为否则
else if就是否则如果

int main()
{
	int a = 10;
    if (a <= 10) {//小括号内为表达式1
    			//代码块1
        cout << "a<=10" << endl;
    }
    else if (a < 100) {//小括号内为表达式2
    			//代码块2
        cout << "a>=10" << endl;
    }else {
    			//代码块3
        cout << "a>100" << endl;
    }
}

代码解释:
如果表达式1的判断结果为真,则运行代码块1内语句。
如果表达式1判断结果为假,则跳过代码块1。

如果还需要再次判断,可以用else if多次进行判断,如下表达式2,结果为真则执行代码块2,结果为假则不执行。
(如不需要判断,可以不用else if)

最后如果上面的表达式(这里是表达式1和2)判断结果都为假,则会执行else也就是代码块3

2、switch case选择

根据表达式选择要执行的程序

int main()
{
	int a = 1;

    switch (a) {
    //这里是选择表达式,根据表达式结果,找到对应case,执行该case中代码
    
    case 1:
        cout << "1" << endl;
        break;

    case 2:
        cout << "2" << endl;
        break;

    default:
        cout << "3" << endl;
        break;

    }

}

循环结构

1、while循环

while循环是根据表达式判断是否执行代码,如果为真则执行 ,为假则不执行。要注意的,如果判断结果为真,则执行完代码后,会再次进入判断,知道判断结果为假,则结束该循环。
注意如果判断条件始终为真会进入死循环,也就是程序会无限进行循环。

int main()
{
	int a = 1;

    while (a) {
        a--;
    }
}

2、for循环

for()循环也是根根据条件判断是否执行代码,表达式格式为:
表达式1:通常定义一个变量,如果有定义过这个变量可以省略
表达式2:判断条件,返回结果决定是否执行代码,不可省略
表达式3:也可以写到到代码块中
int main()
{

for (int i = 0; i < 10; i++)
{
    cout << i << endl;
}

}

do while()循环

do while和while的区别就是,do while是先执行一次代码块内代码后进行判断。
int main()
{
int a = 10;

    do {
        a--;
        cout << "ok" << endl;
    } while (a);

}

相关的关键字

continue

结束本次循环进到下一次循环
continue是结束一次循环,结束后还会继续进入下次判断,所以下代码会将if判断成功的情况跳过,也就是双数情况下跳过档次循环,不进行打印,输出结果为单数

int main()
{

    for (int i = 1; i < 100;i++) {
        if (i % 2 == 0)
        {
            continue;
        }
            cout << i << endl;
    }

}

break

跳出一层循环
把上面代码中continue改为break,结果就会变成只输出1
因为1取模2结果为1,1和0进行相等比较结果为假,则会输出i,i此时为1.
下一次进入循环i变成2,2进入if和2取模运算结果为0,0和0相等此时表达式结果为真,运行break语句,break会跳出当前循环,当前循环就是for,跳出for循环后程序结束。所以只输出1

int main()
{
    for (int i = 1; i < 100;i++) {
        if (i % 2 == 0)
        {
            break;
        }
            cout << i << endl;
    }

}

goto

直通车。定义一个标识符加冒号
就可以使用goto直达该代码所在位置,并且让程序从此处开始执行。

不建议多次使用goto容易出现混乱,下程序中结果会出现死循环,因为第一次if判断结果为真,进入代码块中goto语句,goto会找到定义的代码处,并从此处开始继续执行代码。所以每一次判断都为真,结果就是死循环

int main()
{
    int a = 0;
   // cout << 0 % 2 << endl;
    ok:
    for (int i = 1; i < 100;i++) {
        
        if ((i % 2) == 0)
        {
            goto ok;
        }
            cout << i << endl;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值