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

相关推荐
虫洞没有虫6 小时前
Go语言学习笔记(二)
笔记·学习
AA陈超6 小时前
ASC学习笔记0001:处理目标选择系统中当Actor拒绝目标确认时的调用
c++·笔记·学习·游戏·ue5·游戏引擎·虚幻
AI研一研8 小时前
如何快速学习知识、查找要点、把知识读“薄”、读“精”?
人工智能·学习
rannn_1119 小时前
【Javaweb学习|黑马笔记|Day5】Web后端基础|java操作数据库
数据库·后端·学习·javaweb
AA陈超9 小时前
ASC学习笔记0022:在不打算修改属性集时访问生成的属性集
c++·笔记·学习·ue5·虚幻引擎·unreal engine
HalvmånEver9 小时前
Linux:基础开发工具(四)
linux·运维·服务器·开发语言·学习·makefile
q***787810 小时前
Spring学习——新建module模块
java·学习·spring
Bin二叉10 小时前
南京大学cpp复习——面向对象第一部分(构造函数,拷贝构造函数,析构函数,移动构造函数,友元)
c++·笔记·学习
xhyyvr11 小时前
解码大地的预警 —— VR地震起因及先兆学习系统
学习·vr·vr公共安全·vr公共安全体验馆·vr地震·vr地震起因先兆·vr地震模拟平台
Amber_3711 小时前
php的数组和python的列表 -- 横向对比学习
python·学习·php