3个循环体

while循环(先进行判断结果为真,后再进入循环体)
例如:计算1到10的和

int i=10int sum=0;
while(i>0){
	sum=sum+i;//等价于sum+=i;
	i--;
}

do while循环(先执行一次后,在进行判断结果为真,后再进入循环体)

int i=10int sum=0;
{
	sum=sum+i;//等价于sum+=i;
	i--;
}while(i>0);

再从流程图上看
while与do while的区别
在这里插入图片描述

  1. while先进行判断再根据判断条件的结果决定下一步
  2. do while先执行一次循环体,在进行判断条件根据判断条件的结果决定下一步

for循环

int i=0;
	int sum=0;
	for(i=1;i<11;i++){
		sum=sum+i;//等价于sum+=i;
	}

执行的顺序如下图

  1. i=1;//初始化进行赋值可以对已经定义好的变量进行再次赋值,在for循环中这只执行一次
  2. i<11; //判断条件判断结果为,真继续往下执行,假跳出循环
  3. sum=sum+i;// 判断结果为真执行循环体
  4. i++; //执行完循环体后执行
  5. 4执行完后执行2条件判断,为真继续往下执行,为假跳出循环

for循环执行顺序
三个循环的使用建议

  1. 必须要执行一次用do while循环
  2. 有固定的次数使用for循环
  3. 其他使用while循环
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用C语言编写的程序示例,该程序包含三个循环体,分别完成打印学生信息、计算平均分以及查找最高平均分的功能: ```c #include <stdio.h> // 定义学生结构体 typedef struct { char name[50]; int scores[5]; // 假设每个学生有5门课程的成绩 } Student; int main() { // 初始化三个学生的信息 Student students[3] = { {"学生A", {80, 90, 70, 85, 95}}, {"学生B", {75, 88, 81, 90, 76}}, {"学生C", {85, 92, 78, 91, 88}} }; int i, j; float sum, avg; float highestAvg = 0.0; // 第一个循环:打印学生信息 printf("学生信息:\n"); for (i = 0; i < 3; i++) { printf("%s\n", students[i].name); } // 第二个循环:计算并打印每个学生的平均分 printf("\n每个学生的平均分:\n"); for (i = 0; i < 3; i++) { sum = 0; for (j = 0; j < 5; j++) { sum += students[i].scores[j]; } avg = sum / 5; printf("%s的平均分是: %.2f\n", students[i].name, avg); if (avg > highestAvg) { highestAvg = avg; } } // 第三个循环:查找最高的平均分 printf("\n最高的平均分是: %.2f\n", highestAvg); return 0; } ``` 在这个程序中,我们首先定义了一个学生结构体`Student`,它包含学生的姓名和一个包含5个整数的数组来存储每个学生的5门课程成绩。然后我们初始化了一个包含三个学生信息的数组`students`。 第一个循环简单地遍历并打印了每个学生的名字。 第二个循环使用两层嵌套的for循环,内部循环用来计算每个学生的成绩总和,外部循环用来遍历学生数组并打印每个学生的平均分。同时,在计算平均分的过程中,我们记录了迄今为止遇到的最高平均分`highestAvg`。 第三个循环打印出了最高平均分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值