while循环:while循环https://blog.csdn.net/sinat_41682284/article/details/109801275
- do…while循环的结构:
do{循环体}while(循环条件)
while循环是先判断条件然后再进循环体执行,do…while循环是先执行一遍循环体,然后判断循环条件是否满足下次循环。
示例:输出0-9 (用while循环)
#include <iostream>
int main(void)
{
int i = 0;
do{
std::cout << i++ << std::endl;
}while(i <= 9);
return 0;
}
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ g++ test2.cc -o T2
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T2
0
1
2
3
4
5
6
7
8
9
- for循环的结构
for(起始条件语句; 循环条件语句; 末尾循环语句){循环体}
注意事项:for循环中间的各个语句之间是用分号隔开的
示例:
#include <iostream>
int main(void)
{
for(int i=0; i<=9; i++){
std::cout << i << std::endl;
}
return 0;
}
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ g++ test2.cc -o T2
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T2
0
1
2
3
4
5
6
7
8
9
练习:输出 9x9乘法表
#include <iostream>
int main(void)
{
for(int i=1; i<=9; i++){
for(int j=1; j<i; j++){
std::cout << j << "*" << i << "=" << i*j << "\t";
}
std::cout<< std::endl;
}
return 0;
}
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ g++ test2.cc -o T2
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T2
1*=0
2*=0 2*=2
3*=0 3*=3 3*=6
4*=0 4*=4 4*=8 4*=12
5*=0 5*=5 5*=10 5*=15 5*=20
6*=0 6*=6 6*=12 6*=18 6*=24 6*=30
7*=0 7*=7 7*=14 7*=21 7*=28 7*=35 7*=42
8*=0 8*=8 8*=16 8*=24 8*=32 8*=40 8*=48 8*=56
9*=0 9*=9 9*=18 9*=27 9*=36 9*=45 9*=54 9*=63 9*=72
//这次输出是将起始的条件语句的i和j都是赋值的0,且忘记将*号后的j输出
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ vim test2.cc
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ g++ test2.cc -o T2
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T2
0*1=0
0*2=0 1*2=2
0*3=0 1*3=3 2*3=6
0*4=0 1*4=4 2*4=8 3*4=12
0*5=0 1*5=5 2*5=10 3*5=15 4*5=20
0*6=0 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30
0*7=0 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42
0*8=0 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56
0*9=0 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72
//这次输出忘记将起始条件都赋值1
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ vim test2.cc
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ g++ test2.cc -o T2
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T2
1*2=2
1*3=3 2*3=6
1*4=4 2*4=8 3*4=12
1*5=5 2*5=10 3*5=15 4*5=20
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72
//完事
突然发现一个问题,发现每一列都少了一个,哈哈哈哈,检查一下代码原来是因为一个条件写错了少写了一个等号QAQ。
正确的在这里:
#include <iostream>
int main(void)
{
for(int i=1; i<=9; i++){
for(int j=1; j<=i; j++){
std::cout << j << "*" << i << "=" << i*j << "\t";
}
std::cout<< std::endl;
}
return 0;
}
输出:
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T2
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
ubuntu@VM-0-16-ubuntu:~/lijh/cc$