11.05学习

一、for循环语句的相关知识点

C语言中的 for 循环是一种基本的控制结构,用于重复执行一段代码直到满足某个条件。

  1. 基本语法:

for (初始化表达式;条件表达式;更新表达式) {

// 循环体

}

初始化表达式:在循环开始之前执行一次,通常用于设置循环变量的初始值。

条件表达式:在每次循环迭代之前检查,如果结果为真(非零),则执行循环体;如果结果为假(零),则退出循环。

更新表达式:在每次循环迭代之后执行,通常用于更新循环变量的值。

  1. 循环体:

可以是单个语句,也可以是多个语句组成的复合语句(用花括号 {} 包围)。

  1. 无限循环:

如果条件表达式总是为真, for 循环将变成无限循环。

for(;;) {

// 无限循环体

}

  1. 空操作:

如果不需要初始化、条件检查或更新,可以省略相应的部分。

for(; ; ) {

// 循环体

}

  1. 多个变量更新:

更新表达式可以包含多个操作,使用逗号分隔。

for (i = 0; i < 10; i++, j--) {

// 循环体

}

  1. 跳转语句:

在 for 循环体内可以使用 break 、 continue 、 return 等跳转语句来控制循环的流程。

break :立即退出循环。

continue :跳过当前迭代,继续下一次迭代。

return :退出函数并返回指定值。

  1. 嵌套循环:

for 循环可以嵌套在另一个 for 循环内部,形成多维循环。

  1. 变量作用域:

在 for 循环的初始化部分声明的变量,其作用域仅限于 for 循环体内部。

  1. 性能考虑:

尽量减少在条件表达式中的复杂计算,以避免不必要的性能开销。

  1. 与 while 和 do-while 循环的比较:

for 循环通常用于已知迭代次数的情况。

while 循环和 do-while 循环适用于迭代次数未知的情况。

例题

示例1:基本的 for 循环

#include <stdio.h>

int main() {

int i;

for (i = 0; i < 5; i++) {

printf("%d ", i);

}

return 0;

}

这个程序将打印0到4的数字。

示例2:使用 for 循环打印乘法表

#include <stdio.h>

int main() {

int i, j;

for (i = 1; i <= 9; i++) {

for (j = 1; j <= i; j++) {

printf("%d*%d=%d ", j, i, i * j);

}

printf("\n");

}

return 0;

}

这个程序将打印1到9的乘法表。

示例3:使用 for 循环计算总和

#include <stdio.h>

int main() {

int i, sum = 0;

for (i = 1; i <= 100; i++) {

sum += i;

}

printf("Sum = %d\n", sum);

return 0;

}

这个程序计算1到100的整数总和。

示例4:使用 for 循环打印奇数

#include <stdio.h>

int main() {

int i;

for (i = 1; i <= 10; i += 2) {

printf("%d ", i);

}

return 0;

}

这个程序将打印1到10之间的所有奇数。

示例5:使用 for 循环打印斐波那契数列

#include <stdio.h>

int main() {

int i, t1 = 0, t2 = 1, nextTerm;

for (i = 1; i <= 10; ++i) {

printf("%d ", t1);

nextTerm = t1 + t2;

t1 = t2;

t2 = nextTerm;

}

return 0;

}

这个程序将打印斐波那契数列的前10个数字。

示例6:使用 for 循环和数组

#include <stdio.h>

int main() {

int i, numbers\[\] = {10, 20, 30, 40, 50};

for (i = 0; i < 5; i++) {

printf("%d ", numbersi);

}

return 0;

}

这个程序将打印数组中的所有元素。

示例7:使用 for 循环和字符串

#include <stdio.h>

int main() {

char str\[\] = "Hello, World!";

for (int i = 0; stri != '\0'; i++) {

printf("%c", stri);

}

return 0;

}

这个程序将打印字符串中的每个字符,直到遇到空字符。

这些示例展示了 for 循环在C语言中的多样性和灵活性,适用于各种不同的编程任务。

二、do-while循环语句相关知识点

C语言中的 do-while 循环是一种后测试循环结构,这意味着循环体至少执行一次,然后根据条件判断是否继续执行循环。

  1. 基本语法:

do {

// 循环体

} while (条件表达式);

循环体:包含在 do 和 while 之间的代码块,至少执行一次。

条件表达式:在每次循环体执行完毕后进行测试,如果结果为真(非零),则继续执行循环体;如果结果为假(零),则退出循环。

  1. 至少执行一次:

与 for 和 while 循环不同, do-while 循环保证循环体至少执行一次,因为条件测试是在循环体执行之后进行的。

  1. 条件表达式:

