for循环格式:

 for (初始化表达式;条件表达式;循环后增量表达式)
{
语句;
...
}

  条件表达式: 和while, dowhile一样, 只有条件满足才会执行循环体

  初始化表达式: 在整个for循环的生命周期中, 初始化表达式只会执行一次

  循环后增量表达式: 会在每次循环体之后完毕之后调用一次

for循环执行说明:

  for循环开始时,会先执行初始化表达式,而且在整个循环过程中只执行一次初始化表达式

  接着判断循环条件表达式,如果条件成立,就会执行循环体中的语句(“循环体”就是for后面大括号{}中的内容)

  循环体执行完毕后,接下来会执行循环后的操作表达式,然后再次判断条件,重复上述过程,直到条件不成立就结束for循环

for循环应用:

能用while做得用for都能做, for相当于while的升级版

以后如果定义的便利仅仅用于控制循环什么时候结束, 循环结束之后就不在使用了, 那么可以使用for循环

如果将用于控制循环的变量定义在for循环中, 那么循环结束了, 变量也释放了

for循环注意点:

    // 1.任何数值都有真假新
for (; ; ) {
printf("lnj");
}
// 2.for也可以省略大括号, for省略大括号的时候, 只会执行离他最近的一条语句
for (;;)
printf("lnj");
printf("other");
// 3.作用域混乱
for (;;)
int a = ;
printf("a = %i\n", a);
// 5.;空语句
for (;;);
{
printf("lnj");
}
// 6.其实, 初始化表达式和循环后增量表达式可以写多条语句, 语句之间用,号连接
for (int i = , j = ; i < ; i++, j++)
{
printf("i = %i j = %i\n", i, j);
}
// 最简单的死循环
for(;;);
for(;;); // 注意: for循环中的条件表达式默认为真

for循环嵌套:  

    // 问题: 会打印几次
// 结论: 循环嵌套执行的次数等于 : 外循环执行的次数 * 内循环执行的次数
for (int i = ; i < ; i++) {
for (int j = ; j < ; j++) {
printf("i = %i , j = %i\n", i, j);
}
}

使用举例:

    /* 1.
好友列表1
好友1
好友2
好友列表2
好友1
好友2
好友列表3
好友1
好友2
*/
for (int i = ; i < ; i++) {
printf("好友列表%i\n", i + );
for (int j = ; j < ; j++) {
printf(" 好友%i\n", j + );
}
}
/* 2.
打印:
***
***
***
打印3行
每行3列
*/
// 外循环控制行数
// 内循环控制列数
for (int j = ; j < ; j++) {
for (int i = ; i < ; i++) {
printf("*");
}
printf("\n");
}
/* 3.
***
**
*
打印3行
每行最多3列(第一行3列)
*/
// 只要以后看到很多行很多列, 那么第一时间就要想到循环嵌套
for (int i = ; i < ; i++) {
for (int j = i; j < ; j++) {
printf("*");
}
printf("\n");
}
/* 4.
*
**
***
*/
for (int i = ; i < ; i++) {
for (int j = ; j <= i; j++) {
printf("*");
}
printf("\n");
}
/* 5.
--*
-***
*****
*/
for (int i = ; i < ; i++) {
for (int j = i; j < ; j++) {
printf("-");
}
for (int n = ; n <= i * ; n++) {
printf("*");
}
printf("\n");
}  

规律:

  尖尖朝上: 修改内循环的 条件表达式

  尖尖朝下: 修改内循环的 初始化表达式

  (但是也不一定非要这样)

使用举例:

/*
打印乘法表:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
观察发现有很多行很多列--》循环嵌套
尖尖朝上,让内循环条件表达式随着外循环i改变
输出的结果等于 内循环的变量 * 外循环的变量
*/
for (int i = ; i <= ; i++) {
for (int j = ; j <= i; j++) {
printf("%d * %d = %d \t", j, i, (j * i));
}
printf("\n");
}

