• 【看书】for,(do-)while的循环体执行


    虽然最早就学过
    while与do-while区别
    但因为do-while很少用
    甚至做题时可以说从来没用过

    所以对于描述

    do-while的循环体至少会执行一次

    这句话并没有深刻体会

    不过引发这个思考的是
    【NYOJ】[56]阶乘因式分解(一)
    之中的for循环条件
    for(int k=i; !(k%m); cnt++)
    !(k%m)含义有点困惑

    不过结合 while do-while 便可以轻松得出
    for(初始语句;判断语句;调整语句)
    中在执行循环的顺序应该是

    Created with Raphaël 2.1.0初始语句循环条件循环体调整语句循环结束yesno

    这个流程图画的还不错吧~哈哈哈

    验证:

    初始条件在第一次判断前就执行

    #include<stdio.h>
    int main() {
        int n=1; 
        for(int i=n=0; i<0; n++,i++);
        printf("n的值为%d
    ",n);
        return 0;
    }

    第一次循环体执行前就需要 判断条件:

    #include<stdio.h>
    int main() {
        int n=0;
        for(int i=0; i<0; i++)
            n++;
    //  for(int i=0; i<1; i++)
    //      n++;
        printf("运行了%d次
    ",n);
        return 0;
    }

    而do-while形式为

    #include<stdio.h>
    int main() {
        int n=0;
        int i=0;
        do {
            n++;
            i++;
        } while(i<0);
    //  do {
    //      n++;
    //      i++;
    //  } while(i<1);
        printf("n的值为%d
    ",n);
        return 0;
    }

    两次输出都为 n的值为1

    由此可以验证
    for 与 do-while的区别

  • 相关阅读:
    环境部署:Linux下查看JDK安装路径
    环境部署(一):Linux下安装JDK
    linux常见命令
    设计用例
    测试用例的优先级
    快速幂和快速乘
    docker-compose安装
    jmeter通过命令生成自动测试报告
    jmeter环境变量配置
    java将毫秒转化为当前时间
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569895.html
Copyright © 2020-2023  润新知