初始C语言之———分支与循环2
一.循环结构
在C语言中提供了三种循环语句,它们分别是while,for,do while语句,下面来分别介绍一下这三种语句。
1.while循环
while循环的一般格式如下
while(表达式)
{
循环体语句;
}
这样来看的话,while循环与if语句是极其相似的,那么我们可以用理解if语句的方式理解while循环,while在英语中的意思是当…的时候,那么while循环可以理解为当表达式成立时执行下面的循环体语句。
下面是while语句的执行流程图:
那我们通过一个简单的代码实践一下while循环:
#include<stdio.h>
int main()
{
int a=1;
while(a<=10)
{
printf("%d ",a);
a+=1;
}
return 0;
}
显然程序运行结果为1到10。
但是,需要注意的一点是如果while循环中的循环体语句没有使得表达式结果为假的话,那么程序就会陷入死循环。
2.for循环
for循环能够处理技术控制的所有细节,是一种功能强大的循环语句,所以很多程序员在用C语言写代码时经常会用for循环。
for循环的语法形式如下:
for(表达式1;表达式2;表达式3)
{
语句;
}
表达式1⽤于循环变量的初始化;表达式2⽤于循环结束条件的判断;表达式3⽤于循环变量的调整。
for循环的执行过程:
首先执行表达式1,对变量做初始化,执行一次;然后再判断表达式2,若结果为真,进入循环语句,若为假,退出循环;执行完循环语句后,再进入表达式3,对变量进行调整,调整完后进入表达式2判断真假,若为真,循环继续进行,若为假,退出循环,程序向下执行。
for循环实践:打印1到10.
#include<stdio.h>
int main()
{
int a=0;
for(a=1;a<=10;a++)
{
printf("%d ",a);
}
return 0;
}
3.do while循环
在循环语句中,用的最少的就是do while循环了。
do while循环的语法结构:
do
{
语句;
}while(表达式);
do while循环与前两个循环最大的不同就是do while循环先执行循环语句再判断表达式是否为真,因此do while循环至少执行一次循环语句。
注意!!!while后的括号后要加“;”,这是容易遗忘的一点。
do while循环的执行流程:
do while循环的实现,在屏幕上打印1到10:
#include<stdio.h>
int main()
{
int a=1;
do
{
printf("%d ",a);
a+=1;
}while(a<=10);
return 0;
}
到这里我们已经学习了三种循环语句,那么我们可以学习一些更实用的技巧:循环的嵌套。
4.循环的的嵌套
练习:找出100~200之间的素数,并打印在屏幕上。
#include<stdio.h>
int main()
{
int i=100;
for(i=100;i<=200;i++)
{//生成100到200所有的数字
int flag=1;//假设为素数flag==1,不是素数为0
int j=2;//循环产生2到i-1的数,用i%j判断是否为素数
for(j=2;j<i;j++)
{
if(i%j==0)
{
flag=0;//不是素数
break;
}
}
}if(flag==1)
{
printf("%d ",i);
}
return 0;
}