嵌入式系统学习Day5(流程控制)
表达式 必有结果 有类型C语言中表示真和假:用运算中注意符号优先级顺序,前四种运算符的优先级高于后两种。
一.关系运算
1.<
2.<=
3.>
4.>=
5.==
6.!=

表达式 必有结果 有类型
关系成立 --- 关系真
关系不成立 --- 关系假
C语言中表示真和假:
用
数值 1 表示真
数值 0 表示假
运算中注意符号优先级顺序,前四种运算符的优先级高于后两种。
二.逻辑运算
1. && 逻辑与
(相当于其他语言中的 AND)
2. || 逻辑或
(相当于其他语言中的 OR)
3. ! 逻辑非
(相当于其他语言中的 NOT)
5.3写出下面各逻辑表达式的值。设a=3,b=4,c=5。
(1) a+b>c && b==c //0 ((a+b)>c) && (b==c)
(2) a||b+c&&b-c //1 a||((b+c)&&(b-c))
(3) !(a>b) && !c ||1 //1 ((!(a>b)) && (!c)) || 1
(4) !(x=a) && (y=b) && 0 //0 ((!(x=a)) && (y=b)) && 0
(5) !(a+b)+c-1 && b+c/2 // 1 (((!(a+b))+c)-1) && (b+(c/2))
优先级顺序参考下表:(C程序设计(第三版) 谭浩强著)


三.if语句
1. if( 表达式)语句
if (表达式)
{
语句
}
语义:
判断 表达式 ?
真
执行 if 下面的语句
语句执行完 表示if语句结束,程序继续往下
假
表示if语句结束,程序继续往下
2. if( 表达式)语句 1
else 语句 2
语法:
if (表达式)
{
语句1
}else
{
语句2
}
语义:
判断表达式?
真
执行语句1
语句1执行 表示 if 语句结束,程序继续往下
假
执行语句2
语句2执行 表示 if 语句结束,程序继续往下
例如,要求比较xy的大小关系,可以用 ifelse语句实现:

3. if( 表达式 1) 语句 1
else if( 表达式 2)语旬 2
else if( 表达式 3) 语句 3
.......
else if( 表达式 m) 语句 m
else 语旬 n
语法:
if (表达式1)
{
语句1;
}else if (表达式2)
{
语句2;
}else if (表达式3)
{
语句3;
}
...
else
{
语句n;
}
语义:
首先 判断表达式1?
真
执行 语句1
语句1 执行完,表示if语句结束,程序继续往下
假
继续判断 表达式2
真
执行 语句2
语句2 执行完,表示if语句结束,程序继续往下
假
继续判断 表达式3
....
例如,要求按照考试成绩的等级输出百分制分数段,可以用 ifelse多级语句实现:

四.switch语句
语法:
switch (整型表达式)
{
case 整型常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
case 常量表达式3:
语句3;
break;
...
default:
语句n+1;
break;
}
语义:
求解 表达式?
得到一个结果
与下面 case 后的值 进行匹配
如果匹配上,
则执行对应 case 后的语句,
直到遇到 break 或者是 switch 的 } 则执行结束
例如,要求按照考试成绩的等级输出百分制分数段,可以用 switch语句实现:
最后一个分支(default)可以不加 break 语句。
多个 case 可以共用一组执行语句,例如:

grade 的值为'A或B'或'C'时都执行同一组语句。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)