分支和循环

在C语言中,分支和循环是控制程序流程的基本结构。以下是对C语言中分支和循环语句的详细讲解。

分支语句

分支语句允许程序根据条件改变执行路径。C语言中主要有两种分支语句:if 语句和 switch 语句。

1. if 语句

if 语句是最常用的分支语句之一。它的基本语法如下:

 

c

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

  • 单分支 if:当条件为真时,只执行 if 语句块中的代码。
  • 双分支 if:当条件为真时,执行 if 语句块中的代码;否则,执行 else 语句块中的代码。

还可以使用 else if 来处理多个条件:

 

c

if (条件1) { // 条件1为真时执行的代码 } else if (条件2) { // 条件2为真时执行的代码 } else { // 所有条件都不为真时执行的代码 }

2. switch 语句

switch 语句用于根据一个变量的值选择不同的执行路径。它的基本语法如下:

 

c

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

  • case 标签:每个 case 标签对应一个值。如果变量的值与某个 case 标签的值相等,程序会执行该 case 标签后面的代码。
  • default 标签:如果变量的值不匹配任何 case 标签,程序会执行 default 标签后面的代码。
  • break 语句:用于终止 switch 语句的执行。如果没有 break,程序会继续执行下一个 case 的代码,这称为“穿透”(fall-through)。

循环语句

循环语句允许程序重复执行一段代码。C语言中主要有两种循环语句:for 循环和 while 循环。

1. for 循环

for 循环是一种计数器循环,它的基本语法如下:

 

c

for (初始化表达式; 条件表达式; 更新表达式) { // 循环体 }

  • 初始化表达式:在循环开始前执行一次,通常用于初始化计数器。
  • 条件表达式:在每次循环开始前检查。如果条件为真,执行循环体;如果条件为假,循环结束。
  • 更新表达式:在每次循环结束后执行,通常用于更新计数器。
2. while 循环

while 循环是一种前测试循环,它的基本语法如下:

 

c

while (条件表达式) { // 循环体 }

  • 条件表达式:在每次循环开始前检查。如果条件为真,执行循环体;如果条件为假,循环结束。
3. do-while 循环

do-while 循环是一种后测试循环,它的基本语法如下:

 

c

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

  • 条件表达式:在每次循环结束后检查。如果条件为真,继续执行循环体;如果条件为假,循环结束。

示例

以下是一些示例代码,展示如何使用这些控制结构:

 

c

#include <stdio.h> int main() { int a = 5; if (a > 10) { printf("a is greater than 10\n"); } else if (a > 5) { printf("a is greater than 5\n"); } else { printf("a is less than or equal to 5\n"); } switch (a) { case 5: printf("a is 5\n"); break; case 10: printf("a is 10\n"); break; default: printf("a is not 5 or 10\n"); } for (int i = 0; i < 5; i++) { printf("i is %d\n", i); } while (a > 0) { printf("a is %d\n", a); a--; } do { printf("a is %d\n", a); a++; } while (a < 0); return 0; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值