一个域名两个网站,上海做外贸网站建设,公司名字logo设计,wordpress 下载的还是旧文件循环结构
什么是循环结构
代码在满足某种条件的前提下#xff0c;重复执行#xff0c;就叫做循环结构。
循环的分类
无限循环#xff1a;其实就是死循环#xff0c;程序设计中尽量避免无限循环#xff0c;如果非要使用#xff0c;那么这个循环一定要在可控范围内。有…循环结构
什么是循环结构
代码在满足某种条件的前提下重复执行就叫做循环结构。
循环的分类
无限循环其实就是死循环程序设计中尽量避免无限循环如果非要使用那么这个循环一定要在可控范围内。有限循环循环限定循环次数或者终止循环的条件。
循环的构成
循环条件循环体
当型循环的实现
特点先判断后执行如果条件不满足一次都不执行
典型代表while循环和for循环
while
语法
//写法1省略{}
while (循环条件)循环语句//单语句//写法2保留{}
while (循环条件)
{循环语句;//可以是单语句可以是复合语句
}说明
1.循环条件的返回值必须是逻辑值布尔类型条件表达式只能是关系表达式或者逻辑表达式可以是具体的值0、非0false、true。在C语言中使用0和非0来表示关系表达式或者逻辑表达式的值如果引入stdbool.h也可也用true或false来表示。
2.{ }包起来的内容整体称之为循环体
3.我们要在循环体中控制循环条件的变化否则产生死循环
执行过程 特点
先判断后执行循环体语句可能一次都不执行。
案例 需求求1~100的累加和 分析 创建一个变量sum 0用来接受累加和创建一个变量i用来表示计算数我们给i初始值i 1每次循环的时候让i在循环中使用sumi完成累加和计算同时我们要限定i的范围i 100 第一次 sum i 0 1 1 01第二次sum i 1 2 3 12第三次sum i 3 3 6 123… 代码 /************************************************************************* File Name: demo01.c Author: ZK Description: while循环案例求1100的累加和 Created Time: 2025年02月12日 星期三 09时44分51秒************************************************************************/#include stdio.hint main(int argc,char *argv[])
{//定义两个变量sum存储累加和i用来存储计算数int sum 0,i 1;while(i 100){//累加和计算sum i;//sum sum i;i;}printf(1100的累加和是%d\n,sum);return 0;
}
案例 需求求1~100以内的偶数和。 分析 创建两个变量一个变量sum用来存储偶数和一个变量i用作循环变量创建一个循环设置循环条件i 100在循环体中需要使用一个if语句判断i是否为偶数 if(i % 2 0),如果满足就求偶数和sum i在循环体 的最后一行写代码改变循环变量的值i循环结束打印输出sum 代码 /************************************************************************* File Name: demo02.c Author: ZK Description: while案例求1100以内的偶数和 Created Time: 2025年02月12日 星期三 10时02分54秒************************************************************************/#include stdio.hint main(int argc,char *argv[])
{//创建两个变量一个变量sum用来存偶数和一个变量i用来存循环变量int i 1,sum 0;//循环求和while (i 100){//过滤奇数if (i % 2 0)sum i;i;//改变循环变量的值}printf(1~100的偶数和是%d\n,sum);return 0;
}
死循环
while (1)for…
原则上for循环能实现的while循环一定可以实现for循环可以看作是while循环的一种特殊写法。
语法
for (①表达式1;②表达式2;③表达式3)
{④循环体语句;//如果是单语句可以省略{}如果是复合语句必须保留{ }
}说明
①( )中可以只保留;;举例for(;;)此时就是for循环的死循环
②表达式1是循环变量我们需要赋初值循环变量可以是单个也可以是列表多个循环变量使用逗号分隔
③表达式2是循环条件用来限制循环的次数循环条件支持关系表达式、逻辑表达式举例i 10 ji
④表达式3是改变循环变量条件支持列表这里可以使用赋值表达式举例i,j--
⑤执行顺序①②④③→②④③→②④③→…→②
// 执行过程 特点先判断后执行循环体语句有可能一次都不执行。
案例
/*************************************************************************File Name:
demo03.cAuthor:
FPFDescription: for循环案例Created Time: 2025年02月12日 星期三 10时52分51秒
************************************************************************/
#include stdio.h
#include math.h
/**
* 需求while循环案例计算1~100以内的偶数和
*/
int while_test()
{// 创建一个变量用来存储sumint sum 0;// 创建一个循环变量并初始化表达式1int i 2;// 循环while(i 100) // 循环条件表达式2{// 过滤调奇数 循环体语句if (i % 2 0){sum i;}// 改变循环条件表达式3i;}printf(1~100以内的偶数和是%d\n,sum);
}
/**
* 需求for循环案例计算1~100以内的偶数和
*/
int for_test()
{// 创建一个变量用来存储sumint sum 0;// 创建一个循环变量并初始化表达式1int i 2;// 循环for(;i 100;) // 循环条件表达式2{// 过滤调奇数 循环体语句if (i % 2 0){sum i;}// 改变循环条件表达式3i;}printf(1~100以内的偶数和是%d\n,sum);
}
/**
* 需求for循环案例计算1~100以内的偶数和
*/
int for_test2()
{// 创建一个变量用来存储sumint sum 0;// 循环for(int i 2; i 100; i) // 循环条件表达式2{// 过滤调奇数 循环体语句if (i % 2 0){sum i;}}printf(1~100以内的偶数和是%d\n,sum);
}
/**
* for循环案例
* 需求用户可以通过键盘录入一个整数n用来作为阶乘的最高位比如n 5那么阶乘表示:1 * 2 * 3 * 4
* 5
*/
int for_test3()
{// 创建一个变量接收控制台输入的整数nint n;// 创建一个变量用来接收阶乘的结果int r 1;printf(请输入一个整数:\n);scanf(%d,n);// 使用for循环实现阶乘 fabs()求绝对值需要引入 math.hfor (int i 1; i fabs(n); i){r * i;}printf(1%d之间的阶乘的将结果是%d\n,(int)fabs(n),r);
}
int main(int argc,char *argv[])
{while_test();for_test();for_test2();for_test3();return 0;
}死循环
for (表达式1;;表达式3)
for(;;)循环实现的三要素
循环变量的初始化举例int i 2循环条件举例i 100循环变量的更新举例i
案例 需求求斐波拉契数列前20个 分析 斐波拉契数列指的是符合一定规则的数列举例112358斐波拉契数列的特点是第2个就等于前两个数之和最开始的第12数是固定的都是1 代码 /************************************************************************* File Name: demo04.c Author: ZK Description: for循环案例求斐波拉契数列的前20位 Created Time: 2025年02月12日 星期三 11时31分44秒************************************************************************/#include stdio.hint main(int argc,char *argv[])
{int i 1;//定义一个循环变量int f1 1;//数列第一位int f2 1;//数列第二位for (;i 10;i){printf(%d %d ,f1,f2);//第一次1 1 2 3f1 f2;f2 f1;}return 0;
}