for 循环 and while 循环
for 循环 and while 循环(二)
for 循环 and while 循环(三)

  • while(true):循环体内部一定要有退出结束语句,否则就是死循环;
  • while (j < n):
    • 如果遍历的是全部元素的话,显然 j 是下标,而 n 是集合的长度,也是最后一个元素的下一个位置;比如 n = len(coll)

1. 循环中的自加运算

while (++i < n)
while (i++ < n)

除了在循环经历的次数上的区别外,++i 要比 i++ 少一次。两者更为重要的区别在于,参与比较的循环变量(i)其值是否和循环体内的该变量的值保持一致。while(++i < n) 能够保持一致,while (i++ < n)就无法保持一致。这会直接导致一个什么结果?就会导致如果设置不当,while (i++ < n),在遍历数组时有可能发生访问越界。

二者的等价形式:

while (++i < n)
等价于:
++i;
while (i < n){...++i;
}
while (i++ < n)
等价于
while (i < n){++i;...
}

2. while(i ++ < n) 访问越界的解决办法

while (i++ < 5 && i < 5){...
}

3. 变量的位置

void trim(const char exp[], int& lo, int& hi){while (lo <= hi && exp[lo] != '(' && exp[lo] != ')') ++lo;while (lo <= hi && exp[hi] != '(' && exp[hi] != ')')--hi;
}

当循环退出时,如果没有越界情况的发生(lo > hi)

  • lo 会指向 ()
  • hi 则会指向 ()

4. 满足一个条件即退出

也即都满足时才会执行;

while (A && B){...
}
  • 下标不越界
  • 查找的元素未找到

5. 突然死亡法的等价表示

while (true){...if (A){...break;}
}

这种写法,实际上等价于:

while (!A){...
}

6. 循环退出时

while (j < n)  ⇒ 循环退出时 j >= n, # 可能把 j = n 跳过去,循环退出时 j > n# 也可能逐步加 1,在 j = n 退出循环,也即在循环退出时,j == n

for 循环 and while 循环(四)相关推荐

  1. python循环五角星做法_python实现while循环打印星星的四种形状

    在控制台连续输出五行*,每一行星号数量一次递增 * ** *** **** ***** #1.定义一个行计数器 row = 1 while row <= 5: #定义一个列计数器 col = 1 ...

  2. shell脚本详解(四)——循环语句之while循环和until循环(附加例题及解析)

    shell脚本详解(四)--循环语句之while循环和until循环 一.until循环 1.循环结构 2.例题 二.while循环 1.循环结构 2.例题(每个人的思路不同,会导致脚本内容不一样,这 ...

  3. python打印星星居中_python实现while循环打印星星的四种形状

    在控制台连续输出五行*,每一行星号数量一次递增 * ** *** **** ***** #1.定义一个行计数器 row = 1 while row <= 5: #定义一个列计数器 col = 1 ...

  4. python 使用while循环输出*组成的菱形_python实现while循环打印星星的四种形状

    在控制台连续输出五行*,每一行星号数量一次递增 * ** *** **** ***** #1.定义一个行计数器 row = 1 while row <= 5: #定义一个列计数器 col = 1 ...

  5. c语言4位数求各位数的立方和,功能:使用循环结构求一个四位数的各位数字的立方和...

    vb 使用循环结构,打印下列图案 有了,可能不是最好的算法,希望对你有帮助!DIMm,nASINTEGERDIMaASSTRINGDIMbASSTRINGform=1to4a="" ...

  6. C语言- 循环打印 for循环例子(判断奇偶数) 第四讲

    回顾: *                  程序目的   猜数游戏(单数) *                  scanf()    //与程序交互的用法 *                  流 ...

  7. python循环的使用(四)

    一.嵌套循环对比 作用:直接借用别人实现好的功能来解决你遇到的问题. python将1970年一月一日设置为第一天,time()得到的结果是从第一天到这这行代码执行的总秒数. excel将1900年1 ...

  8. 第四讲 switch结构和循环(switch结构、while循环、do-while循环)

    一.switch结构 1.语法: 案例1:写出你周一到周日的食谱. <script>var a = +prompt("请输入日期");switch(a){case 1 ...

  9. java循环使用范围_Java循环流程控制语句

    7 循环流程控制语句 7.1 for循环的格式及基本使用 7.1.1 for循环语句格式: for(初始化语句;判断条件语句;控制条件语句){ 循环体语句; } 7.1.2 循环的执行流程图: 案例: ...

最新文章

  1. swift笔记——环境搭建及Hello,Swift!
  2. linux shell 逻辑判断 [] [[]] -n -z 用法区别
  3. Yoda 表示法错在哪里
  4. 内存首地址为1000h_C++虚继承,菱形继承,内存分布
  5. L - Two Ants Gym - 102823L
  6. linux 4412跑程序,荣品4412的板子上跑纯linux
  7. android 网络调试 源代码,Android源代码调试环境搭建
  8. 【汇编语言与计算机系统结构笔记01】x86/MIPS/ARM指令集概述与特性,一篇HPCA引发的思考(商业生态的决定性作用)
  9. .NET配置文件的10大安全漏洞
  10. 翻译:Swift5 使用日期类型:Date、DateFormatter、DateComponent
  11. 手机王者荣耀怎么投屏到电脑
  12. postman配置中文
  13. 论文研读-多目标自适应memetic算法
  14. python量化羊驼法则
  15. Java语言程序设计基础篇原书第十版第二章编程练习题答案
  16. Android 手机抓包
  17. 分枝限界法求解0/1背包问题
  18. address localhost:8080 is already in use(端口被占用)
  19. 广西区计算机二级vb net考试
  20. Android 如何通过 Windows 录制视频

热门文章

  1. Spring MVC中静态资源加载
  2. onepill服务端
  3. python微信公众菜单_Python实现微信公众平台自定义菜单实例
  4. redis源码剖析(3):基础数据结构dict
  5. 如何移动没有标题的窗体
  6. Stanford机器学习---第一讲. Linear Regression with one variable
  7. java 同步和异步_知道什么叫同步和异步吗?
  8. 函数、函数参数、变量、深拷贝、随机数
  9. mysql隔离级别与锁,接口并发响应速度的关系(2)
  10. pandas合并数据集-【老鱼学pandas】