C语言分支循环语句
一、If语句和关系操作符首先,我们来看看If语句和关系操作符。在C语言中,我们使用if语句来根据特定条件执行代码块。关系操作符(<, >, <=, >=)用于比较两个值的大小。
```javascript
int a = 10;
int b = 20;
if (a < b) {
printf("a < b \n");
} else {
printf("a > b \n");
}
```
这段代码会检查a是否小于b,如果是,就打印出"a < b ",否则打印出"a > b "。
二、条件操作符和逻辑操作符
接下来,我们要介绍的是条件操作符(?:)和逻辑操作符(&&, ||)。条件操作符是一个简便的三元操作符,它可以根据一个条件来决定两个值中的哪一个被赋值给一个变量。逻辑操作符用于组合布尔表达式。
int c = (a > b) ? a : b; // 如果a大于b,c等于a,否则c等于b
三、Switch语句
接下来,我们来看看Switch语句。Switch语句允许我们根据一个变量的值来执行不同的代码块。每个可能的值都被称为一个case,而默认的case(如果没有匹配的值)被称为default。
int day = 2;
四、while循环
while循环是一种先判断条件,再执行循环体的循环结构。当条件为真时,循环体会反复执行;当条件为假时,循环体将不再执行。
例如,以下是一个使用while循环计算1到10之和的示例代码:
int sum = 0;
在上面的代码中,当i小于等于10时,循环体会反复执行,累加i的值并将i递增。当i大于10时,循环体将不再执行,程序输出计算结果。
五、for循环
for循环是一种先执行一次循环初始化,再根据指定的条件执行循环体,最后进行循环更新的循环结构。
例如,以下是一个使用for循环打印数字1到10的示例代码:
for (int i = 1; i <= 10; i++) {
在上面的代码中,首先将i初始化为1,然后当i小于等于10时,执行循环体打印i的值并将i递增。当i大于10时,循环体将不再执行。
六、do-while循环
do-while循环是一种先执行一次循环体,再判断条件的循环结构。与while循环不同的是,do-while循环至少会执行一次循环体。
例如,以下是一个使用do-while循环从键盘输入数字并判断是否为正数的示例代码:
int num;
在上面的代码中,首先从键盘输入一个数字并存入num变量中。然后使用do-while循环判断num是否为正数。如果不是正数,则提示用户重新输入并等待用户输入新的数字。如果是正数,则输出用户输入的数字并跳出循环。由于do-while循环至少会执行一次循环体,因此需要在循环体内使用break语句才能跳出循环。
七、Break和Continue语句
Break语句
在C语言中,Break语句用于跳出当前循环或switch语句。当程序执行到Break语句时,它将立即退出当前循环或switch语句,并继续执行下一条语句。
例如,以下是一个使用Break语句跳出循环的示例代码:
#include <stdio.h>
在上面的代码中,当i等于5时,程序执行到Break语句,跳出循环并输出"Loop exited at i = 5"。由于在Break语句之前已经打印了1到4的数字,因此循环只执行了5次。
Continue语句
Continue语句用于跳过当前循环的剩余部分,直接开始下一次循环。当程序执行到Continue语句时,它将立即退出当前循环的剩余部分,并继续执行下一次循环。
例如,以下是一个使用Continue语句的示例代码:
#include <stdio.h>
在上面的代码中,当i为偶数时,程序执行到Continue语句,跳过当前循环的剩余部分并开始下一次循环。因此,只有1、3、5、7、9这些奇数被打印出来。
八、循环嵌套
循环嵌套是指在循环内部再有一个或多个循环的情况。在C语言中,我们可以使用嵌套的for循环或while循环来实现循环嵌套。以下是一个使用嵌套for循环的示例代码:
#include <stdio.h>
在C语言中,分支(if-else、switch)和循环(for、while、do-while)是控制程序流程的核心语句。 #include <stdio.h>
#define MAX_LIMIT 100
int main() {
int number;
// 输入一个数字
printf("Enter a number between 1 and 100: ");
scanf("%d", &number);
// 使用分支语句检查输入是否合法
if (number < 1 || number > MAX_LIMIT) {
printf("Invalid input. Number must be between 1 and %d.\n", MAX_LIMIT);
} else {
// 使用循环打印从1到number的所有数字
for (int i = 1; i <= number; i++) {
printf("%d ", i);
// 如果i是5的倍数,提前退出循环
if (i % 5 == 0) {
break;
}
}
printf("\n");
}
return 0;
} if语句和关系操作符的示例代码很清晰,理解了条件判断的基本用法。
数组遍历时,确保下标不越界 使用有意义的变量名和注释来提高代码的可读性和维护性。 按顺序判断条件,一旦某个条件为真,后续条件不再判断。需注意条件顺序 do-while 先执行循环体,再判断条件。即使初始条件不满足,循环体至少执行一次。 尽量减少深层嵌套的循环和分支结构,使用函数或模块化设计来简化复杂的逻辑。 如果在循环中遇到特定条件可以提前退出循环,使用break语句来提高效率。 4.1 条件判断
逻辑运算符:使用 && 和 || 时,注意短路求值的特性。
比较运算符:确保使用正确的比较运算符(如 == 而不是 =)。
4.2 循环变量
作用域:确保循环变量的作用域明确,避免在循环外部误用。
更新方式:确保循环变量在每次迭代中正确更新,以避免无限循环。
4.3 代码可读性
注释:添加必要的注释,解释复杂的逻辑和条件。
缩进和格式:保持代码的缩进和格式一致,提高可读性。 在 C 语言中,分支(如if-else、switch)和循环(如for、while、do-while)语句是构建程序逻辑的基础。 for 循环用于已知循环次数的场景,结构为 for(初始化; 条件; 迭代),核心是循环变量的作用域和无限循环的避免。 根据具体情况选择合适的循环结构(for、while、do-while),以提高代码的可读性和效率。 在使用C语言的分支和循环语句时,需要注意条件表达式的准确性、避免魔法数字、考虑所有可能的情况、处理边界条件、优化循环结构等方面。 打印中间值、边界测试、减少循环内冗余计算、提高代码可读性。 建议始终包含 default,即使逻辑上不需要,也可用于调试 嵌套循环需注意内层循环变量的作用域,避免与外层变量冲突 循环变量的初始化和更新、边界检查、多层循环的性能优化、break和continue的合理使用 while循环:条件表达式必须能改变,否则可能死循环。
页:
[1]
2