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 ...
随机推荐
- Masonry使用注意篇
简要 自动布局最重要的是约束:UI元素间关系的数学表达式.约束包括尺寸.由优先级和阈值管理的相对位置.它们是添加剂,可能导致约束冲突 .约束不足造成布局无法确定 .这两种情况都会产生异常. 使用前:A ...
- IT公司100题-27-跳台阶问题
问题描述: 一个台阶总共有n阶,一次可以跳1级或者2级.求总共有多少种跳法. 分析: 用f(n)表示n阶台阶总共有多少种跳法.n阶台阶,第一可以选择跳1阶或者2阶,则f(n) = f(n-1) + ...
- Visual Studio 2008打开vs2010解决方案的方法
一个朋友遇到了个问题:用visual studio 2008软件,无法打开一个asp.net网站的sln解决方案.如下图,原因是此解决方案由vs2010生成的,必须由vs2010运行程序打开. 这样一 ...
- python模块之time
Python中的时间模块. 1.在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素. 2.UTC(Coordinated U ...
- Gym 100960G (set+树状数组)
Problem Youngling Tournament 题目大意 给一个序列a[i],每次操作可以更改一个数,每次询问 将序列排序后有多少个数a[i]>=sum[i-1]. n<=10^ ...
- SpringMVC 用http请求的Get和Post请求作为路由的方法的重载方式
@Controller @RequestMapping("/messageProcessing") public class WechatPushController { @Aut ...
- cut - 小巧的文本截取工具
简介 cut命令是Unix下的一个命令行程序.cut命令是以行为单位来处理的.cut命令处理的是标准输入,所以可以结合管道来进行文本的处理. 命令格式 cut option… [file]… cut命 ...
- Neo4j 两种索引Legacy Index与Schema Index区别
Legacy Indexes 在Neo4j 2.0版本之前,Legacy index被称作indexes.这个索引是通过外部图存储在外的Lucene实现,允许“节点”和“联系”以key:value键值 ...
- mysql出现启动不了问题
查询日志后是‘ Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist’此错误(less ...
- VSCode用户设置
// 将设置放入此文件中以覆盖默认设置 { //-------- 搜索配置 -------- "search.exclude": { "**/node_modules&q ...