C语言合法常量
a)合法,小数常量:数字序列
可选
.
数字序列
b)
01a
a不合法,并不代表字符’a’
c)
.e5
不合法.c语言语法规定,字母e或e之前必须要有数字,且e或e后面的指数必须为整数
d)’\082’
不合法,’\0xx’代表8进制转义字符,既然是8进制,不能出现数字8
(long)123为什么不能用作C语言常量?
123可以作为整数常量,但默认是int型,除非数字范围超出unsigned int编译器才会使用long处理。
想要指定使用long处理123,要在数字末尾加’L’或者’l’,写作123L。
正确的C语言常量是什么?
正确的C语言常量是指针常量。
在除了‘C/C++’的一些高级程序语言中,‘常量’可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。
但在 ‘C/C++语言中’,‘常量’如果还用‘运行过程中不变的量’来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。在 ‘C/C++’中,常量实质是‘指针常量’,虽然其看起来‘符合常量的概念’,但是在实际运行中,其值或地址值是会发生变化的。
扩展资料:
C语言常量只要const位于指针声明操作符右侧,就表明声明的对象是一个常量,且它的内容是一个指针,也就是一个地址,并且在声明的时候一定要给它赋初始值。一旦赋值,以后这个常量再也不能指向别的地址。
C语言常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也就是说C语言常量可以被赋值为变量的地址,只是限制了通过这个指针修改变量的值。
C语言里的常量只有数字常量吗
C语言中的数值常量可以简单的分为如下两种整型常量和浮点数常量:
一. 整型常量 如6,27,-299
在 C 语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制整型常量三种表示形式。
(1)十进制整型常量
这种常量只能出现 0~9 的数字,且可带正、负号。例如:
0 1 364 28 -34
第 2 章 基本数据类型 •29•
(2)八进制整型常量
这种常量是以数字 0 开头的八进制数字串。其中数字为 0~7。例如:
0111(十进制 73) 011(十进制 9) 0123(十进制 83)
(3)十六进制整型常量
这种常量是以 0x或 0X开头的十六进制数字串。其中每个数字可以是 0~9、a~f或 A~
F 中的数字或英文字母。例如:
0x11(十进制 17) 0Xa5(十进制 165) 0x5a(十进制 90)
二. 浮点型常量 如5.43,-2.3,5.67f
实型常量有两种表示形式:一种是十进制小数形式,另一种是指数形式。
(1)十进制小数形式
十进制小数形式为包含一个小数点的十进制数字串。
此类实型常量小数点前或后可以没有数字,但不能同时没有数字。例如:
3.14159, .89, 56.0, 78., -3.0, 0.0
(2)指数形式
指数形式的格式由两部分组成:十进制小数形式或十进制整型常量部分和指数部分。
其中指数部分是在 e 或 E(相当于数学中幂底数 10)后跟整数阶码(即可带符号的整数指
数)。例如:
1e15 //表示数值 1×10
15
0.35e+1 //表示数值 0.35×10
1
78e-1 //表示数值 78×10
-1
下面是不正确的实型常量。
e15 //缺少十进制小数部分
0.35e //缺少阶码
78e-1.2 //不是整数阶码