《实用C++》第14课:for循环语句及break和continue的作用

本文深入解析C++中的for循环语句,从基本格式到灵活应用,包括表达式的省略、break与continue语句的使用,并通过实例演示1~100累加及100~200间素数的查找。

本文转载自:VC驿站

https://www.cctry.com/thread-282706-1-1.html

1、for循环语句概述:
C++中可以说最灵活的一个循环语句就是for了,跟while循环语句相比,for循环更加灵活方便。所以在程序开发的过程中大家以后会经常用到for循环。

2、for循环语句的格式:
for(表达式A; 表达式B; 表达式C)
语句X

注意:表达式A、B、C 之间的分割是分号; 不是逗号啊,不要犯错!

for循环语句的执行过程如下:
①、先求解表达式A;
②、求解表达式B,同时判断表达式B的结果,如果为假则直接跳出for循环,如果为真则执行循环体语句X;
③、求解表达式C;
④、再次执行步骤②;
⑤、再次执行步骤③;
⑥、以此类推。。。

备注:
表达式A只执行了一次,所以表达式A又叫做循环变量赋初值的初始化表达式;
表达式B即作为循环条件,或者说循环中止的条件表达式;
表达式C一般用作循环变量的增值或者累加的表达式;
循环体语句X可以是一条普通的语句,也可以是多条语句,这种时候就得用一对{}括起来。

3、for循环举例:
用for循环实现1~100之间数的累加,打印出结果:
#include <iostream>
using namespace std;

int main()
{
        int x = 1, sum = 0;
        for (int x = 1; x <= 100; ++x)
        {
                sum += x;
        }

        cout << "1~100的累加和 = " << sum << endl;
        return 0;
}

4、for语句的灵活所在:省略各个表达式
for语句之所以灵活,是因为他有三个表达式灵活存在。同时呢,这三个表达式又可以根据实际需要进行省略处理,不过分号不能省略啊!
①、省略初始化表达式A,那么就要求循环的控制变量在别的地方初始化:
int x = 1, sum = 0;
for (; x <= 100; ++x)
{
        sum += x;
}

②、省略循环变量的自增表达式C,那么就要求在别的地方对循环变量进行相关操作:
int x = 1, sum = 0;
for (; x <= 100; )
{
        sum += x;
        ++x;
}

③、表达式A和C都可以省略掉,那么作为循环条件的表达式B能否也省略呢?答案是可以的!
int x = 1, sum = 0;
for (; ;)
{
        sum += x;
        ++x;
        if(x > 100) break;
}

5、用 break 语句提前结束循环过程并跳出:
之前给大家讲解 switch-case语句的时候,跟大家说过,break可以跳出当前的switch-case语句结构。同理break语句也可以使用在循环语句中,使用之后直接提前跳出当前的循环过程。

6、用 continue 语句提前结束本次循环:
continue 语句一般用于循环语句中,作用是提前结束本次循环,即跳过循环体语句中X中尚未执行的语句,直接进行下一次的循环。

7、举例实现求出100~200之间的素数并打印出来:
#include <iostream>
using namespace std;

int main()
{
        cout << "100~200之间的素数如下:" << endl;

        int x = 0;
        for (x = 100; x <= 200; ++x)
        {
                int y = 2;
                for (y = 2; y < x / 2; ++y)
                {
                        if (x % y == 0)
                        {
                                break;
                        }
                }

                if (y < x / 2) continue;

                cout << x << endl;
        }

        cout << endl;
        return 0;
}

第14课视频教程下载地址:

https://www.cctry.com/thread-282706-1-1.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值