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

相关文章

将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:带

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用