C语言课程3-控制结构

控制结构

  • 3.1 条件语句(if-else)
    • 3.1.1 if 语句
    • 3.1.2 if-else 语句
    • 3.1.3 if-else if-else 语句
  • 3.2 循环结构(Loops)
    • 3.2.1 for 循环
    • 3.2.2 while 循环
    • 3.2.3 do-while 循环
  • 3.3 switch 语句
    • 3.3.1 case
    • 3.3.2 break
    • 3.3.3 default

3. 控制结构

        控制结构是编程语言中的核心部分,用于控制程序的执行流程。常见的控制结构包括条件语句、循环结构和 switch 语句。通过这些结构,程序可以根据不同的条件执行不同的代码块,并实现重复的操作。

3.1 条件语句(if-else)

        条件语句允许程序根据某个条件是否成立来决定执行哪段代码。

3.1.1 if 语句

  if 语句用于判断一个条件表达式是否为真。如果条件为真(结果是 true),则执行相应的代码块;如果为假(结果是 false),则跳过该代码块。

语法

if (条件表达式) {
    // 条件为真时执行的代码
}

示例

int age = 18;
if (age >= 18) {
    printf("你是成年人。\n");
}

在这个示例中,如果 age 大于等于 18,则会输出“你是成年人。”


3.1.2 if-else 语句

  if-else 语句为条件提供了两个可能的执行路径:如果条件为真,执行 if 块;如果条件为假,则执行 else 块。

语法

if (条件表达式) {
    // 条件为真时执行的代码
} else {
    // 条件为假时执行的代码
}

示例

int age = 16;
if (age >= 18) {
    printf("你是成年人。\n");
} else {
    printf("你还未成年。\n");
}

在这个例子中,如果 age 小于 18,会输出“你还未成年。”


3.1.3 if-else if-else 语句

        当需要判断多个条件时,可以使用 if-else if-else 语句来链式判断不同的条件。每个条件都被逐个检查,直到找到一个为真的条件。如果所有条件都为假,则执行最后的 else 块。

语法

if (条件1) {
    // 条件1 为真时执行的代码
} else if (条件2) {
    // 条件2 为真时执行的代码
} else {
    // 上述条件都不成立时执行的代码
}

示例

int score = 85;
if (score >= 90) {
    printf("优秀。\n");
} else if (score >= 75) {
    printf("良好。\n");
} else if (score >= 60) {
    printf("及格。\n");
} else {
    printf("不及格。\n");
}

在这个示例中,score 为 85,所以输出“良好。”


3.2 循环结构(Loops)

        循环结构允许程序重复执行某段代码,直到满足某个条件。常见的循环结构有 for 循环、while 循环和 do-while 循环。

3.2.1 for 循环

   for 循环通常用于已知循环次数的情况。它由三个部分组成:初始化语句、条件表达式和增量表达式。

语法

for (初始化; 条件; 增量) {
    // 循环体
}
  • 初始化:循环开始时执行一次,用于定义和初始化控制变量。
  • 条件:在每次迭代前检查,如果条件为真则继续执行循环体,否则退出循环。
  • 增量:每次迭代结束后执行,用于更新控制变量。

示例

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

这个循环会输出 i 的值从 0 到 4。


3.2.2 while 循环

   while 循环在每次迭代前检查条件,如果条件为真,则执行循环体;如果条件为假,则退出循环。适用于当循环次数不确定但有明确退出条件的情况。

语法

while (条件) {
    // 循环体
}

示例

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

这个循环的功能与前面的 for 循环类似,输出 i 的值从 0 到 4。


3.2.3 do-while 循环

   do-while 循环与 while 循环类似,但它保证循环体至少执行一次。条件检查发生在循环体执行之后。

语法: 

do {
    // 循环体
} while (条件);

 示例

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

这个循环也会输出 i 的值从 0 到 4,但无论条件是否满足,循环体会先执行一次。


3.3 switch 语句

  switch 语句用于根据某个变量的值执行不同的代码块。它是一种替代多重 if-else 语句的简便方式,适合用于判断离散的、多选一的情形。

3.3.1 case

   switch 语句使用 case 标签标识不同的分支,每个 case 标签对应一个具体的值。当 switch 表达式的值与某个 case 的值匹配时,执行该分支的代码。

语法

switch (变量) {
    case 值1:
        // 当变量等于值1时执行的代码
        break;
    case 值2:
        // 当变量等于值2时执行的代码
        break;
    // 更多 case ...
    default:
        // 当变量不匹配任何 case 时执行的代码
}

示例

int day = 3;
switch (day) {
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    default:
        printf("无效的天数\n");
}

在这个示例中,day 为 3,程序会输出“星期三。”


3.3.2 break

   break 语句用于跳出 switch 语句,防止程序继续执行后续的 case 语句。如果省略 break,程序将执行完当前 case 后继续执行下一个 case 直到遇到 breakswitch 结束。

示例

switch (grade) {
    case 'A':
        printf("优秀\n");
        break;
    case 'B':
        printf("良好\n");
        break;
    case 'C':
        printf("及格\n");
        break;
    default:
        printf("未知等级\n");
}

这里 break 确保每个 case 执行完后跳出 switch 语句。


3.3.3 default

   default 用于在没有 case 匹配时执行的代码块。它是可选的,如果没有匹配的 case 且省略了 default,则不会执行任何代码。

示例

int score = 75;
switch (score) {
    case 90:
        printf("优秀\n");
        break;
    case 80:
        printf("良好\n");
        break;
    case 70:
        printf("及格\n");
        break;
    default:
        printf("成绩不在范围内\n");
}

如果 score 不等于 90、80 或 70,那么会执行 default 部分,输出“成绩不在范围内”。


结论

        控制结构通过条件语句和循环结构,极大地提升了程序的灵活性。条件语句允许程序根据不同的条件执行不同的代码路径,而循环结构则能高效处理重复任务。switch 语句提供了一种简洁的方法,方便地对变量的多个值进行判断,特别适用于离散情况。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值