C语言循环结构实例:求和、判断捐款、筛选数列与乘法表
需积分: 0 126 浏览量
更新于2024-08-04
收藏 20KB DOCX 举报
"C语言循环结构程序代码"
在C语言中,循环结构是程序设计的基础,用于执行重复性任务。以下代码示例展示了C语言中几种常见的循环结构:`while`、`for`以及`do-while`循环,并通过实际应用来解释它们的工作原理。
1. `while`循环:
```c
int i = 1;
int sum = 0;
while (i <= 100) {
sum = sum + i;
i++;
}
```
这段代码计算1到100的和。`while`循环会持续执行,直到条件`i <= 100`不再满足为止。每次迭代时,变量`i`递增,`sum`累加当前的`i`值。
2. `for`循环:
```c
for (i = 1, sum = 0; i <= 100; i++) {
sum = sum + i;
}
```
这是对上述`while`循环的改进版本,使用`for`循环实现相同功能。`for`循环初始化`i`和`sum`,然后在每次迭代时检查条件`i <= 100`,并更新`i`的值。
3. `if`和`break`结合使用模拟循环:
```c
for (i = 1, total = 0; i <= 1000; i++) {
printf("请输入捐款数:\n");
scanf("%f", &amount);
total = total + amount;
if (total > SUM100000) {
break;
}
}
```
在这个例子中,虽然没有明确的循环结构,但通过`if`和`break`语句,当输入的捐款总数超过100000元时,程序会提前终止循环。这可以看作是一种条件控制的循环。
4. `continue`语句:
```c
for (n = 100; n < 200; n++) {
if (n % 3 == 0) {
continue;
} else {
printf("%d\t", n);
}
}
```
这段代码输出100到200之间不能被3整除的数。`continue`语句用于跳过当前循环的剩余部分,直接进入下一次迭代。
5. 多层`for`循环:
```c
for (i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++, n++) {
if (n % 9 == 0) {
printf("\n");
}
printf("%d\t", i * j);
}
}
```
这段代码生成九九乘法表,使用了两层嵌套的`for`循环。第一层循环遍历1到9,第二层循环遍历1到当前外层循环的值`i`,并打印乘积。
6. 循环计算π的近似值(级数方法):
```c
double n = 1.0, term = 1.0, pi = 0.0; // n表示分母
int sign = 1; // 表示数值的符号
while (fabs(term) >= 1e-6) {
pi = pi + term;
n = n + 2;
sign = -sign;
term = 1.0 / pow(n, 2) * sign;
}
```
这段代码使用莱布尼茨级数来计算π的近似值。循环会一直执行,直到当前项的绝对值小于1e-6为止,确保结果的精度。
以上代码展示了C语言中循环结构的灵活性和多样性,它们是编写复杂程序的关键组成部分,允许程序处理重复性和条件性任务。
2020-10-26 上传
2021-09-27 上传
2015-10-08 上传
2024-06-23 上传
2024-08-17 上传
2024-10-24 上传
2023-04-23 上传
2024-11-02 上传
2023-05-24 上传
小兮木
- 粉丝: 2
- 资源: 4
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录