一、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语句的更多相关文章

  1. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  2. whdxlib

    1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...

  3. 【.net 深呼吸】细说CodeDom(2):表达式、语句

    在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...

  4. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  5. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  6. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  7. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  8. Oracle 数据库语句大全

    Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...

  9. MyBatis源码分析(二)语句处理器

    StatementHandler 语句处理器,主要负责语句的创建.参数的设置.语句的执行.不负责结果集的处理. Statement prepare(Connection connection, Int ...

  10. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

随机推荐

  1. MFC学习笔记(一)向模态对话框传递数据

    声明构造函数为2个参数,具有默认参数的参数须放在后面. CDialogDimmer::CDialogDimmer(CString name,CWnd* pParent /*=NULL*/) : CDi ...

  2. matplotlib画图保存

    import numpy as np import matplotlib.pyplot as plt xData = np.arange(0, 10, 1) yData1 = xData.__pow_ ...

  3. Objective-C学习笔记-第一天(1)

    .h头文件,用于声明一些公开的属性.方法.头文件一般不会放太多的东西,没必要暴露太多接口,私有和封装. .m主文件,用于实现.h文件中的方法,以及一些其它的方法. -(返回值)方法名参数1名称:(参数 ...

  4. NSDate 时间比较...等

    http://blog.csdn.net/reylen/article/details/8560128 创建当前时间 NSDate *date = [NSDate date]; 从现在开始的24小时 ...

  5. SQL取行最大值

    create table T(A decimal(10,1), B decimal(10,1), C decimal(10,1), D decimal(10,1), E decimal(10,1)) ...

  6. 关于工伤事故索赔计算很好用的一款APP

    关于工伤事故索赔计算很好用的一款APP.详细介绍工伤伤残等级评估 工伤计算器根据国家颁布<劳动能力鉴定 职工工伤与职业病致残等级>,通过关键字检索,快速评估工伤伤残等级. 软件说明:  1 ...

  7. ecshop 常见问题汇总

    下面68ECSHOP开发中心就和大家说说ecshop使用中常见的问题 1.如何修改网站"欢迎光临本店"       回答(1) languages\zh_cn\common.php ...

  8. ubuntu14.04 安装 bcm43142无线网卡

    thinkpad e430c 在安装ubuntu14.04时无法识别无线网卡 用命令lspci 查看无线网卡类型 然后下载对应的无线网卡驱动. 之后,使用下列命令安装,即可搜索无线热点了: sudo ...

  9. PAT (Basic Level) Practise:1030. 完美数列

    [题目链接] 给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列. 现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一 ...

  10. Windowns的GVIM添加markdown语法支持

    gvim 7.4中其实也是有对markdown的语法文件,但格式支持并不全面,如行业代码``就没有实现. 修改方案: 从github下载plasticboy的markdown语法版本,windowns ...