C语言中的switch case中的case后面仅可以跟整形常量或常量表达式。

原因:如果case后面跟 100>x>50是会出现逻辑错误的。

首先C语言中像100>x>50这种表达式的意义并不和数学里的一样表示x落在(50,100)这个区间。这个在C语言中100>x会先被计算得到真或假。直接用关系运算得到的真和假在C语言中就是1或0。而1或0是始终小于50的。这就导致这个表达式的值永远为零。

常量表达式:在计算机编程语言中,若一个表达式的值不能发生改变,则称之为常量表达式,如C++中有整型常量,字符常量,逻辑常量,实型常量,地址常量,符号常量,这些常量组成的表达式即为常数表达式。其中含有字符常量的常量表达式可称为字符常量表达式。

整型常量:整型常量就是通常的整数,包括正整数、负整数和0,其数据类型显然是整型。除此之外,整型常量包括短整型、长整型和无符号型等不同类型。