一、常量
1. 什么是常量
常量,表示一些固定的数据
2. 整型常量(int)和浮点型常量(float/double)
浮点型常量分为double和float两种数据类型
* double:双精度浮点型,其实就是小数。比如 5.43、-2.3、0.0等
* float:单精度浮点型,也是小数,比double的精确程度低,也就是说所能表示的小数位数比较少。为了跟double区分开来,float型数据都是以f结尾的,比如5.43f、-2.3f、0.0f。
3. 字符常量
* 将一个数字(0~9)、英文字母(a~z、A~Z)或者其他符号用单引号括起来,这样构成的就是字符常量。比如‘6’、‘A’、’&’等
注意:单引号只能扩住1个字符,而且不能是中文字符。
4. 字符串常量
将一个或者多个字符用双引号(“”)括起来,这样构成的就是字符串常量,比如“6”、“男”。
二、变量
1. 什么是变量
当一个数据的值需要经常改变时获取不确定时,就应该用变量来表示。比如游戏积分
2. 定义变量
1> 目的
* 任何变量在使用之前,必须先进行定义。
* 定义变量的目的是:在内存中分配一块存储空间给变量,方便以后存储数据。
* 如果定义了多个变量,就会为这多个变量分别分配不同的存储空间
2> 格式
变量类型 变量名;
比如 int num;
* 变量名属于标识符
* 变量类型
* 不同类型的变量占用不同大小的存储空间
* 约束变量所存放的数据类型(方便运算)
3> 实例
int main() { int i; char c; int a, b; return 0; }
3. 变量的使用
1> 赋值
i = 10;
2> 修改
* 可以修改变量的值,多次赋值。
i = 10; i = 20;
* 使用printf输出一个/多个变量的值
int a = 10, c = 11; printf("a = %d, c = %d", a, c);
3> 变量之间的值传递
* 可以将一个变量的值赋给另一个变量
int a = 10; int b = a;
* 连续赋值
a = b = 10;
三、变量的内存分析
1. 字节和地址
1> 内存以“字节为单位”
0x表示的是十六进制。
2> 不同类型占用的字节是不一样的,数据越大,所需的字节数就越多
2.变量的存储
1> 所占用字节数跟类型有关,也跟编译器环境有关
2> 变量实例
int b = 10; int a = 20;
* 内存由大到小寻址,优先分配内存地址较大的字节给变量。b的内存地址比a大
* 每个变量都有地址:第一个字节的地址就是变量的地址
3> 查看内存地址:
int a; printf("a的地址是:%p\n", &a);
4> 注意
在变量未经初始化之前,不要尝试使用变量的值
int a; printf("a的值是:%d\n", a); // 不建议
四、scanf函数
1. 简介
2. 简单用法
int age; scanf("%d", &age);
* scanf函数时,会等待用户的键盘输入,并不会往后执行代码。
3. 注意
scanf的第一个参数中不要包含\n, 比如scanf("%d\n", &a); 这将导致scanf函数无法结束
五、sizeof
1. 作用
用来计算一个变量或者一个常量、一种数据类型所占的内存字节数
2. 基本形式
* sizeof(变量\常量)
* sizeof(数据类型)
六、break和continue
1. break
* 使用场合:switch\循环结构
* 循环嵌套下的break
2. continue
* 使用场合:循环结构
* 循环嵌套下的continue