### 分支结构之简单if语句 ###
简单if语句的基本结构如下:
![](http://img.mukewang.com/548659da0001366201430091.jpg)
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。 其过程可表示为下图
![](http://img.mukewang.com/549cf202000188f802600278.jpg)
那么考试成绩如果为100分,给买玩具。用代码就可以表示为:
![](http://img.mukewang.com/5492bf580001092e03650076.jpg)
**注意:if()后面没有分号,直接写{}**
### 分支结构之简单if-else语句 ###
简单的if-else语句的基本结构如下:
![](http://img.mukewang.com/54866bf70001756a01630159.jpg)
其语义是:如果表达式的值为真,则执行代码块1,否则执行代码块2。其执行过程可表示为下图:
![](http://img.mukewang.com/549cf0ad000157f603260281.jpg)
那么考试成绩如果为100分,给买玩具,否则没有奖励。用代码可以表示为:
![](http://img.mukewang.com/5492bfa30001bc8903680151.jpg)
**注意:if()后面没有分号,直接写{},else后面也没有分号,直接写{}**
### 分支结构之多重if-else语句 ###
在C语言中就要用到多重if-else语句,其结构如下:
![](http://img.mukewang.com/548694d600018cdf01920272.jpg)
**其语义是:依次判断表达式的值,当出现某个值为真时,则执行对应代码块,否则执行代码块n。** if-else-if语句的执行过程如下图所示:
![](http://img.mukewang.com/549cf81d0001d6e205180223.jpg)
那么上面家长所说的,用代码实现如下:
![](http://img.mukewang.com/5492c06d000183c403260229.jpg)
**注意:当某一条件为真的时候,则不会向下执行该分支结构的其他语句。**
### 分支结构之嵌套if-else语句 ###
C语言中嵌套if-else语句。嵌套if-else语句的意思,就是在if-else语句中,再写if-else语句。其一般形式为:
![](http://img.mukewang.com/5486bce0000158c801820300.jpg)
其执行过程为:
![](http://img.mukewang.com/549d53f80001f45504430218.jpg)
代码
![](http://img.mukewang.com/5493d246000142c003400254.jpg)
运行结果: `吃大餐,买玩具 `
### 分支结构之switch语句 ###
C语言还提供了一种用于多分支选择的switch语句,switch语句结构如下
![](http://img.mukewang.com/5486da9c000111c503770132.jpg)
其执行顺序如下图:
![](http://img.mukewang.com/5486df250001d9e004790275.jpg)
例子代码实现:
![](http://img.mukewang.com/5493d3f00001e15c04440238.jpg)
在使用switch语句时还应注意以下几点:
* 1、在case后的**各常量表达式的值不能相同**,否则会出现错误。
* 2、在case子句后如果没有break;会一直往后执行一直到遇到break;才会跳出switch语句。
![](http://img.mukewang.com/5493d46200018f6604350214.jpg)
运行结果: `学英语学C语言好好休息 `
3、**switch后面的表达式语句只能是整型或者字符类型。**
4、**在case后,允许有多个语句,可以不用{}括起来。**
5、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
6、**default子句可以省略不用。**
- 前言
- JNI基础知识
- C语言知识点总结
- ①基本语法
- ②数据类型
- 枚举类型
- 自定义类型(类型定义)
- ③格式化输入输出
- printf函数
- scanf函数
- 编程规范
- ④变量和常量
- 局部变量和外部变量
- ⑤类型转换
- ⑥运算符
- ⑦结构语句
- 1、分支结构(选择语句)
- 2、循环结构
- 退出循环
- break语句
- continue语句
- goto语句
- ⑧函数
- 函数的定义和调用
- 参数
- 函数的返回值
- 递归函数
- 零起点学通C语言摘要
- 内部函数和外部函数
- 变量存储类别
- ⑨数组
- 指针
- 结构体
- 联合体(共用体)
- 预处理器
- 预处理器的工作原理
- 预处理指令
- 宏定义
- 简单的宏
- 带参数的宏
- 预定义宏
- 文件包含
- 条件编译
- 内存中的数据
- C语言读文件和写文件
- JNI知识点总结
- 前情回顾
- JNI规范
- jni开发
- jni开发中常见的错误
- JNI实战演练
- C++(CPP)在Android开发中的应用
- 掘金网友总结的音视频开发知识
- 音视频学习一、C 语言入门
- 1.程序结构
- 2. 基本语法
- 3. 数据类型
- 4. 变量
- 5. 常量
- 6. 存储类型关键字
- 7. 运算符
- 8. 判断
- 9. 循环
- 10. 函数
- 11. 作用域规则
- 12. 数组
- 13. 枚举
- 14. 指针
- 15. 函数指针与回调函数
- 16. 字符串
- 17. 结构体
- 18. 共用体
- 19. typedef
- 20. 输入 & 输出
- 21.文件读写
- 22. 预处理器
- 23.头文件
- 24. 强制类型转换
- 25. 错误处理
- 26. 递归
- 27. 可变参数
- 28. 内存管理
- 29. 命令行参数
- 总结
- 音视频学习二 、C++ 语言入门
- 1. 基本语法
- 2. C++ 关键字
- 3. 数据类型
- 4. 变量类型
- 5. 变量作用域
- 6. 常量
- 7. 修饰符类型
- 8. 存储类
- 9. 运算符
- 10. 循环
- 11. 判断
- 12. 函数
- 13. 数学运算
- 14. 数组
- 15. 字符串
- 16. 指针
- 17. 引用
- 18. 日期 & 时间
- 19. 输入输出
- 20. 数据结构
- 21. 类 & 对象
- 22. 继承
- 23. 重载运算符和重载函数
- 24. 多态
- 25. 数据封装
- 26. 接口(抽象类)
- 27. 文件和流
- 28. 异常处理
- 29. 动态内存
- 30. 命名空间
- 31. 预处理器
- 32. 多线程
- 总结
- 音视频学习 (三) JNI 从入门到掌握
- 音视频学习 (四) 交叉编译动态库、静态库的入门学习
- 音视频学习 (五) Shell 脚本入门
- 音视频学习 (六) 一键编译 32/64 位 FFmpeg 4.2.2
- 音视频学习 (七) 掌握音频基础知识并使用 AudioTrack、OpenSL ES 渲染 PCM 数据
- 音视频学习 (八) 掌握视频基础知识并使用 OpenGL ES 2.0 渲染 YUV 数据
- 音视频学习 (九) 从 0 ~ 1 开发一款 Android 端播放器(支持多协议网络拉流/本地文件)
- 音视频学习 (十) 基于 Nginx 搭建(rtmp、http)直播服务器
- 音视频学习 (十一) Android 端实现 rtmp 推流
- 音视频学习 (十二) 基于 FFmpeg + OpenSLES 实现音频万能播放器
- 音视频学习 (十三) Android 中通过 FFmpeg 命令对音视频编辑处理(已开源)