switch语句中case后面的值必须是什么?_后端开发

switch语句中case后面的值必须是什么?_后端开发,第1张

变量的指针是指该变量的什么_后端开发

变量的指针是指该变量的地址。


在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。


指针变量的值就是某份数据的地址,这样的一份数据可以是数组、字符串、函数,也可以是另一个指针变量。


switch语句中case后面的值必须是常量。


因为switch语句中,会根据case标签后面的常量值,生成跳转表,只经过少数次数的比较,就可以跳到对应标签下面;如果允许变量,switch对于一个数据也只能从头到尾地进行比较,这就失去了意义。


switch语句中case后面的值必须是什么?_后端开发,第2张

switch语句中case后面的值必须是常量。


因为C语言中的 switch 不是 if 的替代品。


编译时会对 switch 进行优化,根据 case 标签后面的常量值,生成跳转表,只经过少数次数的比较,就可以跳到对应标签下面。


所以,标签也是不能重复的。


如果允许变量,switch 只能退化成跟一连串的 if else, 对于一个数据也只能从头到尾地进行比较,也就失去了 switch 的意义。


跳转表和逐个比较,这两种方式的复杂度差很多。


这也是 python 没有引入和 C 语言里面的 switch case 相对应的控制结构的一个原因。


C源程序中不能表示的数制是什么_后端开发

C源程序中不能表示的数制是二进制。


在C语言中,所有的数值型常量都带有符号,所以整型常量只区别整型和长整型两种形式。


整型常量和长整型常量均可用十进制、八进制、十六进制表示。


一般表达式:

switch (表达式)
{
    case 常量表达式1:    语句1
    case 常量表达式2:    语句2
       ┇
    case 常量表达式n:    语句n
    default:        语句n+1
}

switch 是“开关”的意思,它也是一种“选择”语句,但它的用法非常简单。


switch 是多分支选择语句。


说得通俗点,多分支就是多个 if。


从功能上说,switch 语句和 if 语句完全可以相互取代。


但从编程的角度,它们又各有各的特点,所以至今为止也不能说谁可以完全取代谁。



当嵌套的 if 比较少时(三个以内),用 if 编写程序会比较简洁。


但是当选择的分支比较多时,嵌套的 if 语句层数就会很多,导致程序冗长,可读性下降。


因此C语言提供 switch 语句来处理多分支选择。


所以 if 和 switch 可以说是分工明确的。


在很多大型的项目中,多分支选择的情况经常会遇到,所以 switch 语句用得还是比较多的。


推荐教程:《C语言》

以上就是switch语句中case后面的值必须是什么?的详细内容,更多请关注ki4网其它相关文章!

struct student在c语言中是什么意思?_后端开发

“struct student”在c语言中就是被命名为“student”的一个结构体类型名。


struct是C语言结构体类型的标识符;结构体支持把一组变量整合起来形成一个大的变量。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/561781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020-07-07
下一篇 2020-07-07

发表评论

登录后才能评论

评论列表(0条)

保存