1、do-while语句的一般形式为:

do

  语句

while(表达式);

这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断这个表达式是否为真,如果为真则继续循环;如果为假,则中止循环。因此do-while语句至少要执行一次循环语句。

例:

#include<stdio.h>

void main()
{
int i,sum=;
i=;
do
{
sum=sum+i;
i++;
}
while(i<=);
printf("%d",sum);
}

区分while语句与do-while语句

#include<stdio.h>

void main()
{
int i,sum=;
scanf("%d",&i);
while(i<=)
{
sum=sum+i;
i++;
}
printf("%d",sum);
}
#include<stdio.h>

void main()
{
int i,sum=;
scanf("%d",&i);
do
{
sum=sum+i;
i++;
}
while(i<=);
printf("%d",sum);
}

注:一般情况下,用while和do-while语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当while后面的“表达式”一开始为“假(0)”时,两种循环的结果不同。这是因为此时while循环的循环体不被执行,而do-while循环的循环体被执行一次。

2、for语句

在C语言中,for语句使用最为灵活,它完全可以取代while语句。它的一般形式为:for(表达式1;表达式2;表达式3)

过程如下:

(1)先求解表达式1;

(2)求解表达式2,若值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3步;若值为假(0),则循环结束,转到第5步;

(3)求解表达式3;

(4)转回上面第二步继续执行。

(5)循环结束,执行for语句下面的一个语句。

理解:for(循环变量赋初值;循环条件;循环变量增量)语句

#include<stdio.h>

void main()
{
int i,sum=;
for(i=;i<=;i++)
{
sum=sum+i;
}
printf("%d",sum);
}

注意:(1)for循环中的“表达式1(循环变量赋初值)“、”表达式2(循环条件)“、”表达式3(循环变量增量)“都是选择项,即可以缺省,但”;“不能缺省。

(2)省略了”表达式1(循环变量赋初值)“,表示不对循环控制变量赋初值。

(3)省略了”表达式2(循环条件)“,则不做其他处理时便成为死循环。

例:for(i=1;;i++)

  {

    sum=sum+i;

  }

(4)省略了”表达式3(循环变量增量)“,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。

例:for(i=1;i<=100;)

  {

    sum=sum+i;

    i++;

  }

(5)3个表达式都可以省略。

例:for(;;)语句相当于while(1)语句(死循环)

(6)表达式1可以是设置循环变量的初值的赋值表达式额,也可以是其他表达式。

例:for(sum=0;i<=100;i++)

    sum=sum+i;

(7)表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。

例:for(sum=0,i=1;i<=100;i++)

    sum=sum+i;

  for(i=0,j=100;i<=100;i++,j--)

    k=i+j;

(8)表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值非0,就执行循环体。

例:for(;(c=getchar())!='\n';)

  {

    printf("%c",c);

  }

do-while语句及for语句(初学者)的更多相关文章

  1. 前端笔记知识点整合之JavaScript(三)关于条件判断语句、循环语句那点事

      一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力 ...

  2. 前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事

    一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力语法 ...

  3. 为什么说在使用多条件判断时switch case语句比if语句效率高?

    在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...

  4. continue语句在for语句和while语句中的区别

    while语句的形式: while( expression ) statement for语句的形式: for( expression1; expression2;expression3 )   // ...

  5. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  6. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  7. javascript语句——表达式语句、块语句、空语句和声明语句

    × 目录 [1]表达式 [2]块语句 [3]空语句[4]声明 前面的话 如果表达式在javascript中是短语,那么语句(statement)就是javascript整句或命令.表达式计算出一个值, ...

  8. PHP include语句和require语句

    <?php /* PHP include语句和require语句 include和require 语句是相同的 除了错误处理方面: *require 会生成致命错误,并停止脚本 *include ...

  9. DO语句与SELECT语句,HANDLER语句

    DO语句,只执行语句不返回结果:SELECT 既执行语句也返回结果. HANDLER的效率会更好. HANDLER 语句比SELECT 语句更快: 1,HANDLER只需OPEN一次,能重用,不须每次 ...

随机推荐

  1. vue-cli keep-alive用法以及activated,deactivated

     keep-alive用法 <keep-alive>是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM. include: 字符串或正则表达式.只有匹配的组件会被 ...

  2. 基于 CGLIB 库的动态代理机制

    之前的文章我们详细的介绍了 JDK 自身的 API 所提供的一种动态代理的实现,它的实现相对而言是简单的,但是却有一个非常致命性的缺陷,就是只能为接口中的方法完成代理,而委托类自己的方法或者父类中的方 ...

  3. 详解 Java NIO

    文件的抽象化表示,字节流以及字符流的文件操作等属于传统 IO 的相关内容,我们已经在前面的文章进行了较为深刻的学习了. 但是传统的 IO 流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致 ...

  4. HashMap在JDK1.8中并发操作,代码测试以及源码分析

    HashMap在JDK1.8中并发操作不会出现死循环,只会出现缺数据.测试如下: package JDKSource; import java.util.HashMap; import java.ut ...

  5. CentOS7下查看系统环境(内存CPU磁盘使用率)

    1.方法一 yum install atop --安装atop sudo atop--开启监视 2.方法二 top 3.方法三 free --查看没存情况 ps ux --查看CPU 情况 磁盘 df

  6. 乐字节-Java8新特性之Base64和重复注解与类型注解

    上一篇小乐给大家说了<乐字节-Java8新特性之Date API>,接下来小乐继续给大家说一说Java8新特性之Base64和重复注解与类型注解. 一.Base64 在Java 8中,内置 ...

  7. Java的适配器模式

    所谓适配器模式,其实很简单,就是将一个类的接口转换成客户端所期待的另一个接口,使得原本不兼容的两个类可以一起工作. 假设我们有一个Type-c接口,但是要使用的接口确实usb的接口,这时候要怎么办呢? ...

  8. regular.js

    //手机号验证 var regMobile=/^1[3,5,8]\d{9}$/; //固定电话 var regPhone=/^(^0\d{2}-?\d{8}$)|(^0\d{3}-?\d{7}$)|( ...

  9. Python 类的特殊成员介绍

    类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...

  10. [VUE ERROR] Invalid options in vue.config.js: "publicPath" is not allowed

    项目在build的时候报的这个错误: 具体原因是因为版本支持的问题,publicPath 属性到 vue-cli 3.2.0 之后才支持,所以将 publicPaht 改成 baseUrl 即可,或者 ...