do-while语句及for语句(初学者)
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语句(初学者)的更多相关文章
- 前端笔记知识点整合之JavaScript(三)关于条件判断语句、循环语句那点事
一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力 ...
- 前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事
一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力语法 ...
- 为什么说在使用多条件判断时switch case语句比if语句效率高?
在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...
- continue语句在for语句和while语句中的区别
while语句的形式: while( expression ) statement for语句的形式: for( expression1; expression2;expression3 ) // ...
- 【java开发】分支语句、循环语句学习
一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...
- javascript语句——条件语句、循环语句和跳转语句
× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...
- javascript语句——表达式语句、块语句、空语句和声明语句
× 目录 [1]表达式 [2]块语句 [3]空语句[4]声明 前面的话 如果表达式在javascript中是短语,那么语句(statement)就是javascript整句或命令.表达式计算出一个值, ...
- PHP include语句和require语句
<?php /* PHP include语句和require语句 include和require 语句是相同的 除了错误处理方面: *require 会生成致命错误,并停止脚本 *include ...
- DO语句与SELECT语句,HANDLER语句
DO语句,只执行语句不返回结果:SELECT 既执行语句也返回结果. HANDLER的效率会更好. HANDLER 语句比SELECT 语句更快: 1,HANDLER只需OPEN一次,能重用,不须每次 ...
随机推荐
- 通过jenkins API去build一个job
背景 查看jenkins的api 直接访问 JENKINS_URL/job/JOB_NAME/api/ 就可以查看jenkins的api build一个job的话,是POST请求 JENKINS_UR ...
- docker化java web应用
一.简介 Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上.Docker的发展速度和火爆程度着实令人惊叹,一 ...
- Maven教程2(Eclipse配置及maven项目)
Maven教程1(介绍安装和配置) Eclipse中配置maven 1.Eclipse中默认集成的有Maven 可以使用默认的,本地仓库在当前用户下的.m2文件夹下. 2.配置我们自己安装的maven ...
- JAVA中ArrayList与LinkedList的区别以及对应List使用foreach与使用下标遍历的效率问题
近期在做一个对接京东的电商平台,所以对各个地方的效率考虑的比较多,今天深挖了一下ArrayList与LinkedList的区别以及对应List使用foreach与使用下标遍历的效率问题,首先说一下两种 ...
- 细说Redis(二)之 Redis的持久化
前言 在上一篇文章[细说Redis(一)之 Redis的数据结构与应用场景]中,主要介绍了Reids的数据结构. 对于redis的执行命令,这里不做介绍,因为网上搜索一堆,无必要再做介绍. AOF&a ...
- Redis基础认识及常用命令使用(一)--转载
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集 ...
- Receiver 和 Direct方式的区别
Kafka direct 跟receiver 方式接收数据的区别? Receiver是使用Kafka的高层次Consumer API来实现的.Receiver从Kafka中获取的数据都是存储在Spar ...
- 【redis】7、redis用法总结
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 一.redis优点 Redis支持数据的持久化,可以将内存中 ...
- JPA与EJB3的关系
JPA是基于Java持久化的解决方案,主要是为了解决ORM框架的差异,它的出现在某种程度上能够解决目前ORM框架之间不能够兼容的问题,对开发人员来说,能够更好的在JPA规范下进行系统开发. JPA全称 ...
- blfs(systemv版本)学习笔记-安装、配置和使用wpa_supplicant无线网络连接工具
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! wireless项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basic ...