【C/C++】常量和符号常量

常量:在程序执行过程中,其值不发生改变的量称为常量。
符号常量:用标示符代表一个常量。在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。

符号常量在使用之前必须先定义,其一般形式为:

#define 标识符 常量

其中#define也是一条预处理命令(预处理命令都以”#”开头),称为宏定义命令(在后面预处理程序中将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。

习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

符号常量的使用:

#define PRICE 30 /*符号常量*/
void main()
{
     int num,total;
     num=10;
     total=num* PRICE;
     printf(“total=%d”,total);
}

用标识符代表一个常量,称为符号常量。
符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。

使用符号常量的好处是:

含义清楚;
能做到“一改全改”。

再来说说变量

其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量定义必须放在变量使用之前。一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念。

时间: 2024-08-07 23:46:48

【C/C++】常量和符号常量的相关文章

C++常量(C++数值常量、字符串常量、符号常量)

http://see.xidian.edu.cn/cpp/biancheng/view/104.html 字符串常量 用双撇号括起来的部分就是字符串常量,如"abc","Hello!","a+b","Li ping"都是字符串常量.字符串常量"abc"在内存中占4个字节(而不是3个字节),见图2.5. 图 2.5 编译系统会在字符串最后自动加一个'\0'作为字符串结束标志.但'\0'并不是字符串的一部分,它

常量指针,指针常量,C++类型转换[转]

一.const应用 1.const关键字,他后面内容的不可修改,一般来说,其修饰的变量不可再进行赋值操作: 2.常量指针 int a = 3: int b = 4: const int* pt = &a: a = 5: *pt的值为5,pt只是一个指针,所以他指向的是a的内容,const限制的是*pt,所以,只是不能通过*pt修改其指向的内存内容. 3.指针常量:int* const a = pt;由于不可再进行赋值操作,所以指针常量在声明时必须赋值: 相关文章: 一.常指针与指针常量的区别?

#define与const定义常量的区别

首先,#define 宏定义,使用方法如下: 1 #define PI 3.14159 2 3 #define MAX(a,b) a>=b?a:b const使用方法 const [常量类型] 符号常量名=表达式;,如果在定义时缺省“常量类型”,则默认为int类型.如下: 1 const double PI = 3.14159; 2 const TEST = 2; 下边通过例子来说明两者之间的区别: 首先#define, T2的值病不是想象中的0而是10,因为宏展开时知识简单的替换,T2被展开为

C/C++文字常量与常变量的概念与区别

以下代码使用平台是Windows 64bits+VS2012. 在C/C++编程时,经常遇到以下几个概念:常量.文字常量.符号常量.字面常量.常变量.字符串常量和字符常量,网上博客资料也是千篇千律,不尽相同,弄得大家云里雾里.本文将尝试为大家捋清楚以上易混淆概念的定义,关系和区别. 常量指值不可改变的量.在C/C++中常量分为两种:文字常量(Literal constant)和常变量(constant variable). 文字常量和常变量的本质区别:文字常量编译之后存储在代码区,不可寻址,常变

Java中的常量和常量的表现形式及进制的转换

1.常量 在程序执行的过程中,其值不发生改变的量. 分类: (1) 字面值常量 字符串常量:用双引号括起来内容 字符常量:用单引号括起来的内容 整数常量:所有整数 小数常量:所有小数 布尔常量:true 或 false 空常量: null (2) 自定义常量(符号常量) 用final修饰变量(也就是常量) 2.常量的表现形式 Java针对整数常量提供了4种表现形式: 二进制 八进制 十进制 十六进制 3.进制的概述: 进制就是进位制,是人们规定的一种进位方法.几进制就是逢几进一. 计算机的电子原

java面试题大全

java面试笔试题大汇总     第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 这个问得很少. 第五,HashMap和Hashtable的区

JAVA随笔记录

面向对象 对象是类的蓝图 类是对象的实例 万物皆对象,对象因关注而产生 特征: 分装: 继承: 多态: 抽象: 引用数据类 基本数据类型和引用数据类型的区别 基本数据类型的值放在变量中 引用数据类型的值放在对象(String)中,变量名(s)中存的是引用,指向对象 JAVA程序的运行过程 1.源文件(.JAVA): 2.通过编译器编译成字节码(.class)文件: 3.运行: 4.把.class通过类加载器加载: 5.解释器解释代码(JAVA跨平台的原因): 6.os 常量氛分为数据常量和符号常

C语言基础--数据类型

数据类型 以下只是个人学习的笔记,由于我也是刚接触,所以有可能有错误,如有错误,请指出 1.编程规范 代码缩进:统一采用缩进4个字符,不能用空格,用Tab键制表位 常量.变量命名:常量命名统一大写格式,成员变量以m_开始,普通变量以实际意义相关的名称,在前面添加类型的首字母,并且名称的首字母要求大写,指针要为其标示符前加p字符,并且名称首字母大写 函数的命名:函数的命名要求首字母大写,后面的字母大小写混写 注释:要求写注释代码,如果注释与代码处于一行,则注释应位于代码右方,如果连续出现多行注释,

第一课 C语言简明教程

1序言: 1与Java.C#等高级语言相比,C语言却非常简单,学习简单,使用也简单,但是也非常重要,到目前为止基本上操作系统的内核代码超过百分之九十使用C语言完成,因此学好C语言是学好计算机这门课程的基础,特别是进入系统编程尤为明显. 今天是本人复习C语言课程的第一课,主要重新记录一下C语言的基础知识,这节课涉及到C语言的结构.变量以及类型.输入输出.条件判断以及循环知识. 2知识点: 2.1 C语言的结构 2.1.1 通常情况下C语言程序是由: 1.相关的代码注释,使用/* ··· */可注释