循环与素数
多个if进行判断的时候,可能会出错,从上往下判断.
if拥有局限性,在小范围内可以进行使用,但是任意范围内,不仅写得多,而且还容易出错.
if语句可以判断条件是否满足,满足时才做相应的动作,而循环语句可以在满足条件时,不断地重复执行一些动作。
重复执行的语句(循环语句)可以多次执行其他语句,它检查一个逻辑条件是否满足,只在满足的时候执行它的循环体。
while语句是一个循环语句,它会首先判断一个条件是否满足,如果条件满足,则执行后面紧跟着的语句或语句括号,然后再次判断条件是否满足,如果条件满足则再次执行,直到条件不满足为止。后面紧跟的语句或语句括号,就是循环体。
do-while循环和while循环很像,唯一的区别是我们在循环体执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。与while循环相同的是,条件满足时执行循环,条件不满足时结束循环
数位数的算法:
1.用户输入x;
2.初始化n为0;
3.x=x/10,去掉个位;
4.n++;
5.如果x》0,回到3;
6.否则n就是结果.
do-while是先做循环内的东西再判断对否,对就继续,不对就结束,while是先判断再做循环内的东西.
while循环的意思就是:当条件满足时,不断的重复循环体内的语句.
学会利用人脑模拟计算机进行运算,在草稿纸上演算,该程序最终的输出结果.
可以使用printf进行调试,可以得知程序运行到哪里和程序每一步循环的值为多少.
小套路:在进行循环计算时,可以先保存最原始的值,后面可能有用.
初始值以及后面设置的一系列值,()内的值其实都是息息相关的,一旦改了某个值,就会造成输出不对的i情况发生.
在编程中每种情况都不止一种方法解决,条条大路通罗马,仔细想.
小套路:在计数循环或者其他情况中如果循环次数过大,那么可以模拟一个较少的循环次数,然后进行推断.
printf跟--或者++的位置在上在下造成的结果不同哦.
rand()代表着随机数
x%n的结果时【0,n-1】的一个整数,例如1234%100得34.
在使用rand()时头文件下加上两行#include 和#include
在int main下加上srand(time(0))
对于循环或者说程序的不同选择,最终铸成不同的结果,难易,大小.
整数的分解:
for:
括号内第一个条件是初始条件;
第二个是循环继续的条件;
第三个是循环每轮要做的动作;
for循环就想一个计数器,先给一个值,然后在到达哪个值之前都一直做哪个括号中的事情.
在for循环中循环的次数往往是循环体右边的哪个数,而循环结束后循环体前面哪个数会等于循环体后面那个数.
for等价于whlie,任何for都可以改写为while,for中的每一个表达式都是可以省略的,例如for(;条件;)分号不能少,同时这个==while(条件).
有固定次数的,用for
如果必须执行一次的,用do while
其他情况用while
素数:
1.就是只能被1和自己整除的数
2.例如:1,2,3,5,7,11,13,17,19这些
一旦遇到break就会离开整个循环,无论是什么循环.
break是跳出循环
continue是跳过循环这一轮剩下的语句进入下一轮.
循环里面还是循环就是循环的嵌套.
嵌套循环,每层循环的变量应不一样,不然就会乱套.
break continue都只能对它所在的那层循环做.
可以设一个值,值达到的时候就是,满足一种结果的时候就可以接力break.
goto可以直接开飞跳,例如goto out;然后你再找个地方写out:它就会直接将结果跳到out哪里
当你要从最内层跳到最外层的时候,建议使用goto