【快速上手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

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带