前言
我主要是做工业自动化方面和物联网方面的。了解熟悉工业自动化领域的,也开发过物联网相关的产品。我的初衷是做工业物联网的,但这个系统太过于庞大。所以就先做小的系统,例如构建一整套智能家居系统,从硬件到软件全系列。下面就开始这套智能家居系统是如何在物联网基础上构建。在这里你可以0开始,然后到1质变,仅仅需要一起跟我学物联网系列的开发笔记的文章。
第五节物联网开发笔记——嵌入式开发之Linux系统中C语言数据类型
第六节物联网开发笔记——嵌入式开发之Linux系统中C语言常量
第七节物联网开发笔记——嵌入式开发之Linux系统中C语言变量
第八节物联网开发笔记——嵌入式开发之Linux系统中C运算符
第九节物联网开发笔记——嵌入式开发之Linux系统中输入输出
嵌入式开发学习C语言打下基础。本节介绍《Linux系统中C语言控制语句之分支语句》。
1、C语言的语句概述
1)C 语言提供了以下类型的分支判断语句。
分支判断语句
2)C 语言提供了以下类型的循环语句。
循环语句
还有一个goto做循环语句。
3)C 语言提供了以下类型的辅助控制语句。
辅助控制语句
还有一个return做辅助控制语句。
2、if语句
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
1)C 语言中 if 语句的语法:
if(boolean_expression)
{
/* 如果布尔表达式为真将执行的语句 */
}
如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。
2)branch/if.c例子
if.c例子
3、if-else语句
一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行。
1)C 语言中if-else语句的语法:
If(表达式)
语句块1
else
语句块2
如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。
2)常见形式:
A、简化形式:If(表达式)语句块
B、阶梯形式:
If(表达式1)语句块1
else if(表达式2)语句块2
else if(表达式3)语句块3
else if(表达式4)语句块4
......
else 语句块n
C、嵌套形式:
If
If语句块1
else 语句块2
else
If语句块3
else 语句块4
注:语句块为若干语句时,需要用{...}。
表达式:A、一般情况下为逻辑表达式或关系表达式。具体查看《嵌入式开发之Linux系统中C语言运算符》。B、表达式也可以是任意类型(包括整型、实型、字符型、指针类型),具体查看《嵌入式开发之Linux系统中C语言数据类型》。
3)branch/if-else.c例子
if-else.c例子
4)branch/if-score.c例子
if-score.c例子
4、Switch语句
1)C 语言中switch语句的语法:
switch(表达式)
{
case 常量表达式1:语句块1;break;
case 常量表达式2:语句块2;break;
...
default:语句块n+1;
}
2)Switch语句使用
A、每个常量的表达式的值必须各不相同,不然会出现矛盾;
B、当表达式的值与case语句后面常量表达式的值相等时,执行case后面语句块;
C、switch中表达式可以是整型、字符型表达式、枚举;
D、case常量只起到语句标号的作用;
E、break语句用于强行跳出switch体,default后break可以省略;
F、多个case,可以执行一组语句块。
3)branch/switch.c例子
switch.c例子
4)branch/switch2.c例子
switch2.c例子
5)branch/switch-score.c例子
switch-score.c例子
5、判断语句补充
1)C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。
2)在《嵌入式开发之Linux系统中C语言运算符》中条件运算符,其运算得一般表达式:
<表达式1>?<表达式2>:<表达式3>
等价于:
If(表达式1)
表达式2
else
表达式3
请大家关注点赞转发,谢谢!