穿越逻辑迷宫

在编写计算机程序的过程中,我们经常遇到需要根据不同情况进行选择执行某段代码的需求。此外,有时我们还需要反复执行某个或某些任务。为了满足这类需求,C 语言提供了多种分支循环语句,帮助我们在各种复杂的逻辑条件下编写代码。本文将详细介绍 C 语言的分支循环语句及其用法。

一、分支语句

1. if 语句

if 语句是 C 语言中最基本的条件判断语句。它的基本用法如下:

if (condition)
{
    // do something
}


其中,condition 是一个表达式,用于表示条件。如果条件成立(返回非零值),则执行大括号中的代码;否则,忽略大括号中的内容。注意,C 语言中 0 表示 false,其他值表示 true。

例如,下面的代码会在 a 大于 b 的情况下执行 some_function():

if (a > b)
{
    some_function();
}

2. if-else 语句

有时候我们需要在条件不成立时执行另一段代码,可以使用 if-else 语句:

if (condition)
{
    // do something
}
else
{
    // do something else
}


例如,下面的代码会在 a 大于 b 时执行 some_function(),否则执行 another_function():
 

3. if-else if-else 语句

if (a > b)
{
    some_function();
}
else
{
    another_function();
}

有时候我们需要根据多个条件进行选择,可以使用 if-else if-else 语句:

if (condition1)
{
    // do something
}
else if (condition2)
{
    // do something else
}
else
{
    // do another thing
}

例如,下面的代码会根据成绩 score 输出不同的结果:

if (score >= 90)
{
    printf("A\n");
}
else if (score >= 80)
{
    printf("B\n");
}
else if (score >= 70)
{
    printf("C\n");
}
else
{
    printf("D\n");
}


需要注意的是,此时程序将按顺序判断多个条件,只要有一个条件成立,就会执行对应的代码,并跳过后面的条件判断。

4. switch-case 语句

当我们需要根据一个整数或字符变量的值进行多路分支选择时,使用 if-else if-else 语句会显得比较繁琐,此时可以使用 switch-case 语句简化代码:

switch (expression)
{
case constant1:
    // do something
    break;
case constant2:
    // do something else
    break;
// ...
default:
    // do another thing
}


其中,expression 必须是一个整数或字符类型的表达式。程序将查找与 expression 值相匹配的 case 标签,然后执行对应的代码。如果没有匹配的 case 标签,会执行 default 段的代码。

注意,执行完一个 case 段后,需要用 break 语句跳出 switch 结构,否则会继续执行下一个 case 段的代码。下面是一个打印星期几的例子:

switch (day)
{
case 1:
    printf("Monday\n");
    break;
case 2:
    printf("Tuesday\n");
    break;
case 3:
    printf("Wednesday\n");
    break;
case 4:
    printf("Thursday\n");
    break;
case 5:
    printf("Friday\n");
    break;
case 6:
    printf("Saturday\n");
    break;
case 7:
    printf("Sunday\n");
    break;
default:
    printf("Invalid day\n");
}

二、循环语句

1. for 循环

for 循环是一种条件循环语句。其基本格式如下:


for (initialization; condition; increment)
{
    // do something
}


其中,initialization 是循环变量的初始化表达式;condition 是循环条件表达式;increment 是循环变量的增量表达式。

例如,下面的代码将打印 1 到 10 的整数:

for (int i = 1; i <= 10; i++)
{
    printf("%d\n", i);
}

2. while 循环

while 循环也是一种条件循环语句,其基本格式如下:

while (condition)
{
    // do something



只要条件不变为 false(零值),循环就会一直执行,直到条件不满足为止。

例如,下面的代码将计算 a 和 b 的最大公约数:

while (a != b)
{
    if (a > b)
        a = a - b;
    else
        b = b - a;
}
printf("GCD is %d\n", a);

3. do-while 循环

do-while 循环是一种后测试条件循环语句,即先执行循环体,然后判断条件是否满足。其基本格式如下:

do
{
    // do something
} while (condition);


注意,do-while 语句后面的分号不能省略。

例如,下面的代码将读入一些整数,计算它们的和,直到输入为 0 为止:

int sum = 0, value;
do
{
    scanf("%d", &value);
    sum += value;
} while (value != 0);
printf("Sum is %d\n", sum);


 

总结

本文详细介绍了 C 语言中的分支循环语句,有了这些语句,我们就可以实现各种不同的逻辑条件控制。通过高效地使用分支循环语句,我们的程序可以处理更多种情况,满足复杂的需求,同时保持代码的整洁和可读性。学会穿越逻辑迷宫,是成为优秀程序员的第一步!

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值