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一次,能重用,不须每次 ...
随机推荐
- Java并发编程笔记之 CountDownLatch闭锁的源码分析
JUC 中倒数计数器 CountDownLatch 的使用与原理分析,当需要等待多个线程执行完毕后在做一件事情时候 CountDownLatch 是比调用线程的 join 方法更好的选择,CountD ...
- SaltStack 安装、简单配置和远程执行
1:安装 修改hosts文件,必须保证Master端和Minion端都有完整的FQDN名示例如下: vim /etc/hosts 192.168.31.101 node2 node2.crazylin ...
- ruby执行字符串代码
str = "a='abcd'; a.reverse" 字符串str为ruby代码,执行方法eval eval str => "dcba"
- Everything(一款用于检索硬盘文件的工具)
有时候文件夹一多,找不到文件,忘记放哪个盘符怎么办? Everything就能帮你解决,比电脑自带的快多啦,官网在此:http://www.voidtools.com/ (也不大,就几M,没有特别的安 ...
- Scrapy-Splash的介绍、安装以及实例
scrapy-splash的介绍 在前面的博客中,我们已经见识到了Scrapy的强大之处.但是,Scrapy也有其不足之处,即Scrapy没有JS engine, 因此它无法爬取JavaScrip ...
- Django学习(5)优雅地分页展示网页
在我们平时浏览网页时,经常会遇到网页里条目很多的情形,这时就会用到分页展示的功能.那么,在Django中,是如何实现网页分类的功能的呢?答案是Paginator类. 本次分享讲具体展示如何利用Djan ...
- [PHP]算法-替换空格的PHP实现
替换空格: 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路: 1.先循环一遍,找出 ...
- 【Java并发编程】16、ReentrantReadWriteLock源码分析
一.前言 在分析了锁框架的其他类之后,下面进入锁框架中最后一个类ReentrantReadWriteLock的分析,它表示可重入读写锁,ReentrantReadWriteLock中包含了两种锁,读锁 ...
- php curl中x-www-form-urlencoded与multipart/form-data 方式 Post 提交数据详解
multipart/form-data 方式 post的curl库,模拟post提交的时候,默认的方式 multipart/form-data ,这个算是post提交的几个基础的实现方式. $post ...
- python之网络通信协议
TCP/IP五层协议和OSI的七层协议: TCP和UDP的区别: Tcp协议:面向连接,数据可靠,传输效率低,面向字节流 Udp协议:面向无连接,数据不可靠,传输效率高,面向报文