c语言循环(完)
内容概要
一、while循环和do while循环
二、for循环
三、continue和break
1、while循环和do while循环
while条件入口循环
#include <stdio.h> int main(){ // 计算1+2+3+...+100的和 int i = 1, total = 0;
while (i <= 100){ total += i; i++; }
printf("%d\n",total); return 0; }
do while条件出口循环
#include <stdio.h> int main(){ // 计算1+2+3+...+100的和 int i = 1, total = 0; do { total += i; i++; } while (i <= 100); printf("%d\n",total); return 0; }
do while循环与while循环不同的是do while是先执行循环体代码再判断条件,因此do while循环至少执行一次

非死循环必须具备条件更新的语句
2、for循环
for循环遍历数组
#include <stdio.h> int main(){ int array[10] = {1,2,3,4,5,6,7,8,9,10}; for (int i = 0; i < 10; i++){ printf("%d\n",array[i]); } return 0; }
for循环与while不同的是,for循环将 计数器初始化,条件判断,条件更新语句 同时放在同一个括号内(这三个选项都可以省略,只写 ; ; )
在for循环中定义变量是C99之后才允许的语法,更早的版本之前需要提前定义变量
在for循环中定义的变量在全局是无法被访问的
3、continue和break
利用continue可以跳过某次循环
#include <stdio.h> int main(){ int array[10]; int i; for (i = 0; i < 10; i++){ if (4 == i){ continue; // 当i=4时,跳过赋值 } array[i] = i; } for (i = 0; i < 10; i++){ printf("%d\n",array[i]); } return 0; }
break可以结束一层循环
#include <stdio.h> int main(){ int i,j; int array[6][4]; for (i=0; i<6; i++){ for (j=0; j<6; j++){ if (4 == j){ break; } array[i][j] = i*j; } } for (i=0; i<6; i++){ for (j=0; j<4; j++){ printf("%d\n",array[i][j]); } printf("\n"); } return 0;
}
但如果想要结束多层循环,可以考虑使用goto语句
#include <stdio.h> int main(){ int i,j; int array[6][4]; for (i=0; i<6; i++){ for (j=0; j<6; j++){ if (4 == j){ break; } array[i][j] = i*j; } } for (i=0; i<6; i++){ for (j=0; j<4; j++){ if (j == 3){ goto A; } printf("%d\n",array[i][j]); } printf("\n"); } A : printf("over\n"); return 0; }
注意:while循环想要使用continue,必须要注意条件的更新
#include <stdio.h> int main(){ int i = 0; while (i < 10){ if (6 == i){
// 加入i++,则不会进入死循环 continue; //执行到这里,进入死循环 } printf("%d\n",i); i++; } return 0; }
***完***
本文来自博客园,作者:口乞厂几,转载请注明原文链接:https://www.cnblogs.com/laijianwei/p/14521013.html

浙公网安备 33010602011771号