欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

C语言中的常量

时间:2023-04-28

目录

字面常量

宏常量

const常量 


字面常量

字面常量指直接在源代码中输入的值,分为以下4中:

(1)整型常量,如:27、100、043、0x3A;

(2)浮点常量,如:1.23、234.567E4;

(3)字符常量,如:'a','2','n';

(4)字符串常量,如:'c program'。

C语言支持的整型字面常量由十进制、八进制和十六进制。八进制常量以前缀'0'开头,如071,为八进制数,对应十进制数为57。十六进制常量以前缀'0x'开头,如0x3A,为八进制数,对应十进制数为58.

宏常量

宏常量指为使程序便于阅读和修改,给程序中经常使用的常量定义一个有一定含义的名字,常量用于定义具有以下特点的数据:

(1)在程序中保持不变;

(2)在程序内部频繁使用;

(3)需要用比较简单的方式替代某些值;

(4)防止意外的修改,增强程序的健壮性。

宏常量定义格式:

#define 标识符常量 替换文本 例如:#define PI 3.1415926

 #define语句不以分号结尾,可以位于源代码的任何位置,它定义的常量只在后面的源代码中有效。

#define的作用:命令编译器将源代码中所有标识符常量替换为替换文本。

const常量 

const常量与变量定义类型相似,加上const修饰,告诉编译器,它的值是固定的,不能被改变,编译器会帮你检查、监督。 

定义const常量,常用到关键字const。例如:

const double PI = 3.1415926;

相比于#define的优点,由于const定义的常量只是给出了对应的内存地址,而不是像#define给出的是替换文本,所以const定义的常量在程序运行过程中只有一份副本,而#define定义的常量 在内存中有若干份副本。

 例如求圆柱体体积:

#include #define PI 3.1415926 //或者const double PI 3.1415926int main(){ double v,r,h; scanf("%lf %lf",&r,&h); v = PI * r * r * h; printf("v=%fn",v); return 0;}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。