C语言基础--for循环
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循环的更多相关文章
- [08 Go语言基础-for循环]
[08 Go语言基础-for循环] 循环 循环语句是用来重复执行某一段代码. for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环 ...
- 电脑小白学习软件开发-C#语言基础之循环重点讲解,习题
写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的 ...
- C语言基础--while循环
while循环格式: while (条件表达式) { 语句; ... } 执行说明: while是对给定的条件进行判断, 如果条件满足, 就执行while后面大括号中的内容, 执行完毕之后会再次判 ...
- C语言基础知识-循环结构
用while打印出1~100之间7的倍数 int i = 1; while循环是当条件表达式的结果为真时,执行大括号里面的循环体,重复执行直到条件表达式的结果为假时结束循环. w ...
- 【C语言基础】循环体系
1.For循环结构: For循环的一般形式为: for (表达式1 初始化:判断条件:自增自减) { 语句块 } 2.while循环结构: while循环的一般的形式为: 表达式1 初始化 while ...
- C语言基础:常见循环语句 分类: iOS学习 c语言基础 2015-06-10 21:46 13人阅读 评论(0) 收藏
for语句 for( 初始化表达式; 循环判断条件 ;增量表达式); while(条件表达式){ 循环体; } 先判断条件表达式,如果为真就执行循环体,执行完再去判断条件表达式 do{ 循环体; } ...
- Java入门 - 语言基础 - 09.循环结构
原文地址:http://www.work100.net/training/java-loop.html 更多教程:光束云 - 免费课程 循环结构 序号 文内章节 视频 1 概述 2 while循环 3 ...
- 【C语言基础】unsigned short类型用于循环的一个难点
我在我的知识星球:“C语言解惑课堂”里的第一篇提出一个问题:[第1篇][C语言基础][unsigned short类型用于循环的一个难点]要查看更多的C语言难点解析或者需要提问的同学,微信扫扫文末我的 ...
- C语言基础回顾
第一章 C语言基础 1. C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...
随机推荐
- opencv的学习笔记3
CMake是一个比make更高级的编译配置工具,它可以根据不同平台.不同的编译器,生成相应的Makefile或者vcproj项目.通过编写CMakeLists.txt,可以控制生成的Makefile, ...
- Mac原生双拼布局
先上图: 来自苹果官方网站:Chinese Input Method: 使用简体拼音输入源 下面仅列出与自然码方案不同的地方.相同的不再罗列.后面括号内红色的为自然码双拼布局对应的按键.单韵母使用o开 ...
- SQL2005中的事务与锁定(五)- 转载
------------------------------------------------------------------------ -- Author : HappyFlyStone - ...
- :input 匹配所有 input, textarea, select 和 button 元素
描述: 查找所有的input元素,下面这些元素都会被匹配到. HTML 代码: <form> <input type="button" value="I ...
- startssl,免费的ssl证书申请及注意事项
免费的ssl证书,https://www.startssl.com/ 安装到IIS和Nginx有所不同.原文 http://blog.newnaw.com/?p=1232 ------------转自 ...
- Ajax中dataType数据类型
今天项目中使用Ajax向后台保存数据,其中dataType为'json';当请求成功后,没有走success回调,反而走了error:数据库已经成功保存数据了. 后来搞半天才知道原来dataType指 ...
- poj 3617 Best Cow Line
http://poj.org/problem;jsessionid=F0726AFA441F19BA381A2C946BA81F07?id=3617 Description FJ is about t ...
- ie11媒体查询以及其他hack
<!doctype html> <html> <head> <title>IE10/11 Media Query Test</title> ...
- 2D空间中求一点是否在多边形内
参考自这篇博文:http://www.cnblogs.com/dabiaoge/p/4491540.html 一开始没仔细看做法,浪费了不少时间.下面是最终实现的效果: 大致流程: 1.随便选取多边形 ...
- How can I view currently running MySQL queries?( 查看正在运行的MySQL语句/脚本命令)
show processlist;show processlist\G;SHOW FULL PROCESSLIST;SHOW FULL PROCESSLIST\G; REF:http://dev.my ...