
在C程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,直接常量是可以不经说明而直接引用的,而符号常量和变量则必须先定义后使用。
具体说明:
1、在程序执行过程中,其值不发生改变的量称为常量。
①直接常量
整型常量:12、0、-3;
实型常量:46、-123;
字符常量:‘a’、‘b’。
②符号常量
标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。
符号常量:用标示符代表一个常量。在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。
符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量其中#define也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令(在后面预处理程序中将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。
· 习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。
例31符号常量的使用。#define PRICE 30main(){ int num,total;num=10;total=num PRICE;printf(“total=%d”,total);}
· 用标识符代表一个常量,称为符号常量。
· 符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。
· 使用符号常量的好处是:
含义清楚;
能做到“一改全改”。
2、其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量定义必须放在变量使用之前。一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念。
1数值常量:例如 a = b + 5;,这里的5就是常量。在常量后加上恰当的后缀可以表示特定类型的常量,例如10f是float常量。不带后缀的浮点数默认类型为double。
2符号常量:用#define替换为数值常量,只存在于编译期。例如
#define A 5
定义了一个符号常量A,编译时预处理器会把这之后的A替换为5。
3const数据类型:
例如定义一个int常量:const int a = 5;,这里 a 为 const int 类型。类型有const修饰时,编译器会对修改此数据的行为视为编译错误。因此把const数据作为常量使用。
另外还有字符/字符串字面量:类似'a'或"aaa"的字符/字符串为字面量。字面量在C语言中不是常量(在C++中是常量),因为C语言标准中定义了修改其中内容的 *** 作为“未定义行为”,修改 *** 作可能引起不确定的后果。如果约定不用指针等方式修改其中内容,可以把字面量当做常量使用。用前置的const修饰指针,可以限制指针修改其中内容,例如const char str = "aa";,指针str指向的内容无法通过str修改,可以把str指向的内容视作常量字符串。用#define替换得到的字面量是匿名的,也可以当做常量使用。
====
[原创回答团]
1数值常量:例如 a = b + 5;,这里的5就是常量。在常量后加上恰当的后缀可以表示特定类型的常量,例如10f是float常量。不带后缀的浮点数默认类型为double。
2符号常量:用#define替换为数值常量,只存在于编译期。例如
#define A 5
定义了一个符号常量A,编译时预处理器会把这之后的A替换为5。
3const数据类型:
例如定义一个int常量:const int a = 5;,这里 a 为 const int 类型。类型有const修饰时,编译器会对修改此数据的行为视为编译错误。因此把const数据作为常量使用。
另外还有字符/字符串字面量:类似'a'或"aaa"的字符/字符串为字面量。字面量在C语言中不是常量(在C++中是常量),因为C语言标准中定义了修改其中内容的 *** 作为“未定义行为”,修改 *** 作可能引起不确定的后果。如果约定不用指针等方式修改其中内容,可以把字面量当做常量使用。用前置的const修饰指针,可以限制指针修改其中内容,例如const char str = "aa";,指针str指向的内容无法通过str修改,可以把str指向的内容视作常量字符串。用#define替换得到的字面量是匿名的,也可以当做常量使用。
====
[原创回答团]
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
常量的概念:常量是指在程序运行过程中,其值不能被改变的量。
C语言中常量:直接常量和符号常量。
直接常量是指直接用具体数据表达的一种形式,直接常量又分为整型常量、实型常量、字符常量和字符串常量;
符号常量则是指用C语言标识符定义的常量。
整型常量就是整常数,10进制数、8进制数和16进制数三种。如:10、012、0x0A
实型常量也叫做浮点型常量。
字符型常量必须用单引号括起来。如:'M' , '\n'
字符串常量应用双引号括起来。
符号常量可以用宏定义表示也可以用const关键字表征。
扩展资料:
常量有整型常量、浮点型常量、字符型常量及字符串常量。 ‘
常量定义是指定义符号常量,用一个标识符来代表一个常量,通过宏定义预处理指令来实现。
格式:#define标识符常量
由用户命名的标识符是符号常量名。作为符号常量名,一般大写。一旦定义,在程序中凡是出现常量的地方均可用符号常量名来代替。
对使用了符号常量的程序在编译前会以实际常量替代符号常量。
常量是在程序运行过程中不能改变值的量,而变量是可以在程序运行过程中不断变化的量。变量的定义可以使用所有C51编译器支持的数据类型,而常量的数据类型只有整型、浮点型、字符型、字符串型和位标量。
常量的概念:常量是指在程序运行过程中,其值不能被改变的量。
C语言中常量:直接常量和符号常量。
直接常量是指直接用具体数据表达的一种形式,直接常量又分为整型常量、实型常量、字符常量和字符串常量;
符号常量则是指用C语言标识符定义的常量。
整型常量就是整常数,10进制数、8进制数和16进制数三种。如:10、012、0x0A
实型常量也叫做浮点型常量。
字符型常量必须用单引号括起来。如:'M' , '\n'
字符串常量应用双引号括起来。
符号常量可以用宏定义表示也可以用const关键字表征。
扩展资料:
常量有整型常量、浮点型常量、字符型常量及字符串常量。 ‘
常量定义是指定义符号常量,用一个标识符来代表一个常量,通过宏定义预处理指令来实现。
格式:#define标识符常量
由用户命名的标识符是符号常量名。作为符号常量名,一般大写。一旦定义,在程序中凡是出现常量的地方均可用符号常量名来代替。
对使用了符号常量的程序在编译前会以实际常量替代符号常量。
参考资料:百度百科-常量
常量和变量是放在不同的"段"(section)里,程序一旦加载,常量/变量自然都在内存里。
在程序的运行过程中,把需要处理的数据存放在内存储器中,称始终保持不变的数据为“常量”,称存放可变数据的存储器单元为“变量”,其中的数据称为变量的值。
整数是以补码的形式转换为二进制代码存储在计算机中。
实数是以IEEE754标准转回换为二进制代答码存储在计算机中。
字符本质实际也与整数的存储方式相同(先通过ASCII码把字符转换为对应的整数,再按整数以补码形式转换为二进制)。
扩展资料:
在除了‘C/C++’的一些高级程序语言中,‘常量’可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。
但在 ‘C/C++语言中’,‘常量’如果还用‘运行过程中不变的量’来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。在 ‘C/C++’中,定义‘指针常量’时,根据‘const ’的位置的不同,可以定义出几个不同的形式,虽然其看起来‘符合常量的概念’,但是在实际运行中,其值或地址值是会发生变化的。所以本质还不是‘常量概念’
参考资料来源:百度百科-常量
C语言定义常量常用的方法有以下2种:
第一种:宏定义
#define N 3 // 定义了一个常量为3的宏N,在程序中N就代表3
第二种:给变量初始化赋值
int a = 2; // 定义了一个int型变量,并赋值为2,其实这是用变量来定义常量
注:定义常量还是用宏定义的比较多。
以上就是关于C语言中变量与常量的概念是什么全部的内容,包括:C语言中变量与常量的概念是什么、在C程序中,怎么使用常量、程序中 常量的表示方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)