2、C语言:控制流

控制流

语句:在表达式后面加上分号,构成语句。

程序块:用一对花括号"{"与"}"把一组声明和语句括在一起就构成了一个复合语句。复合语句在语法上等同于单条语句。

  1. if-else语句
  2. else-if语句:从上到下依次执行,等同于switch
c 复制代码
if(表达式)
	语句
else if(表达式)
	语句
else if(表达式)
	语句
else if(表达式)
	语句
else
	语句
  1. switch语句
c 复制代码
switch (表达式) {
	case 常量表达式: 语句序列
	case 常量表达式: 语句序列
	default: 语句序列}
  1. while循环和for循环
c 复制代码
while (表达式)
	语句
c 复制代码
for 循环语句;
for (表达式1; 表达式2; 表达式3)
	语句

等同于

c 复制代码
表达式 1;
while (表达式2) {
	语句
	表达式3;
}
  1. do-while循环
c 复制代码
do
	语句
while (表达式);
  1. break语句和continue语句

    break 语句可用于从for、while与do-while等循环中提前退出,就如同从switch语句中提前退出一样。break语句能使程序从switch语句或最内层循环中立即跳出。

    continue 语句用于使for、while 或do-while 语句开始下一次循环的执行。continue 语句只用于循环语句,不用于switch 语句。在while 与do-while语句中,continue 语句的执行意味着立即执行测试部分;在for 循环中,则意味着使控制转移到递增循环变量部分。

  2. goto语句与标号

    C语言提供了可随意滥用的goto语句以及标记跳转位置的标号。

    在某些场合下goto语句还是用得着的。最常见的用法是终止程序在某些深度嵌套的结构中的处理过程,例如一次跳出两层或多层循环。这种情况下使用break语句是不能达到目的的,它只能从最内层循环退出到上一级的循环。

c 复制代码
for ( ... )
	for ( ... ) {
		...
		if (disaster)
			goto error;
	}
	...
error:
/* clean up the mess */

大多数情况下,使用goto语句的程序段比不使用goto语句的程序段要难以理解和维护,少数情况除外,比如我们前面所举的几个例子。尽管该问题并不太严重,但我们还是建议尽可能少地使用goto语句。

相关推荐
im_AMBER1 天前
Leetcode 46
c语言·c++·笔记·学习·算法·leetcode
民乐团扒谱机1 天前
脉冲在克尔效应下的频谱展宽仿真:原理与 MATLAB 实现
开发语言·matlab·光电·非线性光学·克尔效应
yuan199971 天前
基于扩展卡尔曼滤波的电池荷电状态估算的MATLAB实现
开发语言·matlab
Tony Bai1 天前
Go GUI 开发的“绝境”与“破局”:2025 年现状与展望
开发语言·后端·golang
豆浆whisky1 天前
Go分布式追踪实战:从理论到OpenTelemetry集成|Go语言进阶(15)
开发语言·分布式·golang
2401_860494701 天前
Rust语言高级技巧 - RefCell 是另外一个提供了内部可变性的类型,Cell 类型没办法制造出直接指向内部数据的指针,为什么RefCell可以呢?
开发语言·rust·制造
Tony Bai1 天前
【Go模块构建与依赖管理】08 深入 Go Module Proxy 协议
开发语言·后端·golang
浪裡遊1 天前
Next.js路由系统
开发语言·前端·javascript·react.js·node.js·js
程序员-小李1 天前
基于 Python + OpenCV 的人脸识别系统开发实战
开发语言·python·opencv
QX_hao1 天前
【Go】--文件和目录的操作
开发语言·c++·golang