C语言基础--for循环的更多相关文章

  1. [08 Go语言基础-for循环]

    [08 Go语言基础-for循环] 循环 循环语句是用来重复执行某一段代码. for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环 ...

  2. 电脑小白学习软件开发-C#语言基础之循环重点讲解,习题

    写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的 ...

  3. C语言基础--while循环

    while循环格式: while (条件表达式) { 语句; ... }   执行说明: while是对给定的条件进行判断, 如果条件满足, 就执行while后面大括号中的内容, 执行完毕之后会再次判 ...

  4. C语言基础知识-循环结构

    用while打印出1~100之间7的倍数    int i = 1;     while循环是当条件表达式的结果为真时,执行大括号里面的循环体,重复执行直到条件表达式的结果为假时结束循环.     w ...

  5. 【C语言基础】循环体系

    1.For循环结构: For循环的一般形式为: for (表达式1 初始化:判断条件:自增自减) { 语句块 } 2.while循环结构: while循环的一般的形式为: 表达式1 初始化 while ...

  6. C语言基础:常见循环语句 分类: iOS学习 c语言基础 2015-06-10 21:46 13人阅读 评论(0) 收藏

    for语句 for( 初始化表达式; 循环判断条件  ;增量表达式); while(条件表达式){ 循环体; } 先判断条件表达式,如果为真就执行循环体,执行完再去判断条件表达式 do{ 循环体; } ...

  7. Java入门 - 语言基础 - 09.循环结构

    原文地址:http://www.work100.net/training/java-loop.html 更多教程:光束云 - 免费课程 循环结构 序号 文内章节 视频 1 概述 2 while循环 3 ...

  8. 【C语言基础】unsigned short类型用于循环的一个难点

    我在我的知识星球:“C语言解惑课堂”里的第一篇提出一个问题:[第1篇][C语言基础][unsigned short类型用于循环的一个难点]要查看更多的C语言难点解析或者需要提问的同学,微信扫扫文末我的 ...

  9. C语言基础回顾

    第一章 C语言基础 1.  C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...

随机推荐

  1. 【转】PowerShell入门(序):为什么需要PowerShell?

    转至:http://www.cnblogs.com/ceachy/archive/2013/01/23/PowerShellPreface.html 曾几何时,微软的服务器操作系统因为缺乏一个强大的S ...

  2. wcf服务与web发布时无法访问 几种解决办法

    1   如果wcf服务与web发布在同一iis目录下,没有跨域的问题   但发布前要修改 ServiceReferences.ClientConfig 把wcf服务地址改为你发布后的iis的ip地址( ...

  3. url结构说明

    就以下面这个URL为例,介绍下普通URL的各部分组成 http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&pa ...

  4. innodb必收藏

    http://www.xaprb.com/blog/2015/08/08/innodb-book-outline/

  5. CSS 笔记二(Text/Fonts/Links/Lists)

    CSS Text 1> Text Color used to set the color of the text 2> Text Alignment used to set the hor ...

  6. 【转】Struts1.x系列教程(3):属性(资源)文件乱码问题的解决之道

    转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/14/251244.html ...

  7. 关于Unity四元数相乘先后顺序的问题

    在unity中四元数和向量相乘在unity中可以变换旋转.四元数和四元数相乘类似矩阵与矩阵相乘的效果. 矩阵相乘的顺序不可互换,只有特殊条件矩阵才可互换.四元数相乘类似,今天就因为这个问题掉进坑里了, ...

  8. Normalize.css 初识

    一. 用来干嘛的 一个现代的.准备好了支持 HTML5 技术,并且要替代 CSS Reset 处理样式的理念. Normalize.css 使浏览器渲染所有元素更加一致,并且符合现代标准.它只是针对那 ...

  9. [poj3017] Cut the Sequence (DP + 单调队列优化 + 平衡树优化)

    DP + 单调队列优化 + 平衡树 好题 Description Given an integer sequence { an } of length N, you are to cut the se ...

  10. 《BI那点儿事》数据流转换——聚合

    聚合转换可以像T-SQL中的函数GROUP BY, Average, Minimum, Maximum, 和 Count一样对数据进行聚合运算.在图中可以看到数据以SampleID分组,对TotalS ...