打印
[经验分享]

C语言分支循环语句

[复制链接]
1369|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vivilyly|  楼主 | 2025-5-24 08:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

一、If语句和关系操作符

首先,我们来看看If语句和关系操作符。在C语言中,我们使用if语句来根据特定条件执行代码块。关系操作符(<, >, <=, >=)用于比较两个值的大小。

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>

使用特权

评论回复
沙发
wangdezhi| | 2025-7-2 12:31 | 只看该作者
在C语言中,分支(if-else、switch)和循环(for、while、do-while)是控制程序流程的核心语句。

使用特权

评论回复
板凳
louliana| | 2025-7-3 15:50 | 只看该作者
#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;
}

使用特权

评论回复
地板
作业天敌在此| | 2025-7-3 18:14 | 只看该作者
if语句和关系操作符的示例代码很清晰,理解了条件判断的基本用法。

使用特权

评论回复
5
10299823| | 2025-7-3 19:44 | 只看该作者
数组遍历时,确保下标不越界              

使用特权

评论回复
6
uytyu| | 2025-7-4 09:42 | 只看该作者
使用有意义的变量名和注释来提高代码的可读性和维护性。

使用特权

评论回复
7
deliahouse887| | 2025-7-4 13:24 | 只看该作者
按顺序判断条件,​​一旦某个条件为真,后续条件不再判断​​。需注意条件顺序

使用特权

评论回复
8
hilahope| | 2025-7-4 15:19 | 只看该作者
do-while 先执行循环体,再判断条件。即使初始条件不满足,循环体​​至少执行一次​​。

使用特权

评论回复
9
elsaflower| | 2025-7-4 17:05 | 只看该作者
尽量减少深层嵌套的循环和分支结构,使用函数或模块化设计来简化复杂的逻辑。

使用特权

评论回复
10
sheflynn| | 2025-7-4 17:58 | 只看该作者
如果在循环中遇到特定条件可以提前退出循环,使用break语句来提高效率。

使用特权

评论回复
11
jackcat| | 2025-7-4 18:55 | 只看该作者
4.1 条件判断
逻辑运算符:使用 && 和 || 时,注意短路求值的特性。
比较运算符:确保使用正确的比较运算符(如 == 而不是 =)。
4.2 循环变量
作用域:确保循环变量的作用域明确,避免在循环外部误用。
更新方式:确保循环变量在每次迭代中正确更新,以避免无限循环。
4.3 代码可读性
注释:添加必要的注释,解释复杂的逻辑和条件。
缩进和格式:保持代码的缩进和格式一致,提高可读性。

使用特权

评论回复
12
earlmax| | 2025-7-5 21:25 | 只看该作者
在 C 语言中,分支(如if-else、switch)和循环(如for、while、do-while)语句是构建程序逻辑的基础。

使用特权

评论回复
13
bestwell| | 2025-7-6 09:30 | 只看该作者
for 循环用于已知循环次数的场景,结构为 for(初始化; 条件; 迭代),核心是​​循环变量的作用域​​和​​无限循环的避免​​。

使用特权

评论回复
14
modesty3jonah| | 2025-7-6 10:24 | 只看该作者
根据具体情况选择合适的循环结构(for、while、do-while),以提高代码的可读性和效率。

使用特权

评论回复
15
backlugin| | 2025-7-7 14:41 | 只看该作者
在使用C语言的分支和循环语句时,需要注意条件表达式的准确性、避免魔法数字、考虑所有可能的情况、处理边界条件、优化循环结构等方面。

使用特权

评论回复
16
maudlu| | 2025-7-10 15:26 | 只看该作者
打印中间值、边界测试、减少循环内冗余计算、提高代码可读性。

使用特权

评论回复
17
benjaminka| | 2025-7-10 16:14 | 只看该作者
建议始终包含 default,即使逻辑上不需要,也可用于调试

使用特权

评论回复
18
mickit| | 2025-7-11 10:22 | 只看该作者
嵌套循环需注意内层循环变量的作用域,避免与外层变量冲突

使用特权

评论回复
19
uptown| | 2025-7-11 12:41 | 只看该作者
循环变量的初始化和更新、边界检查、多层循环的性能优化、break和continue的合理使用

使用特权

评论回复
20
deliahouse887| | 2025-7-11 14:01 | 只看该作者
while循环:条件表达式必须能改变,否则可能死循环。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

107

主题

1935

帖子

1

粉丝