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 ", numbers[i]);

}

return 0;

}

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

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

#include <stdio.h>

int main() {

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

for (int i = 0; str[i] != '\0'; i++) {

printf("%c", str[i]);

}

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 循环相互转换,尽管这可能会改变代码的风格和可读性。

相关推荐
阿阳微客1 小时前
Steam 搬砖项目深度拆解:从抵触到真香的转型之路
前端·笔记·学习·游戏
Chef_Chen6 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
键盘敲没电6 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
海的诗篇_7 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
AgilityBaby7 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby7 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5
武昌库里写JAVA8 小时前
iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
java·开发语言·spring boot·学习·课程设计
一弓虽9 小时前
git 学习
git·学习
Moonnnn.11 小时前
【单片机期末】串行口循环缓冲区发送
笔记·单片机·嵌入式硬件·学习
viperrrrrrrrrr712 小时前
大数据学习(131)-Hive数据分析函数总结
大数据·hive·学习