C语言-03流程控制语句和循环语句


目标

  • 1、C语言中的分支语句:if-else语句、switch语句

  • 2、C语言中的循环语句:while循环、do-while循环、for循环

  • 3、C语言中转移语句:goto语句、break语句、continue语句

if-else语句

if-else语句用于执行基于特定条件的代码块。如果条件为真(非零),则执行if块中的语句,否则执行else块中的语句。

这是一个if-else语句的例子,检查一个数字是否是正数:

#include <stdio.h>

int main()
{
    int number;

    printf("请输入一个数字:");
    scanf("%d", &number);

    if (number >= 0)
    {
        printf("你输入的是一个非负数。");
    }
    else
    {
        printf("你输入的是一个负数。");
    }

    return 0;
}

如果输入的数字大于或等于0,程序将打印“你输入的是一个非负数”。否则,它将打印“你输入的是一个负数”。

switch语句

switch语句用于执行多个基于特定表达式值的代码块。

这是一个switch语句的例子,实现了一个简单的四则运算计算器:

#include <stdio.h>

int main()
{
    char operator;
    double num1, num2, result;

    printf("请输入运算符(+、-、* 或 /):");
    scanf("%c", &operator);
    printf("请输入两个数字:");
    scanf("%lf %lf", &num1, &num2);

    switch (operator)
    {
        case '+':
            result = num1 + num2;
            printf("结果是:%.2lf", result);
            break;
        case '-':
            result = num1 - num2;
            printf("结果是:%.2lf", result);
            break;
        case '*':
            result = num1 * num2;
            printf("结果是:%.2lf", result);
            break;
        case '/':
            if (num2 != 0)
            {
                result = num1 / num2;
                printf("结果是:%.2lf", result);
            }
            else
            {
                printf("错误!除数不能为0。");
            }
            break;
        default:
            printf("错误!无效的运算符。");
    }

    return 0;
}

用户输入一个运算符和两个数字,程序将根据运算符执行相应的计算,并打印结果。如果用户输入的是无效的运算符,程序将打印一条错误信息。

while循环

while循环在给定条件为真(非0)时反复执行指定的代码块。循环体至少执行0次。

下面的例子中,程序打印1到5的数字:

#include <stdio.h>

int main()
{
    int i = 1;

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

    return 0;
}

do-while循环

do-while循环和while循环类似,不过它至少执行一次循环体,然后再检查循环条件。

下面的例子中,程序要求用户输入一个大于0的数字,如果用户输入的数字不大于0,程序会再次请求输入:

#include <stdio.h>

int main()
{
    int num;

    do
    {
        printf("请输入一个大于0的数字:");
        scanf("%d", &num);
    } while (num <= 0);

    return 0;
}

for循环

for循环是C语言中最复杂的循环结构。它允许你在循环头部声明并初始化循环变量,设置循环条件,以及更新循环变量的值。
在这里插入图片描述

for (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体(需要重复执行的语句)
}

下面的例子中,程序打印1到5的数字:

#include <stdio.h>

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

    return 0;
}

goto 语句:

goto 语句用于实现无条件跳转。在使用时,需要给出一个标签作为跳转的目标。标签由一个标识符和一个冒号构成,可以放在函数中的任意位置,作为 goto 语句的跳转目标。

示例代码:

#include <stdio.h>

int main() {
    int a = 10;

    LOOP:do {
        if (a == 15) {
            a = a + 1;
            goto LOOP;
        }
        printf("value of a: %d\n", a);
        a++;

    } while (a < 20);

    return 0;
}

break 语句:

break 语句主要用在循环语句和 switch 语句中,用来跳出循环或者 switch 结构。在循环中,如果 break 语句被执行,将会结束最近的外围循环,并开始执行 break 语句后面的代码。

示例代码:

#include <stdio.h>

int main() {
    int a;

    for (a = 10; a < 100; a++) {
        if (a == 15) {
            /* 如果 a 等于 15,终止循环 */
            break;
        }
        printf("value of a: %d\n", a);
    }

    return 0;
}

continue 语句:

continue 语句用于结束当前循环,并立即开始下一次循环。在 for 循环中,continue 语句导致流程控制直接跳转到更新语句部分;在 while 和 do…while 中,控制流程直接跳转到条件表达式部分。

示例代码:

#include <stdio.h>

int main() {
    int a;

    for (a = 10; a < 100; a++) {
        if (a == 15) {
            /* 跳过此次循环 */
            continue;
        }
        printf("value of a: %d\n", a);
    }

    return 0;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值