南哪 2022-3-for-a-while
2022年11月6日大约 2 分钟
这一章实际上和上一章并没有区别
因为 while
循环实际上完全可以由 for
循环替代,除了 do-while
循环
来简单提一下这两种循环:
while (a < b) {
a = a + 1;
}
do {
a = a * 2;
}
while (a < b);
while
循环很简单,只要括号里的条件成立,它就会一直执行。
do-while
唯一不同的地方在于,无论条件成立与否它都会先执行一次,再进行判断。
continue
和 break
语句在 while
循环中依旧适用。
当输入不确定数量的数据时,我们可以通过 while
循环来实现:
while (scanf("%d", &n) != EOF) {
/* ---- */
}
还有一个重要的知识点,虽然某 CQ 并不会严格的证明,但是他告诉同学们,取模运算十分神奇,在运算过程中随时取模,最终得出的结果与只对结果取模是一样的!
以后的题目中可能会出现对某一数字取模的情况,这很有可能是运算过程中产生的结果可能过大,需要同学们及时对各个数据进行取模。
到这里就不得不提一嘴:很多同学遇到了自己检查不出来却实际上超出了变量可存储范围的运算,所以某 CQ 请各位同学们在进行变量相加或者相乘的时候,注意观察题目的数据范围思考在最坏的情况下自己的算式会不会有某个地方超出了变量的存储范围,如果是,则需要对自己的算式进行一定的修改,比如将除法提前。
题单链接: