C语言学习笔记——常量

简介: C语言学习笔记——常量

2.1介绍

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

2.2常用常量类型

2.2.1整数常量

59a7689b49b014a8629c6b1629b0700.png·

#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);
}

9e58ebd1c6b547a7a01c39f5f3e87263.png

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);
}

59f377a9906c46f1a1bb51f39dd2a4d7.png

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);
}


98c269023bd84cf7a2b8c3ad19f5d77f.png

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);
}

2dfb2a512ee04281979d1b72095fbdfa.png

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
}

8deee56207fe46f5a2aa31aae7f88625.png



相关文章
|
3月前
|
C语言
C语言学习笔记之初识字符串
C语言学习笔记之初识字符串
32 5
|
3月前
|
文件存储 C语言
|
3月前
|
程序员 C语言
C语言中的宏定义:从常量到高级技巧
C语言中的宏定义:从常量到高级技巧
120 1
|
3月前
|
存储 机器学习/深度学习 编译器
C语言代码学习笔记
<编程精粹:编写高质量C语言代码> 读书笔记
|
2月前
|
C语言
C语言2 常量
C语言2 常量
12 0
|
2月前
|
C语言
|
2月前
|
C语言
|
2月前
|
C语言
C语言学习笔记-W3
w3 条件,循环和数组
22 0
|
2月前
|
移动开发 C语言
C语言13-----输出常量的两个小扩展
C语言13-----输出常量的两个小扩展
|
2月前
|
C语言
C语言12----输出常量
C语言12----输出常量