关于do-while循环
在循环语句中 do while 语句的使⽤最少,它的语法如下:
do
语句;
while(表达式);
while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳
出循环;
⽽ do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表
达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。
举例:
用do-while语句在屏幕上打印1-10的值
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10);
}
#include"stdio.h"
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10);
}
⼀般 do while 使⽤在循环体⾄少被执⾏⼀次的场景下,所以较少⼀些。
假设输⼊⼀个正整数,计算这个整数是⼏位数?
例如:
输⼊:1234 输出:4
输⼊:12 输出:2
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int cnt = 0;
do
{
cnt++
n = n / 10;
} while (n);
printf("%d\n", cnt);
}
这⾥并⾮必须使⽤ do while 语句,但是这个代码就⽐较适合使⽤ do while 循环,因为n即使是
0,也是1位数,要统计位数的
关于break和countine语句
在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中
提供了 break 和 continue 两个关键字,就是应该到循环中的。
• break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执
⾏。
• continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所
差异的。
break
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
break;//当i等于5后,就执⾏break,循环就终⽌了
printf("%d ", i);
i = i+1;
}
return 0;
}
continue
#include"stdio.h"
int main()
{
int i = 1;
while (i <= 10)//由于下方i==5,回到了上面
{
if (i == 5)
continue;
printf("%d ", i);
i++;//因为跳过i++所以死循环
}
}
循环的嵌套
学习了三种循环 while , do while , for ,这三种循环往往会嵌套在⼀起才能更好的解决
问题,举例:
要从100~200之间找出素数,⾸先得有100-200之间的数,这⾥可以使⽤循环解决。
2. 假设要判断i是否为素数,需要拿2~~i-1之间的数字去试除i,需要产⽣2~i-1之间的数字,也可以使⽤
循环解决。
3. 如果2~i-1之间有数字能整除i,则i不是素数,如果都不能整除,则i是素数。
#include <stdio.h>
int main()
{
int i = 0;
//循环产⽣100~200的数字
for(i=100; i<=200; i++)
{
//判断i是否为素数
//循环产⽣2~i-1之间的数字
int j = 0;
int flag = 1;//假设i是素数
for(j=2; j<i; j++)
{
if(i % j == 0)
{
flag = 0;//打印的为假(因为素数是1和他本身整除,此处余数为0,被除尽,故不是余数)
break;
}
}
if(flag == 1)//打印的为真(是余数)
printf("%d ", i);
}
return 0;
}
关于goto语句
#include"stdio.h"
int main()
{
again://设定一个字母
printf("haha\n");//找到后,故打印(因为冒号:)
goto again;//找到那个设定的字母
return 0;
}
goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建
议是能不⽤尽量不去使⽤;但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出
使⽤ goto 就⾮常的⽅便了。
for(...)
{
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
}
error:
//...
本来 for 循环想提前退出得使⽤ break ,⼀个 break 只能跳出⼀层 for 循环,如果3层循环嵌套
就得使⽤3个 break 才能跳出循环,所以在这种情况下我们使⽤ goto 语句就会更加的快捷。
以上就是我对循环语句的理解与运用,希望在大家编程的路上能带来一定的作用.