逍遥自在学C语言 | for循环详解
前言
C语言中的循环结构时,for循环是最常用的一种。它允许重复执行一段代码,直到满足特定条件为止。
本文将详细介绍for循环的用法,并提供相关的可编译运行的C代码示例。
一、人物简介
- 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

- 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

二、for循环的语法
for (初始化表达式; 循环条件; 循环后操作) {
// 循环体代码
}
初始化表达式在循环开始前执行,用于初始化循环计数器或其他变量。
循环条件是一个布尔表达式,如果为真,则继续执行循环体;如果为假,则退出循环。
循环后操作在每次循环迭代之后执行,通常用于更新循环计数器或其他相关变量。
三、for循环与while循环的区别
for循环while循环在功能上是等价的,但语法上有一些区别。主要区别如下:
for循环更适用于已知循环次数的情况,而while循环更适用于循环次数未知的情况。for循环在一个语句中包含了循环的初始化、条件和循环后操作,更紧凑、简洁,适用于循环控制变量的初始化和更新。while循环则需要在循环体外单独设置循环变量的初始化,循环条件在循环体内部判断,循环变量的更新也需要手动控制。
四、for循环的灵活性
1、内置表达式
在for循环的语法中,每个部分都可以是一个表达式。这意味着你可以在初始化、循环条件和循环后操作中使用任何合法的表达式。例如:
for (int i = 0; i < 5; i++) {
// 循环体代码
}
2、外置表达式
for循环的各个部分也可以在循环外部定义,并在循环语句中使用。这样可以更灵活地控制循环条件和循环后操作。例如:
int i;
for (i = 0; i < 5; i++) {
// 循环体代码
}
3、省略循环条件
在for循环中,如果省略了循环条件部分,将会创建一个无限循环。这种情况下,循环将一直执行,直到使用break语句或其他方式跳出循环。例如:
for (;;) {
// 循环体代码
if (condition) {
break; // 在某个条件下跳出循环
}
}
4、省略循环操作
在for循环中,循环后操作部分也可以省略。这种情况下,需要在循环体内部手动更新循环计数器或其他相关变量。例如:
int i = 0;
for (; i < 5;) {
// 循环体代码
i++; // 手动更新循环计数器
}
需要注意的是,灵活性应该与代码的可读性和维护性相平衡。选择合适的方式取决于具体的需求和代码结构。
最常见的情况是使用内置的for循环语法,其中包含初始化、循环条件和循环后操作,这样可以使代码更加清晰易懂。
五、for循环的应用
示例 1: 遍历数组
使用for循环可以轻松遍历数组或列表中的元素,并对它们进行操作或处理。
#include <stdio.h>
int main()
{
int numbers[] = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < 5; i++) {
sum += numbers[i];
}
printf("Sum: %d\n", sum);
return 0;
}
- 运行结果

示例 2: 打印图形
通过嵌套for循环可以打印各种形状的图案,例如矩形、三角形等。
#include <stdio.h>
int main() {
int rows = 5; // 三角形的行数
for (int i = 1; i <= rows; i++) {
// 打印每行的空格
for (int j = 1; j <= rows - i; j++) {
printf(" ");
}
// 打印每行的星号和间隔空格
for (int j = 1; j <= 2 * i - 1; j++) {
if (j % 2 == 0) {
printf(" ");
} else {
printf("*");
}
}
printf("\n");
}
return 0;
}
- 运行结果

