一.三种不同的循环形式
1.for循环:
指定次数的循环
例题:for 求1到100的和。
代码:
#include<stdio.h> int main() { int i,sum; for(i=1;i<=100;i++) { sum=sum+i; } printf("sum = %d",sum); return 0; }
2.while循环:
“当型”循环(先判断再做)
例题:逆序输出一个整数的各位数字,对输入的一个非负整数,从低位开始逐位分割并输出它的各位数字。
代码:
#include<stdio.h> int main() { int number=0,n=0,i=0; scanf("%d",&number); while(number>0) { n=number%10; printf("%d ",n); number=number/10; i++; } if(i==0) { printf("0 "); } return 0; }
3.do-while循环:
“直到型”循环(先做再判断)
例题:让计算机想出一个两位的正整数,然后让用户来猜,用户每输入一位数,就告诉他是大了还是小了,直到用户猜中为止,最后还要告诉用户猜中了多少次。
代码:
#include <stdio.h> int main() { int number = rand()%100+1; int count = 0; int a = 0; do { scanf("%d", &a); if ( a > number ) { printf("你猜的数大了。"); } else if ( a < number ) { printf("你猜的数小了。"); } count ++; } while (a != number); printf("太好了,你用了%d次就猜到了答案。\n", count); return 0; }
二.break,continue
1.break:
break语句通常用在循环语句和开关语句(switch-case)中。
注意事项:
1.在多层循环中, 一个break语句只向外跳一层。
2.break语句对if-else的条件语句不起作用。
2.continue:
continue 语句的作用是跳过循环体中剩余的语句而强制进入下一次循环。
注意事项:
1.continue语句只用在 while、for 循环中,常与 if 条件语句一起使用,判断条件是否成立。
3.break与continue的区别:
(1)break 用来结束所有循环,循环语句不再有执行的机会
(2)continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。
(3) break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句。
三.goto(无条件转移语句)
可以让程序直接跳转到任意标记的位置,但出于规定,只能用于跳出多重循环。
注意事项:
1.使用goto语句只能goto到同一函数内,而不能从一个函数里goto到另外一个函数里。
2.不能从一段复杂的执行状态中的位置goto到另外一个位置。
比如,从多重嵌套的循环判断中跳出去就是不允许的。
3.应该避免向两个方向跳转。
如有问题欢迎指出!
2021/10/03