条件表达式必须返回一个整数,如果返回非零值,循环继续执行;如果返回零,循环结束。

  1. 无限循环:

如果条件表达式总是为真, do-while 循环将变成无限循环。

do {

// 循环体

} while (1);

  1. 跳转语句:

在 do-while 循环体内可以使用 break 、 continue 、 return 等跳转语句来控制循环的流程。

break :立即退出循环。

continue :不适用,因为 do-while 循环没有"当前迭代"的概念。

return :退出函数并返回指定值。

  1. 嵌套循环:

do-while 循环可以嵌套在另一个循环内部,形成多维循环。

  1. 变量作用域:

在 do-while 循环中声明的变量,其作用域通常限于整个函数或代码块,除非在循环内部使用 for 循环的初始化部分声明。

  1. 性能考虑:

尽量减少在条件表达式中的复杂计算,以避免不必要的性能开销。

  1. 与 for 和 while 循环的比较:

do-while 循环适用于至少需要执行一次循环体的情况,而 while 循环适用于在进入循环体之前需要先进行条件测试的情况。

for 循环通常用于已知迭代次数的情况,而 do-while 循环适用于迭代次数未知或至少需要执行一次循环体的情况。

  1. 使用场景:

当你需要确保循环体至少执行一次,并且每次执行后都需要重新评估条件时, do-while 循环是一个合适的选择。

三、while循环语句相关知识点

C语言中的 while 循环是一种前测试循环结构,这意味着在执行循环体之前会先检查条件是否满足。

  1. 基本语法:

while (条件表达式) {

// 循环体

}

条件表达式:在每次循环迭代之前进行测试,如果结果为真(非零),则执行循环体;如果结果为假(零),则退出循环。

  1. 零次执行的风险:

如果条件表达式在循环开始时就为假, while 循环的循环体将不会执行,这可能导致一些初始化代码未被执行。

  1. 无限循环:

如果条件表达式总是为真, while 循环将变成无限循环。

while (1) {

// 无限循环体

}

  1. 跳转语句:

在 while 循环体内可以使用 break 、 continue 、 return 等跳转语句来控制循环的流程。

break :立即退出循环。

continue :跳过当前迭代,继续下一次迭代。

return :退出函数并返回指定值。

  1. 嵌套循环:

while 循环可以嵌套在另一个循环内部,形成多维循环。

  1. 变量作用域:

在 while 循环中声明的变量,其作用域通常限于整个函数或代码块,除非在循环内部使用 for 循环的初始化部分声明。

  1. 性能考虑:

尽量减少在条件表达式中的复杂计算,以避免不必要的性能开销。

  1. 与 for 和 do-while 循环的比较:

while 循环适用于在进入循环体之前需要先进行条件测试的情况,而 do-while 循环适用于至少需要执行一次循环体的情况。

for 循环通常用于已知迭代次数的情况,而 while 循环适用于迭代次数未知的情况。

  1. 使用场景:

当你需要在每次迭代之前检查条件,并且可能在第一次迭代之前就需要跳过循环体时, while 循环是一个合适的选择。

  1. 条件表达式的控制:

条件表达式可以是任何返回整数的表达式,包括逻辑表达式、关系表达式、算术表达式等。

  1. 循环控制:

在 while 循环中,通常需要有一种机制来改变条件表达式的值,否则很容易形成无限循环。

  1. 与 for 循环的转换:

有时候, while 循环可以与 for 循环相互转换,尽管这可能会改变代码的风格和可读性。

相关推荐
zr想努力14 分钟前
GAS学习(UE5自用)
学习·ue5
她说..20 分钟前
MySQL JSON 处理学习文档
学习·mysql·json
资讯综合40 分钟前
一年级数学机构怎么选?与学习阶段相匹配的线上思维课程与线下机构差异分析
学习
M78佐菲1 小时前
51单片机学习笔记(2)
linux·笔记·嵌入式硬件·学习·51单片机
子不语1801 小时前
LabVIEW和PLC通过OPC通信
学习·自动化·plc
萧行之1 小时前
Observable Plot 源码深度解析——4 核心抽象逐项学习
前端·学习·数据可视化
浔溺1 小时前
al+大数据每日学习笔记37
大数据·笔记·学习
TheBestRucy2 小时前
PyTorch 基本使用学习笔记
pytorch·笔记·学习
ouynagda2 小时前
51 单片机 LED 流水灯 + 数码管动态扫描学习笔记(STC89C52)
笔记·单片机·学习