对于学习C语言的我们来说,for循环似乎是一个再简单不过的方法了,但是这里将要与大家更加深入讨论for循环,并将其运用到一道题目当中。 首先,我们还是一样来分析一下for循环的结构。
比如这里,我们首先定义了一个整型变量a,然后再for循环里面,我们给a的初始值为100。
好的这里我们可以看到for循环的一个流程,首先判断a是否小于等于200;如果是,则进入循环的内部,也就是说for循环的循环体是可以一次都不执行的。在第一次执行完毕之后,执行a++这个语句,之后继续判断a<=200这个语句,如果真则进入循环体内,反之,则不进入循环体内。这就引入一个问题了,就是在最后一次也就是退出循环的时候的a的值是多少呢?事实上,我们知道当a=200时执行最后一次循环体,之后a还要再+1,变为201,而201>200,因此退出循环,因而可以知道最后for循环结束时的a为201。
接下来我们要解决这样的一个问题——打印100到200之间的所有素数。倘若是在python中,由于for循环本身也有else语句,因此较简单。在C语言中,我们有什么方法较为简单的解决呢?
首先我们有第一层for循环遍历数字,接着用第二层for循环找出素数
大家可以看一下这里的if(b==a)由于之前我们已经知道for循环最后b是超越临界的那个值,这里,如果是素数,则b在循环内没有值能满足整除条件,最后返回的就是a,因此这里只要加上这一条语句,就能打印出来了。