C Primer Plus 第4章 字符串和格式化输入输出--4.3 常量和预处理器
2016-05-11 00:00
330 查看
摘要: 4.3.1 const修饰符
4.3.2 系统定义的明显常量
如何建立一个符号常量呢?
一个方法是声明一个变量,并设置该变量等于所需的常量。但变量的值是有可能被意外改变的。
C原来就提供了一个更好的方法是C预处理器。
预处理器也允许定义常量。只须在程序文件的顶部添加如下信息即可:
#define TAXRATE 0.015
当编译您的程序时,值0.015将会在TAXRATE出现的每一个地方替代它。这称为编译时代入法。
这样定义的常量通常被称为明显常量。
注意格式:首先是#define,其次是常量的符号名称,接着是常量的值。一般形式如下
#define NAME value
没有使用分号,是因为这是和种替代机制,而不是C的语句。
键入大写的常量是一个明智的C传统。这样当您在程序中间遇到大写的符号名时,您会立即知道这是一个常量而不是变量。
符号常量所使用的名字必须满足变量命名规则,可以使用大写和小写字母、数字和下划线字符。第一个字符不能是数字。
程序清单4.4 pizza.c程序
#define 语名也可以用于定义字符和字符串常量 ,前者使用单引号,后者使用双引号;
#define BEEP '\a'
#define TEE 'T'
#define ESC '\033'
#define OOPS "Now you have done it! "
请记住,符号名后的所有内容都被用来代替它。
4.3.1 const 修饰符
C90新增加了创建符号常量的第二种方法,即可以使用const关键字把一个变量声明转换成常量声明:
const int MONTHS=12; //MONTHS是一个代表12的符号常量
这就使MONTHS成为一个只读值。这个新方法,比使用#define更灵活。
4.3.2 系统定义的明显常量
C头文件limits.h和float.h分别提供有关整数类型和浮点类型的大小限制的详细信息。每个文件都定义了一系列应用于您的实现的明显常量。
C预处理器是个极其有用的工具,所以在可能的时候要尽量利用它。
4.3.2 系统定义的明显常量
如何建立一个符号常量呢?
一个方法是声明一个变量,并设置该变量等于所需的常量。但变量的值是有可能被意外改变的。
C原来就提供了一个更好的方法是C预处理器。
预处理器也允许定义常量。只须在程序文件的顶部添加如下信息即可:
#define TAXRATE 0.015
当编译您的程序时,值0.015将会在TAXRATE出现的每一个地方替代它。这称为编译时代入法。
这样定义的常量通常被称为明显常量。
注意格式:首先是#define,其次是常量的符号名称,接着是常量的值。一般形式如下
#define NAME value
没有使用分号,是因为这是和种替代机制,而不是C的语句。
键入大写的常量是一个明智的C传统。这样当您在程序中间遇到大写的符号名时,您会立即知道这是一个常量而不是变量。
符号常量所使用的名字必须满足变量命名规则,可以使用大写和小写字母、数字和下划线字符。第一个字符不能是数字。
程序清单4.4 pizza.c程序
/*pizza.c--在这个比萨饼的例子中使用定义常量*/ #include <stdio.h> #define PI 3.14159 int main() { float area,circum,radius; printf("What is the radius of your pizza?\n"); scanf("%f",&radius); area=PI*radius*radius; circum=2.0*PI*radius; printf("Your basic pizza parameters are as follows:\n"); printf("circumference=%l.2f,area=%l.2f\n",circum,area); return 0; }
#define 语名也可以用于定义字符和字符串常量 ,前者使用单引号,后者使用双引号;
#define BEEP '\a'
#define TEE 'T'
#define ESC '\033'
#define OOPS "Now you have done it! "
请记住,符号名后的所有内容都被用来代替它。
4.3.1 const 修饰符
C90新增加了创建符号常量的第二种方法,即可以使用const关键字把一个变量声明转换成常量声明:
const int MONTHS=12; //MONTHS是一个代表12的符号常量
这就使MONTHS成为一个只读值。这个新方法,比使用#define更灵活。
4.3.2 系统定义的明显常量
C头文件limits.h和float.h分别提供有关整数类型和浮点类型的大小限制的详细信息。每个文件都定义了一系列应用于您的实现的明显常量。
C预处理器是个极其有用的工具,所以在可能的时候要尽量利用它。
相关文章推荐
- F5 页面重复提交表单
- Set接口
- ionic 返回首页
- PHP
- Axure
- 《Java编程思想》第四版读书笔记 第七章
- python设计模式(二)--策略模式(上)
- python设计模式(二)--策略模式(中)
- 微信转发的技术文章
- jquery 与javascript 获取元素尺寸大小的对比
- 解决Thinkphp3.2部署到lnmp的阿里云出现“_STORAGE_WRITE_ERROR_”
- IOS-APP提交上架流程(新手必看!2016年3月1日最新版)
- onethink后台一直提示验证码不正确,或提示用户名不存在或被禁用
- 【RedisLive】
- Java BIO、NIO、AIO 学习
- Java IO: BIO, NIO, AIO(含代码实现)
- 理解Netty中的零拷贝(Zero-Copy)机制
- 静态编译Qt,为发布软件做准备
- springmvc、spring、hibernate整合示例
- AFN 3.0 表单上传图片和文字 iOS 7.0的一些问题