C语言学习4——控制流程 分支结构:if语句、switch语句 循环结构:while语句、do-while语句、for语句

控制流程是指程序的执行顺序,分为顺序,分支和循环三种类型。

顺序结构

顺序结构是指程序按照顺序依次执行,不做任何的判断和跳转。

#include <stdio.h>

int main()
{
    int a = 10;
    int b = 20;
    int c = a + b;
    printf("a + b = %d\n", c);
    return 0;
}

上述代码没有使用任何控制流程语句,按照程序从头到尾的顺序执行,先给a赋值,再给b赋值,最后计算a和b的和并输出。

分支结构

分支结构是指程序通过判断,选择不同的执行路径。C语言中有三种分支结构:if语句,switch语句和三目运算符。

if语句

if语句是最为常见的一种分支结构,语法如下:

if (条件表达式)
{
    //执行语句1
}
else
{
    //执行语句2
}

if语句先判断条件表达式是否成立,如果成立则执行语句1,否则执行语句2。

#include <stdio.h>

int main()
{
    int a = 10;
    if (a > 0)
    {
        printf("a是正数\n");
    }
    else
    {
        printf("a不是正数\n");
    }
    return 0;
}

上述代码中,如果a大于0则输出"a是正数",否则输出"a不是正数"。

switch语句

switch语句也是一种分支结构,语法如下:

switch (表达式)
{
    case 常量1:
        //执行语句1
        break;
    case 常量2:
        //执行语句2
        break;
    ...
    default:
        //执行语句n
        break;
}

switch语句先计算表达式的值,然后与各个case后跟的常量值进行比较,如果相等则执行对应的语句并跳出switch语句,如果没有匹配的常量值则执行default后的语句。

#include <stdio.h>

int main()
{
    int a = 3;
    switch (a)
    {
        case 1:
            printf("a等于1\n");
            break;
        case 2:
            printf("a等于2\n");
            break;
        default:
            printf("a不等于1和2\n");
            break;
    }
    return 0;
}

上述代码中,a等于3,因此没有匹配的常量值,输出"a不等于1和2"。

三目运算符

三目运算符也是一种简单的分支结构,语法如下:

表达式1 ? 表达式2 : 表达式3

如果表达式1的值为真,则返回表达式2的值,否则返回表达式3的值。

#include <stdio.h>

int main()
{
    int a = 10;
    int b = (a > 0) ? 1 : 0;
    printf("b = %d\n", b);
    return 0;
}

上述代码中,如果a大于0则b的值为1,否则为0。

循环结构

循环结构是指程序通过重复执行一段代码,达到一定的目的。C语言中有三种循环结构:while循环,do-while循环和for循环。

while循环

while循环的语法如下:

while (条件表达式)
{
    //执行语句
}

while循环先判断条件表达式是否成立,如果成立则执行语句,然后再次判断条件表达式,如此循环直到条件表达式为假。

#include <stdio.h>

int main()
{
    int i = 0;
    while (i < 5)
    {
        printf("i = %d\n", i);
        i++;
    }
    return 0;
}

上述代码中,i从0开始,每次循环加1,当i大于等于5时跳出循环。

do-while循环

do-while循环的语法如下:

do
{
    //执行语句
} while (条件表达式);

do-while循环先执行一次循环体内的语句,然后在判断条件表达式是否成立,如此循环直到条件表达式为假。

#include <stdio.h>

int main()
{
    int i = 0;
    do
    {
        printf("i = %d\n", i);
        i++;
    } while (i < 5);
    return 0;
}

上述代码中,i从0开始,每次循环加1,当i大于等于5时跳出循环。

for循环

for循环的语法如下:

for (表达式1; 表达式2; 表达式3)
{
    //执行语句
}

for循环先执行表达式1,然后判断表达式2是否为真,如果为真则执行语句,然后再执行表达式3和表达式2,如此循环直到表达式2为假。

#include <stdio.h>

int main()
{
    for (int i = 0; i < 5; i++)
    {
        printf("i = %d\n", i);
    }
    return 0;
}

上述代码中,i从0开始,每次循环加1,当i大于等于5时跳出循环。注意,for循环中的i只在for循环内部有效,如果在循环外部使用则会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值