Chapter 6 循环

循环是重复执行其他语句(循环体)的一种语句,在C语言中,每个循环都有一个控制表达式。每次执行循环体时都要对控制表达式求值,如果为真,那么继续执行循环

6.1 while语句

基本表达式为:while (表达式) 语句

  • 圆括号内的表达式是控制表达式,圆括号后面的语句是循环体
  • 圆括号是强制要求的,而且右括号和循环体之间没有任何内容
  • 如果需要多条语句,那么使用花括号构造成一条复合语句

  • TEST
/*数列求和,输入回车结束*/

#include <stdio.h>

int main(){
    int flag=1, total=0;
    printf("Enter number: ");
    while(flag!='\n'){
        scanf("%d",&flag);
        total += flag;
    }
    printf("Total is %d",total);
}

6.2 do语句

基本表达式为:do语句 while (表达式);

  • do语句最好都加上花括号
  • do语句先执行循环体,如果表达式的值非零,继续执行循环体,然后再次计算表达式的值

  • TEST
/*计算整数的位数*/

#include <stdio.h>

int main(){
    int flag=1, total=0;
    printf("Enter number: ");
    while(flag!='\n'){
        scanf("%d",&flag);
        total += flag;
    }
    printf("Total is %d",total);
}

6.3 for语句

基本表达式为:for (表达式1; 表达式2; 表达式3) 语句

  • 即使省略掉某些表达式,控制表达式也必须始终有两个分号
  • 如果省略第三个表达式,循环体需要保证第二个表达式的值最终会变为假
  • 在表达式中使用逗号,可以进行多步操作

6.4 退出循环

6.4.1 break语句

  • 可以用作直接跳出while、do、for语句循环
  • 但是break只能跳出一层嵌套

6.4.2 continue语句

  • continue语句将程序控制转移到循环体末尾之前,会把程序控制留在循环之内
  • continue只能用于循环,不能用于switch
  • 相当于重新进行一次循环体内容

  • TEST
/*编写程序显示日历,用户指定这个月的天数和起始星期几*/

#include <stdio.h>

int main(){
    int total_days,first_day;
    printf("Enter total: ");
    scanf("%d",&total_days);
    printf("Enter first: ");
    scanf("%d",&first_day);
    int k = 1;
    while(k < first_day){
        printf("   ");
        k++;
        }
    for(int i=1;i <= total_days; i++){
        printf("%2d ",i);
        if((i+first_day-1) % 7 == 0)printf("\n");
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作者的序言 朋友们,弃疗系列4出来啦,作者还并没有放弃,感觉自己萌萌哒,233。 语句 js程序其实就是一系列可执...
    zhaolion阅读 5,692评论 0 8
  • 循环简介 循环可以用于让一个程序重复地执行语句。 循环是用来控制语句块重复执行的一种结构。 循环的概念是程序设计的...
    Vinfai阅读 4,918评论 0 0
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,947评论 0 5
  • Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行...
    穷人家的孩纸阅读 3,991评论 1 1
  • 英文原版:P99 在第5章里,我们介绍了C语言的选择语句:if语句和switch语句。 本章我们介绍C语言的循环语...
    橡树人阅读 3,514评论 0 4