C++循环语句

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

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

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

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

WHILE循环

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);
}

执行结果:

C++循环语句

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;
}

执行结果:

C++循环语句

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

 

 

 continue:

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

执行结果:

C++循环语句

 

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

 

原文链接: https://www.cnblogs.com/bwjblogs/p/12619860.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++循环语句

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/339547

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午12:09
下一篇 2023年3月2日 上午12:09

相关推荐