小结
通过这篇文章,我们学会了
1、for循环的语法
2、for循环的灵活表达方式
3、for循环的基本应用
欢迎各位 点赞 收藏 评论,如有错误请留言指正,非常感谢!
逍遥自在学C语言 | for循环详解的更多相关文章
- C语言For循环详解--saying2
c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句.for(表达式 1;表达式 2;表达式 3 ...
- c语言贪吃蛇详解3.让蛇动起来
c语言贪吃蛇详解3.让蛇动起来 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 上次 ...
- c语言贪吃蛇详解-2.画出蛇
c语言贪吃蛇详解-2.画出蛇 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 蛇的身 ...
- c语言贪吃蛇详解1.画出地图
c语言贪吃蛇详解-1.画出地图 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 首先 ...
- c语言贪吃蛇详解4.食物的投放与蛇的变长
c语言贪吃蛇详解4.食物的投放与蛇的变长 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识 ...
- c语言贪吃蛇详解5.GameOver功能与显示成绩
c语言贪吃蛇详解5.GameOver功能与显示成绩 以前我们已经做出来了一个能吃东西变长的蛇.不过它好像不会死... 现在就来实现一下game over的功能吧. 写个函数判断蛇是否撞到自己或者撞到墙 ...
- C语言memset函数详解
C语言memset函数详解 memset() 的作用:在一段内存块中填充某个给定的值,通常用于数组初始化与数组清零. 它是直接操作内存空间,mem即“内存”(memory)的意思.该函数的原型为: # ...
- C语言内存对齐详解(2)
接上一篇:C语言内存对齐详解(1) VC对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式.VC 中提供了#pr ...
- C语言内存对齐详解(3)
接上一篇:C语言内存对齐详解(2) 在minix的stdarg.h文件中,定义了如下一个宏: /* Amount of space required in an argument list for a ...
- 一个简单的C语言程序(详解)
C Primer Plus之一个简单的C语言程序(详解) #include <stdio.h> int main(void) //一个简单的 C程序 { int num; //定义一个名为 ...
随机推荐
- Skywalking搭建
因毕设前端太丑,所以后端要稍微搞的高大上一点才能忽悠住老师,所以分享一下搭建skywalking的步. 我是参考https://baijiahao.baidu.com/s?id=17211835411 ...
- vue2双向绑定原理及源码解析
首先我们要知道VUE实现双向绑定的步骤是什么: 实现一个监听器 Observer 对数据对象进行遍历,包括子属性对象的属性,利用 Object.defineProperty() 对属性都加上 sett ...
- Windows注册表中修改UAC(用户账号控制)及批处理脚
我在windows电脑上安装软件时,或者设置开机启动软件时,会先弹出提示框: 用户账户控制 你要允许此应用对你的设备进行更改吗? 很烦人,我不想每次都提醒.需要关闭"用户账户控制" ...
- dfs实现
1.思路:从图中的未访问的一个顶点开始,沿着一条路一直走到底,然后这条路尽头的节点,在从另外一条路走到底,不断递归此过程,直到所有遍历完成特点:不撞南墙不回头2.具体实现:当从一个未知的顶点出发,将这 ...
- Gpssworld仿真(二):并排排队系统模拟
4.3 某一个加油站能够配给三个级别的燃油:①家庭取暖用的燃油:②轻工业用的燃油:③运输用的燃油.每一级别的燃油都有一个对应的油泵.订单中燃油的数量在3000加仑和5000加仑中变化,每次增加10加仑 ...
- JUC(四)多线程锁
目录 多线程锁 Synchronized锁的八种情况 公平锁和非公平锁 可重入锁 synchronized Lock 死锁 检查死锁 多线程锁 Synchronized锁的八种情况 以一个手机类为例, ...
- Java中「Future」接口详解
目录 一.背景 二.Future接口 1.入门案例 2.Future接口 三.CompletableFuture类 1.基础说明 2.核心方法 2.1 实例方法 2.2 计算方法 2.3 结果获取方法 ...
- JSON.stringify()与JSON.parse()没有你想的那样简单
重新学习这两个API的起因 在本周五有线上的项目,16:30开始验证线上环境. 开始都是顺顺利利,一帆风顺. 大概17:50左右,我正在收拾东西. 准备下班去王者峡谷骑着我的船溜达一圈. 可是天降意外 ...
- 如何将带格式的代码复制到Word文档中
step1:使用UE(文本编辑器软件)打开你的代码,并在右下方的查看方式,选好代码的类型格式. step2:选中需要copy的代码(建议使用列模式来选中,copy时可以背景颜色也copy过去),在主页 ...
- odoo 开发入门教程系列-QWeb简史
QWeb简史 到目前为止,我们的房地产模块的界面设计相当有限.构建列表视图很简单,因为只需要字段列表.表单视图也是如此:尽管使用了一些标记,如<group>或<page>,但在 ...