坐着童年纸飞机的C语言for循环!超好玩!超详细!
来自童年记忆的纸飞机带着C语言for循环最详细讲解,勾起你的童真!
在我们学习C语言的初始阶段,可能让我们发愁的第一个知识就是循环。
- for循环的童年缩影
- for循环的注解
- 程序举例
- for语句分析
今天,它来了!
相信你自己!看了这篇文章,你就会对循环有一个新的认识!
在我刚接触C语言for循环的时候就在想什么是循环?它的机理是什么?怎么使用它解决问题?它是算法吗?等等一些和大家相似的问题。
慢慢的到了以后学习的过程中我才一点一点的学习到原来for循环是以下这些内容:
首先先跟大家分享一下童年的小游戏:小时候我们都玩过拾石子,一共有5个石子,我们从一个开始颠起,然后抓起地上的其他4个,如果我们成功完成这个过程,在这个过程中我们必须是颠起一个并且成功接住,否则就挑战失败!我们就会进入下一关,就是颠起两个,拾起地上的三个,同样这个过程中如果颠起两个但未接住那就算挑战失败!反之,如果颠起两个并接住,那就挑战成功。然后颠起3个,4个,5个那就算你和你的小伙伴的拾石子游戏中你是获胜者!
这个过程就可以理解为一个循环过程:
首先颠起的一个石子就是起始变量,5个石子就可以理解为一个控制变量,通过这两个步骤你就可以拾起地上的石子,相当于执行循环语句下面的条件(通常是if语句),在成功颠起一个石子并接住以后我们就可以颠起两个,这一步就相当于for语句中的自增过程。
然后带这这个小回忆,我们接下来进入今天的学习!
首先引入今天的对象:
for(表达式1,表达式2,表达式3)函数体
注解
表达式1:
这个语句通常是赋值语句,也就是将循环变量初始化也就是赋值,需要有一个起始的标志条件,程序才可以运行。
表达式2:
这个语句通常是关系表达式或者逻辑表达式,用来判断一下是否继续循环下去。
表达式3:
这个语句通常是自增自减表达式,实现对循环控制变量的修改。
我们通过循环语句模拟一下拾石子过程:
for(颠起石子=1,石子总数=5,石子数在原来基础+1) if(成功颠起并接住)自己=胜算/*自己的胜算加成*/
因此我们可以把for语句理解为:
for(循环变量赋初值;循环条件控制量;修改循环变量)循环体语句;
语句分析:
首先通过对循环起始变量(也叫循环控制变量,只不过我本人喜欢这样记,学习其实是一个适应自己的行为,让自己懂得自己,才是真正的学到!)的赋初值,然后计算表达式2的值,如果这个输入进去的这个值符合表达式2的要求,即为真,那么执行循环体语句,如果为假,则退出循环。执行完毕循环体就会执行表达式3,调整循环控制变量的值,返回执行表达式2的值,依此重复这个过程,知道表达式2的值为假,则退出循环。
== 问题举例==:
用for语句计算1+2+3…+n的值
程序代码:
#include<stdio.h>
int main()
{int i,n,sum; /*定义变量*/printf("Please enter the number of 'n' :");/*输入提示语句*/scanf("%d\n",&n);/*输入n值*/sum=0;/*给sum赋初值*/for(i=1;i<=n;i++)/*循环语句,当i>n时结束*/{sum=sum+i;/*求和,将结果放入sum中*/}printf("The sum of 1+2+3+....+%d = %d\n",n,sum);/*输出sum的值*/return 0;
}
输入输出结果:
程序分析:如果大家不明白是怎样执行的,我希望大家去单步调试一下,循环语句特别希望大家亲自单步调试!因为这样大家才能发现并理解for循环是如何执行的!
亲力亲为者成王事也!
for语句的说明:
1.多数情况下,for语句可以使用等价的while语句来表示。
for(表达式1;表达式2;表达式3)循环体;
等价于:
表达式1;
while(表达式2)
{循环体;表达式3;
}
2.for循环中的三个表达式都是可选项,即可以省略,但是表达式之间的“;”不可以省略。
** 1.省略表达式1,也就是对循环语句不进行赋初值,因此为了能够正常的执行循环,需要在for语句之前给循环起始变量赋初值。**
例如
n=1;
for(;n<10;n++)
{循环体;
}
等价于
for(n=1;n<10;n++)
{循环体;
}
一般使用这种格式的原因是:循环控制变量的初值不是已知常量,而是需要通过前面语句的执行计算得到的。
2.省略表达式2的值,表示不用判断循环条件是否成立,也就是说循环条件总是满足,也就是陷入了死循环。
例如:
for(i=1;;n++)
{循环体;
}
等价于:
while(1)
3.省略表达式3,如果省略表达式3,就不会对循环控制变量进行操作,如果需要这种情况可以在循环体中加入修改循环控制变量的语句。
例如
for(i=1;i<=10;)
{...n=3*n;...
}
到了这里我觉得大家对于for循环已经有了新的理解和见识!恭喜你,今天又是元气满满的一天!
留一个小作业:
利用for循环输出1-1000之中可以同时被3,5,7整除的数
编程完毕如果有问题写在下方评论区,和大家分享!
纸上得来终觉浅!
需知此事须躬行!
加油,有梦想的人!
我是悟空,希望和你们一起在编程云上共睹风采
坐着童年纸飞机的C语言for循环!超好玩!超详细!相关推荐
- Java语言的循环控制结构
Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循 ...
- c语言for循环的第三句,for循环语句的用法
for循环有三种结构:列表for循环,不带列表for循环和类C风格for循环. do和done之间的命令成为循环体,执行次数和list列表中常熟或字符串的个数相同.for循环,首相是将in后list的 ...
- oracle数据库sql培训,Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐...
风哥oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入 ...
- c语言for循环说课稿,C语言FOR循环说课稿.docx
C语言FOR循环说课稿 各位评委老师上午好,我今天说课的内容是"FOR循环"(板书),下面我将从教材的地位及作用.学生学情.教学目标.教学重难点.教法.学法.教学过程.教学效果的预 ...
- c语言 程序循环,C语言程序设计-循环例子
<C语言程序设计-循环例子>由会员分享,可在线阅读,更多相关<C语言程序设计-循环例子(28页珍藏版)>请在人人文库网上搜索. 1.C 语言程序设计基础篇,第 7 章 简单程序 ...
- 《零基础看得懂的C语言入门教程 》——(七)C语言的循环分分钟上手
一.学习目标 了解循环的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了解流程 第三篇:(三)轻轻松 ...
- c语言 char c1,c2; for (c1='0',C语言-5循环结构(PPT)复习课程.ppt
C语言-5循环结构(PPT)复习课程.ppt 第五章 循环结构程序设计;课程引入;第五章 循环结构程序设计;5.1 while 语句;例1:求;1. do-while循环语句的形式 do 循环体 wh ...
- C语言for循环的嵌套例题,c语言 for循环的嵌套(含答案)
c语言 for循环的嵌套(含答案) 第 33.34 课时 for 循环的嵌套实验题一:1.下面程序的功能是计算:至 50 中是 7 的倍数的数值之和,请选择填空.D#include main() in ...
- C语言 while 循环 - C语言零基础入门教程
目录 一.while 循环简介 1.while 循环语法 2.while 使用 二.while 循环中使用 break 三.while 循环中使用 continue 四.猜你喜欢 零基础 C/C++ ...
- C语言 for 循环 - C语言零基础入门教程
目录 一.for 循环简介 1.for 循环语法简介 2.for 循环代码执行步骤 3.for 循环适用场景 4.for 循环嵌套 二.for 循环实战 1.简单的 for 循环实现累计求和:1+2+ ...
最新文章
- firefox如何不让网站登录失效_Firefox Preview 4开放下载:引入登录管理、热门网站等功能...
- 深度学习核心技术精讲100篇(三十四)-智能化搜索,旅行场景下的个性化营销平台揭秘
- [公测]微信小程序设计指南文档
- linux date 常用格式,5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令...
- 计算机专业 毕业论文 百度云,计算机专业毕业论文.pdf
- activiti报错ProcessEngines.getDefaultProcessEngine()为null
- erlang之三种socket消息循环
- python基础编程语法-Python基础语法介绍:面向对象编程(上)
- [USACO18DEC]The Cow Gathering
- 解决office 2010每次启动都出现配置进度的方法
- php在线解密,zend在线解密
- 微信小程序编译的时候模拟器空白显示
- php gd测试代码,PHP gd_info()用法及代码示例
- 3D刷脸支付推动新零售行业发展
- Java程序员是考研还是毕业就就业?
- 95后程序员月薪2万背着电脑送外卖,送单途中帮人修复bug
- Word无法找到宏或宏被禁用如何解决
- 自媒体推广该怎么做?学懂这10招,走路横着走
- 关于wiretap库
- 电脑用户名中文改英文步骤总结