目录
变量
变量的分类
常量
分类:
1. 字符型常量
2. 字符串常量
3. 整形常量
4. 浮点型常量
5. 指数常量
6. 标识常量
变量
概念:在程序运行中发生改变的量
定义格式:
存储类型(一般存储类型是可以省略的) 数据类型 变量名
auto(省略的时候默认就是auto类型) int num;
存储类型就是变量的存储位置
数据类型就是变量所占字节的个数
数据类型:
名称 | 字节 | 取值范围(了解) |
char 字符型 | 1字节 | -2^7 ~ 2^7-1 |
short 短整型 | 2字节 | -2^15 ~ 2^15-1 |
int 整型 | 4字节 | -2^31 ~ 2^31-1 |
long 长整型 | 4字节 | -2^31 ~ 2^31-1 |
float 单精度浮点型 | 4字节 | 有效数据 6-7位(一般是7位) |
double 双精度浮点型 | 8字节 | 有效数据15-16位 |
变量的分类
变量分为两种
局部变量、全局变量的区别?(面试题)
局部变量 全局变量
1. 定义位置: 函数体内部 函数体外部
2. 初值: 为赋初值时,值为随机值 为赋初值时,值为0
3. 存储位置: 栈区 全局区(静态区)
4. 生命周期: 同函数体共存亡 同整个程序共存亡
5. 作用域: 作用于函数体内部 作用于整个程序
内存图:
常量
概念:程序运行中不会发生变化的值
分类:
1. 字符型常量
用 ''括起来
'a'->字符a
a -> 变量
'\0'
' '
'\n'
'\61' '\141' 'a' 97
2. 字符串常量
用 ""括起来
"hello"字符串后面 \0
3. 整形常量
我们一般用 int类型存储多一点
4. 浮点型常量
float(占4字节)double(占8字节)
5. 指数常量
3*10^8-> 3e8
2*10^-12->2e-12
如果不是 10的几次方了就不能用 e 了,可以使用 pow函数
6. 标识常量
宏定义:起标识作用
格式:#define宏名常量或表达式
遵循标识符的命令规则
一般大写表示
特点:只能单纯替换,不要进行手动的运算(原样替换,替换完再计算)
练习:
#define N 2
#define M N+3
#define NUM N+M/2+1void main()
{printf("%d\n", NUM);
}练习:结合宏定义三目运算符实现两个数求最大值
#define MAX(a, b) a>b ? a : bint main()
{printf("max = %d\n", MAX(5, 8));
}