【快速上手C语言】第四章:控制结构——掌控程序的执行流程

本文主要是介绍【快速上手C语言】第四章:控制结构——掌控程序的执行流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        在编写C语言程序时,控制结构用于管理程序的执行流程。通过条件判断、循环和跳转语句,程序可以根据不同的条件执行不同的代码块,从而实现复杂的逻辑。

条件语句(if、else、switch)

        条件语句用于根据表达式的真假来决定是否执行某一代码块。C语言中主要的条件语句包括if-elseswitch语句。

        if-else 语句:根据条件表达式的真假来选择执行哪个代码块。

#include <stdio.h>int main() {int num = 10;if (num > 0) {printf("num 是正数\n");} else if (num < 0) {printf("num 是负数\n");} else {printf("num 是零\n");}return 0;
}
// 运行结果:
// num 是正数

switch 语句:用于多分支选择,通常用于替代复杂的if-else链。

#include <stdio.h>int main() {int day = 3;switch (day) {case 1:printf("今天是星期一\n");break;case 2:printf("今天是星期二\n");break;case 3:printf("今天是星期三\n");break;default:printf("不是有效的星期数\n");}return 0;
}
// 运行结果:
// 今天是星期三

        在switch语句中,每个case表示一种可能的情况,break用于跳出switch语句,default表示所有case都不匹配时执行的代码。

循环语句(for、while、do-while)

        循环语句允许重复执行某段代码,直到满足指定条件。C语言中有三种主要的循环结构:forwhiledo-while

        for 循环:适用于已知循环次数的情况。

#include <stdio.h>int main() {for (int i = 0; i < 5; i++) {printf("这是第 %d 次循环\n", i+1);}return 0;
}
// 运行结果:
// 这是第 1 次循环
// 这是第 2 次循环
// 这是第 3 次循环
// 这是第 4 次循环
// 这是第 5 次循环

while 循环:适用于条件控制的循环,条件为真时执行循环体。

#include <stdio.h>int main() {int count = 0;while (count < 5) {printf("count 现在是 %d\n", count);count++;}return 0;
}
// 运行结果:
// count 现在是 0
// count 现在是 1
// count 现在是 2
// count 现在是 3
// count 现在是 4

do-while 循环:至少执行一次循环体,之后在条件为真时继续执行。

#include <stdio.h>int main() {int count = 0;do {printf("count 现在是 %d\n", count);count++;} while (count < 5);return 0;
}
// 运行结果:
// count 现在是 0
// count 现在是 1
// count 现在是 2
// count 现在是 3
// count 现在是 4

do-while循环与while循环的区别在于,无论条件是否为真,do-while循环都会执行一次循环体。

跳转语句(break、continue、return)

        跳转语句用于改变循环的正常执行流程。C语言中常见的跳转语句包括breakcontinuereturn

        break:立即终止循环或switch语句,跳转到循环或switch后的下一条语句。

#include <stdio.h>int main() {for (int i = 0; i < 10; i++) {if (i == 5) {break;  // 当i等于5时,跳出循环}printf("i: %d\n", i);}return 0;
}
// 运行结果:
// i: 0
// i: 1
// i: 2
// i: 3
// i: 4

continue:跳过本次循环的剩余部分,立即进入下一次循环迭代。

#include <stdio.h>int main() {for (int i = 0; i < 10; i++) {if (i % 2 == 0) {continue;  // 跳过偶数的打印}printf("i: %d\n", i);}return 0;
}
// 运行结果:
// i: 1
// i: 3
// i: 5
// i: 7
// i: 9

return:用于结束函数的执行,并可选地返回一个值。

#include <stdio.h>int checkEven(int num) {if (num % 2 == 0) {return 1;  // 返回1表示偶数}return 0;  // 返回0表示奇数
}int main() {int result = checkEven(4);if (result) {printf("4 是偶数\n");} else {printf("4 是奇数\n");}return 0;
}
// 运行结果:
// 4 是偶数

return语句不仅结束函数的执行,还可以将一个值返回给调用该函数的地方。

总结:

        本章介绍了C语言中控制程序执行流程的几种重要结构:条件语句、循环语句以及跳转语句。掌握这些控制结构能够帮助你编写具有灵活逻辑和高效执行的程序。

这篇关于【快速上手C语言】第四章:控制结构——掌控程序的执行流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090802

相关文章

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Spring Bean初始化及@PostConstruc执行顺序示例详解

《SpringBean初始化及@PostConstruc执行顺序示例详解》本文给大家介绍SpringBean初始化及@PostConstruc执行顺序,本文通过实例代码给大家介绍的非常详细,对大家的... 目录1. Bean初始化执行顺序2. 成员变量初始化顺序2.1 普通Java类(非Spring环境)(

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

如何在Java Spring实现异步执行(详细篇)

《如何在JavaSpring实现异步执行(详细篇)》Spring框架通过@Async、Executor等实现异步执行,提升系统性能与响应速度,支持自定义线程池管理并发,本文给大家介绍如何在Sprin... 目录前言1. 使用 @Async 实现异步执行1.1 启用异步执行支持1.2 创建异步方法1.3 调用

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

使用Go实现文件复制的完整流程

《使用Go实现文件复制的完整流程》本案例将实现一个实用的文件操作工具:将一个文件的内容完整复制到另一个文件中,这是文件处理中的常见任务,比如配置文件备份、日志迁移、用户上传文件转存等,文中通过代码示例... 目录案例说明涉及China编程知识点示例代码代码解析示例运行练习扩展小结案例说明我们将通过标准库 os