自学黑马系列C++基础之循环结构(do....while 、for)

while循环:while循环https://blog.csdn.net/sinat_41682284/article/details/109801275

  1. 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
  1. 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$ 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值