for语句
一、for语句的格式
格式1:
for (控制变量初始化表达式;条件表达式;增量表达式)
语句1;
格式2:
for (控制变量初始化表达式;条件表达式;增量表达式)
{ 语句1;
语句2;
…
}
注意:
1、当条件表达式的值为真时重复循环体,否则结束循环;这一点和pascal语言的while语句一致。
2、for语句中的“控制变量初始化表达式”、“条件表达式”、“增量表达式”都是选择项,即可以省略,但分号不能省略。省略了“控制变量初始化表达式”,表示不对循环控制变量赋初值;省略了“条件表达式”,如果不做其他处理时,会成为死循环;省略了“增量表达式”,则不对循环控制变量进行操作,这时可在循环体中加入修改循环控制变量的语句。
3、可以在“控制变量初始化表达式”、“增量表达式”部分放一条以上的语句,中间用逗号分隔。
for语句的执行过程:
1、执行“控制变量初始化表达式”,使控制变量获得一个初值。
2、判断控制变量是否满足“条件表达式”,若满足条件则执行一遍循环体,否则结束整个for语句,继续执行for语句下面的句子。
3、根据“增量表达式”,计算出控制变量所得到的新值。
4、自动转到第2步。
格式举例:
1、将控制变量从1变到100,增量为1
for (i=1;i<=100;++i)
2、将控制变量从7变到77,增量为7
for (i=7;i<=77,i+=7)
3、控制变量i和j共同进行循环控制,i从1变到99,j从2变到100,增量均为2
for (int i=1,j=2;i<=99 && j<=100;i+=2,j+=2)
注意:可以在for循环“控制变量初始化语句”中声明变量,这些变量只在for循环结构中有效,离开了该for结构,变量就无效了。
例1:计算并输出1+2+…+100的和。
#include<iostream>
using namespace std;
int main()
{ int sum=0;
for (int i=1;i<101;i++)
sum+=i;
cout<<sum<<endl;
return 0;
}
二、循环的嵌套
一个循环体内可以包含另一个完整的循环结构,这就构成了循环语句的嵌套。嵌套着的每一个循环语句称为一层,处于较外层的叫做外循环,处于较内层的叫做内循环;有两层嵌套的称为双重循环,有三层嵌套的叫三重循环,以此类推。
例2:水仙花数是指一个三位数,其各位数的立方和等于该数,如153=1*1*1+5*5*5+3*3*3,编程输出所有的水仙花数。
#include<iostream>
using namespace std;
int main()
{ int m,n,k;
for (m=1;m<10;m++)
for (n=0;n<10;n++)
for (k=0;k<10;k++)
if (m*m*m+n*n*n+k*k*k==m*100+n*10+k)
cout<<m<<n<<k<<endl;
return 0;
}
例3:利用for循环输出下图的三角形。
*
* *
* * *
* * * *
* * * * *
#include<iostream>
using namespace std;
int main()
{ for (int i=1;i<6;i++)
{ for (int j=1;j<=i;j++)
cout<<" * ";
cout<<endl;
}
return 0;
}
三、作业
1、zerojudge:
基础题:a059、a244、a621、b146、b202、b209、d010、d069、d072、d074、d490、d491、d498、d532、d587
for循环的嵌套:a111、b205、c005、d236
思考题:a040、a042、a148、a240、b097、c004、d881
2、求100+97+……+10+7+4+1之和。
3、在8*8的国际象棋棋盘上,第一格放一粒米,第二格放两粒米,第三格放四粒米,第四格放八粒米,以此类推,后一格是前一格的两倍,输出一共需要多少粒米。
4、鸡兔同笼49只,100条腿地上走,输出鸡和兔的数量。
5、某人想将一张面值为100元的人民币兑换成5元、1元和0.5元面值的纸币,但要求零钱总数为100张,且每种面值的纸币至少有一张,输出所有兑换方法。
for语句的更多相关文章
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- whdxlib
1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
- 将表里的数据批量生成INSERT语句的存储过程 增强版
将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...
- mysql学习之 sql语句的技巧及优化
一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
- MyBatis源码分析(二)语句处理器
StatementHandler 语句处理器,主要负责语句的创建.参数的设置.语句的执行.不负责结果集的处理. Statement prepare(Connection connection, Int ...
- 一条Sql语句分组排序并且限制显示的数据条数
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...
随机推荐
- iOS开发UI篇—iPad开发中得modal介绍
iOS开发UI篇—iPad开发中得modal介绍 一.简单介绍 说明1: 在iPhone开发中,Modal是一种常见的切换控制器的方式 默认是从屏幕底部往上弹出,直到完全盖住后面的内容为止 说明2: ...
- hibernate FetchType理解
JPA定义实体之间的关系有如下几种: @OneToOne @ManyToOne @OneToMany @ManyToMany 在定义它们的时候可以通过fetch属性指定加载方式,有两个值: Fetch ...
- McAfee重返科技业 研制D-Central防政府监视
新闻链接:http://tech.qq.com/a/20131008/016127.htm 新闻时间: 10月8日编译 新闻正文:McAfee重返科技业 研制D-Central防政府监视 约翰·迈克菲 ...
- K2BPM怎么让金融数据更有意义?
西南证券成立于1999年,是唯一一家注册地在重庆的全国综合性证券公司,也是中国第九家上市证券公司和重庆第一家上市金融机构.公司现有员工逾2000名,在全国27个省份获批设立109家证券营业部,拥有17 ...
- <input type="file">中怎设置那个按钮的样式
最近才开始学习HTML,在练习表单的过程中,发现在使用<input type="file"/>这个类型的元素,产生的文件框和浏览按扭,它们的样式往往不符合我们的需要.怎 ...
- 黑马程序员——【Java基础】——GUI(图形用户界面)
---------- android培训.java培训.期待与您交流! ---------- 一.概述 1.GUI(GraphicalUser Interface):又称图形用户界面,是计算机用户与计 ...
- SQL中case when then用法
sql语句判断方式之一Case.具有两种格式:简单的Case函数.Case搜索函数. 1.简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' E ...
- android setVisibility失效不起作用的问题
原因:不同的布局中有名字相同的控件,所以adapter中填充item的时候,由于控件名字相同没有正确识别你要显示的控件. 解决方法:给其中一个控件改一下名字就行了,超简单.
- webservice可以访问但是不能调用方法
<webServices> <protocols> <add name="HttpSoa ...
- video 与 audio
Play方法:使用play方法来播放媒体,自动将元素的paused属性的值变为false.Pause方法:使用pause方法来暂停播放,自动将元素的paused属性的值变为true.Load方法:使用 ...