循环结构中 continue 和 break 的使用

continue 和 break 的使用

  • continue语句
    作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定.
    示例:
    #include int main() { int i; for (i = 0; i < 5; i++) { if (3 == i) { continue; //结束本次循环,继续下一次循环 } printf("helloworld ! %d\n", i); } return 0; }

    运行结果:
    helloworld ! 0 helloworld ! 1 helloworld ! 2 helloworld ! 4

  • break语句
    break语句可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句
    示例
    #include int main() { int i; for (i = 0; i < 5; i++) { if (3 == i) { break; //跳出循环 } printf("helloworld ! %d\n", i); } return 0; }

    运行结果:
    helloworld ! 0 helloworld ! 1 helloworld ! 2

注意
  • break语句不能用于循环语句和switch语句之外的任何其他语句中
  • 在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨切循环层的次数
    正确示范:
    #include int main() { int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < 100; j++) { printf("Hello"); } } printf("\n"); return 0; }

  • 如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面
    【循环结构中 continue 和 break 的使用】正确示范:
    #include int main() { int i, j; for (i = 0; i < 5; i++) { if (2 == i) { break; for (j = 0; j < 1000; j++) { printf("helloworld!\n"); } } } return 0; }

    错误示范:
    #include int main() { int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < 1000; j++) { if (2 == i) { break; } printf("helloworld!\n"); } } return 0; }

    推荐阅读