正确的C语言常量是什么?
正确的C语言常量是指针常量。
在除了‘C/C++’的一些高级程序语言中,‘常量’可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。
但在 ‘C/C++语言中’,‘常量’如果还用‘运行过程中不变的量’来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。在 ‘C/C++’中,常量实质是‘指针常量’,虽然其看起来‘符合常量的概念’,但是在实际运行中,其值或地址值是会发生变化的。
扩展资料:
C语言常量只要const位于指针声明操作符右侧,就表明声明的对象是一个常量,且它的内容是一个指针,也就是一个地址,并且在声明的时候一定要给它赋初始值。一旦赋值,以后这个常量再也不能指向别的地址。
C语言常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也就是说C语言常量可以被赋值为变量的地址,只是限制了通过这个指针修改变量的值。
C语言的常量有整数常量,实型常量,字符常量,符号常量等。
1、整数常量
整数常量是指直接实用的整形常数,又称整形常数或者整数,例如,1,-9等。整数常量可以是长整形、短整型、符号整型和无符号整型。
a)八进制数
八进制整数必须以0开头,即以0作为八进制数的前缀。数字取值范围为0—7.八进制数常是无符号数
b)十进制数
十进制数是不需要在其面前加前缀的。十进制数中包含的数字0—9组成。
c)十六进制数
常量前面使用0x作为前缀,表示该常量是用十六进制表示。十六进制中所包含的数字由0—9以及字母A—F组成(十六进制数中的字母可以使用A—F大写形式,也可以使用a—f小写形式。)
整数数据都以二进制的形式存储在计算机中,其数值以补码的形式表示。一个正数的补码与其原码形式相同,一个负数的补码是将该数绝对值的二进制形式按位取反再加1.
2、 实型常量
实型称浮点型,由整数和小数部分组成,其中用十进制的小数点隔开。表示实数的方式由科学计数和指数方式两种。
a)科学计数方式
科学计数方式就是使用十进制的小数方法进行描述实型
b)指数方式
若实数非常大或非常小,使用科学计数方式则不利于观察,此时可以使用指数方法显示实型变量。使用字母e或者E进行指数显示,如45e2表示4500,而45e-2表示的是0.45
在编写实型常量时,可以在常量的后面加上那个符号F或者L进行修饰。
F表示该常量是float单精度类型,L则表示该常量是为long double长双精度类型。
如果不在后面加上后缀,那么默认的状态下,实行常量为double双精度类型。
3、 字符型变量
字符型常量可以分为字符常量和字符串常量
a)字符常量
字符常量分为一般字符常量和特殊字符常量。
使用单撇号括起一个字符的形式即字符常量。使用字符常量需要注意以下几点:
字符常量只能用单撇号括起来, 不能使用单引号或其他括号。
字符常量中只能包括一个字符,不能是字符串。
字符常量是区分大小写的。
单撇号代表定界符,不属于字符常量中旳一部分。
单撇号里面可以是数字、字母等C语言字符集中除’和\以外所有可现实的单个字符,但是数字被定义为字符之后则不能参与数值运算。
特殊字符常量就是转义字符。转移字符是C语言中表示字符的一种特殊形式,其含义是将反斜杠后面的字符转换成另外的意义。
在使用注意字符时应注意:
转义字符只能使用小写字母,每个转义字符只能看成一个字符。
垂直制表符\v和换页符\f对屏幕没有任何影响,但会影响打印机执行响应操作。
在C语言程序中,使用不可打印字符时,通常用转义符表示。
如果反斜杠之后的字符和他不构成转移字符,则’\’不起转义作用,将被忽略。
b) 字符串常量
字符串常量是一对用双引号括起来的若干字符序列。字符串中字符的个数称为字符的长度,长度为0的字符串称为空串。
C语言中存储字符串常量时,系统会在字符串的末尾自动加一个’\0’作为字符串结束的标志。
4、 符号常量
在C语言中,通常将程序中的常量定义为一个标识符,这个常量就叫做符号常量。在使用符号常量之前必须先进行定义,大多数情况下,符号常量用大写英文字母表示。定义符号常量的一般形式:
#define 符号常量名 常量值
例:#define PI 3.14
例:#define PI 3.14