900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > c++ 循环控制语句 while语句 do...while语句 for语句 for循环

c++ 循环控制语句 while语句 do...while语句 for语句 for循环

时间:2023-01-20 07:15:30

相关推荐

c++ 循环控制语句 while语句 do...while语句 for语句 for循环

循环控制语句

循环语句在底层与条件语句类似,区别是在条件为true时,执行完所有语句后,会有一个跳转指令跳回到条件判断,而条件为false时的跳转会直接跳过循环末尾的跳转指令。

while语句

while语句与if语句类似

#include<iostream>using namespace std;//while语句int main(){int i = 0 ;while ( i < 10 ){cout << "输出数字: " << i <<endl;i++;}return 0 ;}

运行结果:

示例中的循环执行了10次,打印了0-9这10个数字,最后在i=10,的时候因为条件不满足而结束。和if语句一样,while也可以不在条件后面加花括号,但是循环体中就至多只会有一个语句(所谓循环体,就是条件为true时,才会执行的语句)。

do…while语句

do…while语句和while语句相对,条件判断处于循环体之后。

#include<iostream>using namespace std;//do...while 语句int main(){int i = 0 ;do {cout << "输出数字:" << i << endl;i++;}while (i <10 );return 0;}

运行结果:

示例展示了do…while语句的基本用法,其输出结果与while语句完全相同。do…while语句的行为基本与while语句一致,区别是do后面的代码会被执行至少一次,而且语句的最后要加上分号,在实际编程中因为do…while一般都可以转换为while,我们比较少见到他但是我们也要知道它与while语句的区别。

while语句与do…while语句不一致的地方

#include <iostream>using namespace std;//do...while与while行为不一致的情况int main(){int i = 0 ;cout << "while语句" << endl;while ( i < 0 ){cout << "输出数字:" << i << endl;i++;}cout << "do...while语句" << endl;do {cout << "输出数字" << i << endl;i++;}while ( i < 0 );return 0 ;}

**运行结果为: **

示例将之前的条件改成了i<0,由于do…while的条件判断在最后,因此就算i并不小于0,程序也会打印一次。

for语句

for语句或者是for循环是最常见的也是复杂的一种循环。

在熟练掌握其语法后,对于一般类似与打印1到N的数字的程序我们都可以快速的写出。

for 语句的基本用法

#include <iostream>using namespace std;//for语句基本用法int main(){for (int i = 0; i < 10 ; i++){cout << "输出数字:" << i << endl;}return 0;}

运行结果:

for语句的条件部分由三个语句组成,其中只有第二个语句是条件判断。第一个语句是赋值语句,可以直接定义新的变量,也可以直接定义新的变量,也可以给循环外定义的变量重新赋值。一般来说我们把这个变量当作计数器,用于判断循环的条件,但其实语法中也没有规定3个语句要使用同一个变量(例子中使用同一个变量的用法是最常见的)。第三个语句会在循环中所有语句执行完后触发,一般用来递增或递减计数器的值。

for语句的省略写法:

#include<iostream>using namespace std;//for语句的省略写法int main(){int i = 0 ;for ( ; i < 10 ; ){cout << "输出数字: " << i << endl;i++;}return 0 ;}

运行结果为:

在for语句头部分别省略了计数器初始化和自增的语句,用空语句来代替而将它们移到了其他位置。可以看出这样的写法就和while一模一样了。

此外,for语句头部的三个语句也都可以用逗号操作符来操作多个变量,写出复杂的循环条件。

for语句中的逗号操作符

#include<iostream>using namespace std;//for语句的逗号操作符int main(){for (int i = 0 ,j = 10 ;j>5 && i<10;i++,j--){cout << "输出数字:" << i << "和" << j << endl;}return 0;}

运行结果:

在循环头部增加了一个 j变量,并使得每次循环都检测 i 和 j 两个值。

注意:例子中的第二个表达式不能写成 “j>5,i<10”,这是因为这一个语句会被当做表达式,它的返回值直接决定了循环是否要继续。逗号表达式将会返回有操作数的值,也就是返回“i<10”,而“j <5”将会被忽略。

循环嵌套

最后,说一下循环嵌套。与条件语句相同,循环语句也可以嵌套,而循环语句和条件语句相互之间也可以嵌套。

输出九九乘法表

#include<iostream>using namespace std;//输出九九乘法表int main(){for (int i=1;i < 10;i++){for (int j =1;j<10;j++){cout << i << "x" << j << "=" << i*j <<" " ;} cout << endl;}return 0 ;}

使用了两层嵌套的for循环输出九九乘法表,运行结果为:

程序中的外层循环决定了第一个乘数的值,而内层循环决定了第二个乘数,两个循环的计数器相乘就得到了乘积。

如果对您有帮助请点赞支持一下下~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。