网站首页 > 技术文章 正文
分析
for语句属于循环结构,for语句基本格式如下:
for(表达式1;表达式2;表达式3){
循环体语句;
}
执行流程:“表达式1”循环变量赋初值,表达式2作为循环判断,“表达式3”循环自增。
(1)“表达式1”进行循环变量赋初值。
(2)通过“表达式2”进行判断是否成立。
(3)如果“表达式2”成立则执行循环体语句。
(4)循环体语句结束后,执行“表达式3”循环自增。此时1次循环结束。
示例
#include<stdio.h>
int main(void){
int sum = 0;
int i;
for(i=1;i<=10;i++){
sum = sum + i;
}
printf("sum = %d",sum);
}
循环分析
for(i=1;i<=10;i++){
sum = sum + i;
}
第1次循环执行流程
(1)执行赋初值i=1
(2)判断i<=10是否成立,i=1,i<=10成立,执行循环体语句
(3)执行循环体语句sum=sum+i,即sum=0+1=1
(4)执行循环变量自增i++,即i=2
第2次循环执行流程
(1)此时i=2,不进行赋初值(赋初值只执行1次),判断i<=10是否成立,i=2,表达式成立,执行循环体语句。
(2)执行循环体语句sum=sum+i,即sum=1+2=3。
(3)执行循环变量自增i++,即i=3
随后的循环以此类推,当执行到第10次循环时,流程如下
(1)i=10,判断i<=10成立,执行循环体语句。
(2)循环体语句结束后,执行i++语句,此时i=11。
(3)i=11,判断i<=10不成立,不执行循环体语句,因此最后以此循环结束后,循环变量i=11。
通过以下程序示例进行打印操作验证
#include<stdio.h>
int main(void){
int sum = 0;
int i;
for(i=1;i<=10;i++){
sum = sum + i;
printf("i = %d;sum = %d\n",i,sum);
}
printf("i = %d",i);
}
执行结果
总结
(1)for循环先执行赋值,然后进行判断,成立则执行循环体,最后执行自增
(2)赋值操作只执行1次。
(3)最后1次循环结束后,也会进行自增语句。
- 上一篇: C语言内置宏的三个超实用的技术点
- 下一篇: 头文件基础讲解(C语言)(c语言头文件书写规范)
猜你喜欢
- 2024-09-12 c++ printf 到 std::cout(c++怎么用printf输出整数)
- 2024-09-12 C 语言未初始化的局部变量是多少?
- 2024-09-12 大话C语言:函数(c语言函数视频讲解)
- 2024-09-12 每日一题||C语言刷题(c语言刷题网)
- 2024-09-12 大话C语言:逗号运算符及运算法优先级
- 2024-09-12 C语言学习篇(14)-----sizeof运算符
- 2024-09-12 C语言 include的用法(c语言include的用法与搭配)
- 2024-09-12 C语言的位运算基本操作演示(c语言位运算的运算规则)
- 2024-09-12 编写一个C程序,输入a,b,c三个值,输出其中最大值
- 2024-09-12 C语言如何实现大数相加(c语言大数相加思路)
- 08-06中等生如何学好初二数学函数篇
- 08-06C#构造函数
- 08-06初中数学:一次函数学习要点和方法
- 08-06仓颉编程语言基础-数据类型—结构类型
- 08-06C++实现委托机制
- 08-06初中VS高中三角函数:从"固定镜头"到"360°全景",数学视野升级
- 08-06一文讲透PLC中Static和Temp变量的区别
- 08-06类三剑客:一招修改所有对象!类方法与静态方法的核心区别!
- 1522℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 650℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 527℃MySQL service启动脚本浅析(r12笔记第59天)
- 492℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 492℃启用MySQL查询缓存(mysql8.0查询缓存)
- 479℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 461℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 460℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)