continue只结束本次循环对吗 c语言for循环语句用法

重要的事情说三遍对于人类自身而言 , 长时间重复性的做同样一件事情 , 很容易疲劳并出错 。但对于计算机而言 , 这却是它们的特长 。我们已经学习过使用printf()函数向屏幕输出文本 , 假定现在要完成“重要的事情说三遍”这一壮举 , 我们可以这么做 。

continue只结束本次循环对吗 c语言for循环语句用法

文章插图
然而 , 如果重要的事情要说三百遍呢?显然我们需要有更有效的方式去完成这件事 , 因此有了循环语句 。
循环语句具有一个条件测试部分与循环体部分 。
循环体部分由一条或多条语句构成 , 当测试通过时执行循环体 , 否则结束循环 。循环体语句还拥有一个控制部分 , 用于促使测试条件到达不成立状态 , 以达到退出循环的目的 。
while语句while语句的语法如下:
continue只结束本次循环对吗 c语言for循环语句用法

文章插图
while语句中 , 条件表达式测试在循环执行之前进行 , 所以如果测试一开始为假 , 循环体就根本不会执行 。下面的程序输出数字序列1-10 , 循环结束后i的值为11 。
continue只结束本次循环对吗 c语言for循环语句用法

文章插图
for语句for语句是while语句的一种简写 , 因此更为常用 , 语法如下所示:
continue只结束本次循环对吗 c语言for循环语句用法

文章插图
表达式1为初始化部分 , 它只在循环开始时执行一次 。表达式2为条件部分 , 它在循环体每次执行前都要执行一次 。表达式3为控制部分 , 它在循环体每次执行完毕 , 在条件部分即将执行之前执行 。
下面这个程序与上面的程序有同样的输出 , 但也有不同的一点 。现代C语言中 , 允许在for语句初始化部分定义变量 , 如这里的i , 这个变量的作用域是整个for循环 , 当for语句整体结束后 , 这个i便是无效的符号了 。
continue只结束本次循环对吗 c语言for循环语句用法

文章插图
break/continue在循环语句中使用break语句 , 可以永久终止循环 。在执行完break语句之后 , 程序将会跳转到循环正常结束后应该执行的那条语句处 。continue语句仅用于终止本次循环 。
下面的示例中 , for循环在输出数值1/2/3/4后便终止了循环体的运行 , 而while循环则是除了5之外的数值都被输出 。你可以将这个while语句改为for语句 , 就会发现使用for语句更简明 。
另外需要注意是 , 在while中 ,  当continue执行后 , 程序会跳转到循环的条件判断部分 , 而在for中 , 则会执行递增部分 。因此while语句中在continue之前 , 需要改写循环条件变量 , 保证程序不会出现无限循环 。
continue只结束本次循环对吗 c语言for循环语句用法

文章插图

continue只结束本次循环对吗 c语言for循环语句用法

文章插图
【continue只结束本次循环对吗 c语言for循环语句用法】无限循环for语句中的3个三表达式都是可选的 , 这表示它们可以省略掉 。如果省略掉条件部分(即表达式2) , 表示测试的值始终为真 , 这时程序将进入无限循环状态(也称为死循环) 。这相当于while语句的表达式部分给定真值一样 。
continue只结束本次循环对吗 c语言for循环语句用法

文章插图
如果运行了上面的程序 , 它将会不停的输出语句 , 这时可以通过任务管理器强行结束 。显然无限循环并不是我们设计的目的 , 然而这样的设计结构确是在实际开发中存在的 。比如说游戏引擎 , 运行于一个无限循环中:捉捕用户输入、渲染场景、输出画面等 。当然 , 无限循环之所以存在 , 主要得益于break的存在:永久退出循环 。
continue只结束本次循环对吗 c语言for循环语句用法

文章插图
使用循环铺砖在2D游戏地形实现中 , 通常是将地图切分许多称之为Tile的小块 , 然后根据地表信息使用对应的贴图对其进行装饰 , 比如哪里放置地面 , 哪里放置水域 , 又或者建筑等 。对于现阶段的练习 , 出于简易性 , 我们将仅使用一张“地面碎石泥土”图片(Ground.png)来对地形进行填充 。使用图片浏览器查看Group.png , 可以知道它的大小是64×64 , 这代表地形中一个Tile的大小 。