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 ...
随机推荐
- Liquid基础语法
Output输出 简单输出示例: Hello {{name}} Hello {{user.name}} Hello {{ 'tobi' }} Advanced output: Filters 高级输出 ...
- Java中的数组
1,可以创建自己的类的数组,但是自己的类必须实现get()和put函数 2,声明数组:int[] arrayOfInt.注意,定义数组时不可以指定大小 3,创建与初始化:通过new.arrayOfIn ...
- Rhel6-pacemaker+drbd配置文档
系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.119 server19.example.com 192.168.12 ...
- valueOf() toString() typeof instanceof
******在chrome console中运行{a:1}.valueOf(); 报错:"SyntaxError: Unexpected token . ",这是由于{}被js引擎 ...
- Android studio的深坑 导jar包重复的异常处理
导包重复这个问题折磨了整整一天!! 第一个方法在gradle文件下看看有没有重复的包 如果有那么一切都是浮云分分钟搞定 ,最可恶的是在gradle里面没有. 在gradle里面找不到的话就要考虑一下 ...
- springmvc学习第二天
一.pojo Spring mvc 会按请求参数名和pojo属性名进行自动匹配,自动为该对象填充属性值,并且支持级联属性 表单: <form action="springmvc/tes ...
- cas 在.net 下的单点登录实现及 ,Net Mvc的接入
最近在研究单点登录,发现用的最广的就是cas了,查了下资料,发现有人写了详细的说明 地址:http://www.cnblogs.com/zhenyulu/archive/2013/01/22/2870 ...
- BZOJ 2763 分层图最短路
突然发现我不会分层图最短路,写一发. 就是同层中用双向边相连,用单向边连下一层 #include <cstdio> #include <algorithm> #include ...
- apply()和call()和bind()
1.方法定义 call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function ...
- IOS 在控制器间跳转实现过渡动画
已经掌握了CALayer下的CATransition动画在同一个控制器下实现,但是在不同控制器间跳转又该如何实现呢? MyViewController *myVC = [[MyViewControll ...