常量与符号常量
发布日期:2021-07-01 04:36:46 浏览次数:2 分类:技术文章

本文共 1776 字,大约阅读时间需要 5 分钟。

       通过“数学中的变量与常量”章节的介绍,我们知道了常量的定义,就是其数据不可以修改的量。例如100这个数值,它的数值就是100,不可以改变,所以,称为常量,可以称为:常量100。

那么,在C语言中定义的数据包括有数值(整数,浮点数),字符等等。其内容不可改变的量,就称为常量,有:

  1. 100, 20, 30 这样的整数值,称为:整数型常量;
  2. 10.123, 3.14159 这样的浮点型数值,称为:浮点型类型常量;
  3. ‘A’, ‘B’, ‘c’, ‘#’, ‘%’ 这样的字符,称为:字符型常量;

所以,我们知道了C语言中定义的常量,就是其值不可以改变的量。例如,字符型常量’A’,它就是一个字符,它的值不可以改变,所以,是一个常量。

在“数学中的变量与常量”章节中,我们提到常量A,它是一个符号,代表100这个数值,那么,我们可以把它称为:符号常量。就是符号A代表常量数值100。

那么,在C语言中,也定义了“符号常量”,就是使用符号来表示一个常量。例如:

  1. 使用符号A来表示100这个数值;
  2. 使用符号name来表示’C’这个字符;

这些定义在C语言中使用 #define 来实现,定义的个数如下:

#define 常量符号 常量值

       例如:

#define A 100

就得定义了符号A表示100这个数值;

#define name ‘C’

就定义了符号name表示’C’这个字符;

       测试例子如下:

#include <stdio.h>            //包含头文件, 为了使用printf()函数;

#define A 100                   //定义符号常量A, 代表100数值;

#define name 'C'               //定义符号常量name, 代表字符'C'

int main()                           //定义程序的主函数, 就是程序的入口地址;

{                                        //主函数的开始标记;

       int x, y, z;     //定义int类型变量

       x = A;           //把字符常量A代表的值赋给变量x;

       y = A;           //把字符常量A代表的值赋给变量y;

       z = A;           //把字符常量A代表的值赋给变量z;

       printf("A = %d\n", A);      //输出字符常量A代表的值

       printf("x = %d, y = %d, z = %d\n", x, y, z);

       printf("name = %c\n", name);  //输出字符常量name代表的值

       return 0;                      //返回结束状态;

}                                        //主函数的结束标记;

 

       程序运行的结果如下:

mylinux@ubuntu:~/src/test$ gcc test.c -o exe

mylinux@ubuntu:~/src/test$ ./exe

A = 100

x = 100, y = 100, z = 100

name = C

       可以看到,通过#define关键字,我们定义了符号A表示100这个数值,符号name表示’C’这个数值。

       但是,符号A是一个符号常量,它的数值不可以改变,如下是一个测试例子。

#include <stdio.h>            //包含头文件, 为了使用printf()函数;

#define A 100                   //定义符号常量A, 代表100数值;

#define name 'C'               //定义符号常量name, 代表字符'C'

int main()                           //定义程序的主函数, 就是程序的入口地址;

{                                        //主函数的开始标记;

       A = 200;                     //修改符号常量A的值为200;

       printf("A = %d\n", A);      //输出字符常量A代表的值

       return 0;                      //返回结束状态;

}                                        //主函数的结束标记;

 

       编译的结果如下:

mylinux@ubuntu:~/src/test$ gcc test.c -o exe

test.c: In function ‘main’:

test.c:6: error: lvalue required as left operand of assignment

       可以看到,修改符号常量A的值,编译会报异常,提示错误。同理,name符号常量的值也不可以修改。

更多的交流可以加QQ:1523520001,微信:13926572996,备注:linux编程;

学习、分享更多的linux C/C++ 编程知识。

转载地址:https://mylinux.blog.csdn.net/article/details/89204661 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:符号常量的优点
下一篇:有符号数的符号位扩展

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月12日 01时04分32秒