【摘要】:CASE语句是以一个多值表达式为条件表达式,依条件表达式的不同取值而执行不同的语句,实现程序流的多个分支,同一条件分支下的顺序语句可以有一条或多条。CASE 语句中的表达式值必须穷尽例举,且不能重复。该例子的原理图如图5.5所示。由此可以看出CASE语句的分支是没有优先级别的,所有条件判断都是并行处理的。显式进程内,用CASE语句所描述的行为,也可采用隐式进程,选择信号赋值语句描述。例5-15与例5-16的程序等价。
5.4.2 CASE语句
CASE语句是以一个多值表达式为条件表达式,依条件表达式的不同取值而执行不同的语句,实现程序流的多个分支,同一条件分支下的顺序语句可以有一条或多条。CASE语句的语法格式为:
CASE语句的所有分支都是同时判断的,当条件表达式满足条件1~n中的某一个时,就执行该条件所对应的顺序语句,若所有条件均不满足,则执行“WHEN OTHERS”对应的顺序语句。CASE 语句中的表达式值必须穷尽例举,且不能重复。不能穷尽的条件表达式的值用OTHERS表示。如例5-15所示。
【例5-15】多路选择器
该例子的原理图如图5.5所示。由此可以看出CASE语句的分支是没有优先级别的,所有条件判断都是并行处理的。
图5.5 多路选择器
显式进程内,用CASE语句所描述的行为,也可采用隐式进程,选择信号赋值语句描述。例5-15与例5-16的程序等价。
【例5-16】多路选择器
在CASE语句中,各条件分支中,若在多个条件表达式取值情况下,执行相同的操作,可以采用“|”将多个条件值分隔开来,写在同一个条件分支中,如例5-17中两个等价程序段落是等价的。
【例5-17】CASE语句的多值条件分支
若sel是整数类型,还可以等价为:
注意,只有条件表达式的值是整数或枚举类型的数,才可以采用这种形式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。