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; }

 ***完***

posted @ 2021-03-11 22:26  口乞厂几  阅读(184)  评论(0)    收藏  举报