按照标准c,case之后的常量只能是整型类的常量,比如int,char,enum等等。如果是小数,可以考虑使用if语句或者尝试将小数乘以10的倍数,分成不同的段。
static_cast在c中用于将表达式的值转换为指定的类型,但没有运行时类型检查来确保转换的安全性。
主要有以下用法:
(1)用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。
(2)用于基本数据类型之间的转换,比如将int转换成char,将int转换成enum。这种转换的安全性也应该由开发人员来保证。
(3)将空指针转换为目标类型的空指针。
(4)将任意类型的表达式转换为void类型。
note:staticconversioncannotconvertconstants,instabilities,or__misalignedattributes.
c语言源程序由数据类型、常量和变量、数组、指针、字符串、文件输入/输出和操作组成。
1.数据类型
c的数据类型包括整型、字符型、实数型或浮点型(单精度和双精度)、枚举型、数组型、结构型、常用体型、指针型和空型。
2.常量和变量
常量有不可改变的值,符号常量名通常大写。
变量是一个量,它的值可以在标识符的名字下改变。标识符是以字母或下划线开头的一系列字母、数字或下划线。请注意,第一个字符必须是字母或下划线,否则是非法变量名。变量在编译时被分配相应的存储单元。
3.排列
如果变量名后跟一个数字括号,则该声明是一个数组声明。字符串也是数组。他们以asciinull结束数组。需要注意的是,方括号中的索引值是从0开始计数的。
4.指针
如果声明的变量前面有一个*号,表明它是一个指针变量。换句话说,变量存储的是一个地址,和*(特指单目算子*这里,下同。c语言还有一个双目运算符*)是内容运算符,意思是取这个内存地址。中存储的内容。指针是c语言区别于当代其他高级语言的主要特征之一。
指针不仅可以是变量的地址,也可以是数组、数组元素和函数的地址。指针可以作为形参在函数的调用过程中获得多个返回值,不像return(z)只能获得一个返回值。
指针是一把双刃剑,很多操作可以通过指针自然地表达出来,但是不正确或者过度使用指针会给程序带来很多潜在的错误。
5.线
c语言中的字符串实际上是以#390#39字符结尾的char数组。你不使用字符类型不需要参考库,但是需要c标准库中的一些函数来操作字符串。它们不同于字符数组。使用这些函数需要引用头。ltstring.hgt。
6.文件输入/输出
在c语言中,输入和输出是通过标准库中的一组函数实现的。在ansic中,这些函数是在头文件ltstdio.hgt中定义的;;中等。
7.操作
c语言的操作非常灵活,功能非常丰富,操作的类型远远多于其他编程语言。与其他编程语言相比,表达式更简洁,如自加、自减、逗号运算、三眼运算等,使表达式更简单,但初学者往往觉得这种表达式很难读懂。关键原因是对操作员和操作顺序的理解不完整。
当多种不同的运算组成一个运算表达式时,即一个表达式中有多个运算符时,运算的优先顺序和组合规则非常重要。