当前位置: 首页 > news >正文

C语言基础-分支语句(选择结构)

分支语句(选择结构)

一、什么是分支语句?

分支语句用于根据条件执行不同的代码路径,是 C 语言中实现条件判断和流程控制的基本结构。它使程序具备“选择性”,能根据不同情况做出不同的处理。

二、if 语句

基本语法:

if (条件表达式) {// 条件为真时执行的语句
}

示例:

int score = 85;
if (score >= 60) {printf("及格\n");
}

三、if-else 语句

语法格式:

if (条件) {// 条件为真
} else {// 条件为假
}

示例:

if (score >= 60) {printf("及格\n");
} else {printf("不及格\n");
}

四、if-else if-else 多分支结构

语法格式:

if (条件1) {// 条件1成立
} else if (条件2) {// 条件2成立
} else {// 都不成立
}

示例:

if (score >= 90) {printf("优秀\n");
} else if (score >= 75) {printf("良好\n");
} else if (score >= 60) {printf("及格\n");
} else {printf("不及格\n");
}

五、嵌套 if 语句

if 语句可以嵌套使用,用于处理更复杂的条件判断。

示例:

if (score >= 60) {if (score >= 90) {printf("优秀\n");} else {printf("及格但不优秀\n");}
} else {printf("不及格\n");
}

六、switch 多分支语句

语法格式:

switch (表达式) {case 常量1:// 执行语句break;case 常量2:// 执行语句break;...default:// 所有 case 都不匹配时执行
}

示例:

int day = 3;switch (day) {case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;default:printf("未知日期\n");
}

特点说明:

  • switch 表达式只能是整型或字符型
  • case 后面只能是常量(不能是变量或表达式);
  • break 用于跳出 switch 结构;
  • default 是可选的,但建议添加。

八、练习示例

判断一个整数是正数、负数还是零

#include <stdio.h>int main(void) {int num;printf("请输入一个整数:");scanf("%d", &num);if (num > 0) {printf("正数\n");} else if (num < 0) {printf("负数\n");} else {printf("零\n");}return 0;
}
http://www.vanclimg.com/news/2725.html

相关文章:

  • 4.5.5 流水线冒险
  • 记忆排列题目分析
  • ZhengRuiOI 题目整理
  • python deepcopy
  • 我这博客也太唐了
  • 实用指南:图论基本算法
  • python 队列的使用
  • Java核心类——4.包装类型
  • BSC链验证者添加完整流程详解:从StakeHub到Snapshot的完整链路 - 若
  • Windows操作开机启动BAT文件
  • 千万
  • 仿射变换
  • 伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 02 - Rainbow
  • 【IEEE冠名、香港中文大学(深圳)主办】第五届IEEE能源工程与电力系统国际学术会议(IEEE-EEPS 2025)
  • 【学习笔记】高等数学
  • ECS中实现Nginx四层和七层负载均衡以及ALB/NLB实现负载均衡
  • spring boot 日志增加 Trace Id (异步、任务都能支持)
  • 图像生成-Continuous Normalizing Flows(NFs)连续归一化流-07 - jack
  • 酵母文库:探索基因奥秘的有力工具
  • 【欧拉路】学习笔记
  • kafka 日志存储与查询
  • 基于MATLAB的不规则波下结构物波浪力计算
  • Slope Trick
  • ASP.NET WebForms调用ASMX的WebService接口
  • 透视畸变和单应性变换
  • JavaScript中的数据类型以及存储上的差别
  • webstorm关于git很慢的处理
  • 手工测试向左,测试开发向右
  • 设计汽车集群电源 - 详解
  • kafka rocketmq 零拷贝