• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++循环语句

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

今天介绍的是程序中三个基本控制结构(顺序,分支,循环)的最后一个:循环。

只要三种基本的控制结构就能够表达用一个入口和一个出口框图表达的任何程序逻辑。所以在写程序的时候,要尽量避免使用GOTO语句,只用三种基本的控制结构。

写循环语句要有下面三个步骤:

  • 需要重复的语句,即循环体
  • 用循环语句包含循环体
  • 循环条件,即什么时候跳出循环

while循环的语法如下:

while(loop-condition) {
    //loop body    
}

loop-condition是循环条件,是一个bool类型的变量。当loop-condition为true时,就会执行{……}内的循环体。举个例子:

int sum = 0, i = 1;

//循环4次,第5次时,i = 5,i < 5为false
while (i < 5) {
    sum += i;
    i++;
}

cout << "5以内的数之和为:" << sum << endl;
//结果为:5以内的数之和为:10

如果你想要用户确认后再循环:

char loop = 'Y';
while (loop == 'Y') {
    //loop body
    cout << "执行" << endl;
    cout << "Do you want to continue? Yes(y or Y) or No(n or N): ";
    cin >> loop;
    //toupper()函数再<cctype>头文件中,把单个字符转换为大写
    loop = toupper(loop);
}

执行结果:

DO-WHILE循环

do-while的基本语法:

do {
    //loop body
} while (loop-condition);

注意最后的分号!

do-while循环和while基本相同,区别仅在于do-while先执行循环体,再判断条件,如果条件为真,则继续执行。

上面的例子用do-while循环重构一下:

int sum = 0, i = 1;

//循环4次,第5次时,i = 5,i < 5为false
do {
    sum += i;
    i++;
}while (i < 5);

cout << "5以内的数之和为:" << sum << endl;
//结果为:5以内的数之和为:10

FOR循环

for循环是编程时最常用的循环格式,语法如下:

for (initial-action; loop-condition; action-after-each-iteration) {
    //loop body
}

解释一下三个参数:

initial-action是初始化动作,即初始化循环时需要的变量

loop-condition是循环条件,为true时执行循环体

action-after-each-iteration是每次迭代后的动作,即执行完一次循环体后的操作,一般是i++

上面的例子用for循环重构一下:

int sum = 0;

//循环4次,第5次时,i = 5,i < 5为false
for (int i = 1; i < 5; i++) {
    sum += i;
}

cout << "5以内的数之和为:" << sum << endl;
//结果为:5以内的数之和为:10

当然,如果要初始化的动作在前面写也可以:

int sum = 0, i = 1;

//此时i的作用域为整个生命周期,而不是for循环
for (; i < 5; i++) {
    sum += i;
}

cout << "5以内的数之和为:" << sum << endl;
//结果为:5以内的数之和为:10

同理,如果没有后续执行的操作,action-after-each-iteration可以不写

int sum = 0, i = 1;

//循环4次,第5次时,i = 5,i < 5为false
for (; i < 5;) {
    sum += i;
    i++;
}

cout << "5以内的数之和为:" << sum << endl;
//结果为:5以内的数之和为:10

break和continue

这是C++的两个关键字。

break用来跳出整个控制语句(如while,switch...),continue用来跳过一次迭代。

(迭代就是当前执行的这一次)

break:

for (int i = 0;i < 10; i++) {
    if (i == 5) {
        //当i=5时,跳出整个循环
        break;
    }
cout << i << endl;
}

执行结果:

从数字5之后就没有了,因为跳出了整个大的循环

 

 

 continue:

for (int i = 0;i < 10; i++) {
    if (i == 5) {
        //当i=5时,跳过本次循环
        continue;
    }
    cout << i << endl;
}

执行结果:

 

 只是没有数字五,因为i = 5时,跳过了本次循环

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中使用结构体发布时间:2022-07-14
下一篇:
C++调用C#类库发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap