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

【C语言】(9)分支结构

一.if-else 语句

if-else 适用于简单和复杂的条件判断。

a. 基本 if 语句

  • 用途:基本的条件测试。
  • 语法
    if (condition) {// 代码块
    }
    
  • 示例
    if (score > 60) {printf("及格\n");
    }
    

b. if-else 语句

  • 用途:二选一的条件判断。
  • 语法
    if (condition) {// 条件为真时的代码
    } else {// 条件为假时的代码
    }
    
  • 示例
    if (age >= 18) {printf("成年\n");
    } else {printf("未成年\n");
    }
    

c. if-else if-else 语句

  • 用途:处理多个条件。
  • 语法
    if (condition1) {// 第一个条件的代码
    } else if (condition2) {// 第二个条件的代码
    } else {// 所有条件都不满足时的代码
    }
    
  • 示例
    if (score >= 90) {printf("优秀\n");
    } else if (score >= 60) {printf("及格\n");
    } else {printf("不及格\n");
    }
    

d. 嵌套 if 语句

  • 用途:处理更复杂的条件。
  • 语法
    if (condition1) {if (condition2) {// 条件1和条件2都满足时的代码}
    }
    
  • 示例
    if (isLoggedIn) {if (userRole == "admin") {printf("管理员登录\n");}
    }
    

二.switch 语句

switch 适用于多选一的情况,尤其是一个变量有多个特定值的情况。

a. 基本 switch 语句

  • 用途:基于单个变量的多值判断。
  • 语法
    switch (variable) {case value1:// value1 对应的代码break;case value2:// value2 对应的代码break;// 更多 casedefault:// 没有匹配 case 时的代码
    }
    
  • 示例
    switch (grade) {case 'A':printf("优秀\n");break;case 'B':printf("良好\n");break;default:printf("其他\n");
    }
    

b. switch-case 的组合

  • 用途:处理相同代码块的多个 case 值。
  • 语法
    switch (variable) {case value1:case value2:// value1 和 value2 的共享代码break;// 更多 case
    }
    
  • 示例
    switch (dayOfWeek) {case 1:case 7:printf("周末\n");break;default:printf("工作日\n");
    }
    

c. switch 的默认情况

  • 用途:处理未列出的其他情况。
  • 语法
    switch (variable) {// case 分支default:// 默认代码块
    }
    
  • 示例
    switch (direction) {case 'N':printf("北\n");break;default:printf("未知方向\n");
    }
    
http://www.lryc.cn/news/290396.html

相关文章:

  • Flink 集成 Debezium Confluent Avro ( format=debezium-avro-confluent )
  • R语言(数据导入,清洗,可视化,特征工程,建模)
  • springboot 整合 Activiti6
  • 微信小程序canvas画布实现直线自由缩放、移动功能
  • Cesium数据加载
  • 【C++历练之路】探秘C++三大利器之一——多态
  • 业务逐字稿
  • 微服务舞台上的“三步曲“:Spring Cloud 服务注册、服务发现与服务调用
  • 中间件
  • 4D毫米波雷达——ADCNet 原始雷达数据 目标检测与可行驶区域分割
  • 「优选算法刷题」:提莫攻击
  • 260:vue+openlayers 通过webgl方式加载矢量图层
  • Android 8.1 相关修改
  • EG-2121CA (晶体振荡器 低抖动表面声波(SAW)振荡器)
  • Django知识随笔
  • Facebook 广告帐户:多账号运营如何防止封号?
  • 酷开会员 | 用酷开系统点亮多彩休闲时刻
  • 分配土地(100%用例)C卷(JavaPythonC++Node.jsC语言)
  • 电源的纹波
  • 85.网游逆向分析与插件开发-物品使用-物品使用的逆向分析与C++代码的封装
  • JVM系列——垃圾收集器
  • 那些年与指针的情仇(二)---二级指针指针与数组的那点事函数指针
  • APPCRASH 文件管理器不停重启问题记录 (最后reinstall解决)以及重装后到底会怎样
  • 导出excel功能,前端的解决方案
  • 【lesson24】MySQL索引的理解
  • Oracle篇—分区索引的重建和管理(第三篇,总共五篇)
  • 前端大厂面试题探索编辑部——第一期
  • 图扑 HT UI 5.0 全新升级,开箱即用!
  • 数据结构----链表介绍、模拟实现链表、链表的使用
  • 微信小程序如何控制元素的显示和隐藏