C语言入门:控制结构初步

目录

一 简介

二 三种结构

三 实例

顺序结构实例:

选择结构实例(if语句):

选择结构实例(switch语句):

循环结构实例(while语句):

循环结构实例(do-while语句):

循环结构实例(for语句):


一 简介

C语言的三种控制结构分别是顺序、选择和循环。顺序结构按代码书写顺序执行;选择结构通过if、switch等关键字基于条件执行不同代码块;循环结构如while、for和do-while,根据给定条件重复执行某段代码。

二 三种结构

C语言的结构控制指的是程序流程控制,也称为控制结构,它们决定了程序中代码执行的顺序和逻辑。C语言的结构控制主要分为以下三大类:

顺序结构

顺序结构是最简单的控制结构,程序按照从上到下的顺序逐行执行代码。没有特殊的控制指令,只要代码写在哪里,就从那里开始按顺序执行。

选择结构

选择结构基于条件来决定执行哪段代码。主要有两种形式:

if语句:用于单一条件的选择,如果条件满足则执行相应代码块。

if (条件)
  语句块1;

if-else语句:提供了两个选择,如果条件满足则执行第一个语句块,否则执行第二个语句块。

if (条件)
  语句块1;
else
  语句块2;

switch语句:用于多条件分支的选择,根据表达式的值匹配case标签并执行对应代码块。

switch (表达式) {
  case 常量1:
    语句块1;
    break;
  case 常量2:
    语句块2;
    break;
  ...
  default:
    默认语句块;
}

循环结构

循环结构用于重复执行一段代码,直到满足某个终止条件为止。

  • while循环:在每次迭代前检查条件,条件满足时继续执行循环体。
while (条件) {
  语句块;
}

do-while循环:先执行一次循环体,然后在每次迭代结束后检查条件,条件满足时继续执行。

do {
  语句块;
} while (条件);

for循环:包含了初始化、条件检查、递增(或递减)三个组成部分,通常用于已知循环次数的情况。

for (初始化; 条件; 更新) {
  语句块;
}

通过这些结构控制语句,C语言提供了足够的灵活性来编写各种复杂逻辑的程序。此外,还有break、continue等关键词用于中断循环或跳过本次循环,goto语句用于无条件跳转到程序中任意标记的位置,但是goto语句在现代编程实践中并不推荐过度使用,因为它可能使程序结构变得难以理解和维护。

三 实例

顺序结构实例:

#include <stdio.h>

int main() {
    int num1 = 10, num2 = 20;

    // 顺序执行打印两个数字
    printf("First number: %d\n", num1);
    printf("Second number: %d\n", num2);

    return 0;
}

这段程序从上至下顺序执行,首先定义两个整数变量num1和num2,然后顺序打印这两个数字。

选择结构实例(if语句):

#include <stdio.h>

int main() {
    int score = 85;

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

    return 0;
}

这段程序根据变量score的值,选择性地打印出对应的年级。

选择结构实例(switch语句):

#include <stdio.h>

int main() {
    char day = 'M';

    switch (day) {
        case 'M':
            printf("Today is Monday.\n");
            break;
        case 'T':
            printf("Today is Tuesday.\n");
            break;
        case 'W':
            printf("Today is Wednesday.\n");
            break;
        // 其他情况省略...
        default:
            printf("Invalid input.\n");
            break;
    }

    return 0;
}

这段程序根据变量day的值(字符类型),选择性地打印出对应的星期。

循环结构实例(while语句):

#include <stdio.h>

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

    return 0;
}

这段程序将从1打印到5,每次循环都将i加1,直到i不再小于等于5为止。

循环结构实例(do-while语句):

#include <stdio.h>

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

    return 0;
}

这段程序的功能与while循环的例子类似,只是do-while循环会先执行一次循环体,然后再检查条件。

循环结构实例(for语句):

#include <stdio.h>

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

    return 0;
}

这段程序同样是从1打印到5,但是使用for循环一次性定义了初始化、条件检查和更新的操作。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JJJ69

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值