C语言学习笔记——常量

2.1介绍

  1. 常量是固定的数值,在c程序运行期间不能改变。
  2. 常量的常见类型有:整数常量、浮点常量、字符常量。
  3. 常量在定义后不能修改。

2.2常用常量类型

2.2.1整数常量

不带前缀十进制97
0前缀八进制0141
0x或ox前缀十六进制0x61
后缀uunsigned97u
后缀llong97l
后缀ul或luunsigned long97ul or 97lu
#include<stdio.h>
void main() {
	int a = 97;
	int b = 0141;
	int c = 0x61;
	int d = 97u;
	int e = 97l;
	int f = 97ul;
	printf(" a = %d. b = %d, c = %d, d =%d, e = %d, f = %d", a, b, c, d, e, f);
}

2.2.2浮点常量        

浮点常量由整数部分、小数点、小数部分和指数部分组成。

例如:

  1. 9.7777 
  2. 9.7777E-4
  3. 9.7f

2.2.3字符常量

字符常量可以是字母或者转义字符,但需要用单引号包起来。

例如:

  1. 'a'
  2. '\t'

2.2.4 字符串常量

一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。字符串需要用双引号包起来。字符串过长需要换行的时候不能直接用回车换行,需要用\(指源代码中)。

2.3常量的定义

2.3.1#define预处理器(例如之前的C89 bool)

#define 常量名 常量值
#define PI 3.14
int main() {
	double area;
	float r = 1.2f;
	area = PI * r * r;
	printf("圆的面积是%.4f", area);
}

 2.3.2const

const 数据类型 常量名 = 常量值
#include<stdio.h>
const float pi = 3.14f;
void main() {
	double area;
	float r = 9.7f;
	area = pi * r * r;
	printf("圆的面积是%.15f", area);
}

2.3.3#define和const的注意事项 

  1. const带数据类型,define不带数据类型
  2. const在编译的过程中起作用,define在编译之前起作用,即在编译的预处理阶段就起作用。因此,const可以进行调试,define不能进行调试
  3. define进行的是简单替换!可以通过加括号进行正确的替换
    #include<stdio.h>
    #define a 9
    #define b a + 7
    #define c a / b * 7
    #define e ( a + 7 )
    #define f a / e * 7
    
    void main() {
    	//其中因为define只是进行简单替换,因此c = 9 / 9 + 7 * 7
    	//e使用( a + 7 ),因此在进行f的计算时,f = 9 /( 9 + 7 ) * 7
    	//而9 / ( 9 + 7 )时,因为数据类型为int,只保留整数
    	//因此整数0之后的小数被截断,变成0 * 7 = 0
    	printf("c = %d\t f = %d", c, f);
    }
  4. const 不能进行重定义, define可 通过 undef取消某个符号的定义,再重新定义
    #define PI 3 
    #undef PI // 取消 PI 的定义 
    #define PI 3.14
  5.  #ifdef #ifndf #endif
    #include<stdio.h>
    #define a 7
    void main() {
    #ifdef a 
    	printf("7");
    #endif
    #ifndef a
    	printf("9");
    #endif
    }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值