标识符、常量和变量
标识符
分类:关键字、预定义标识符、用户标识符;
命名规则:可以由字母、数字和下划线组成,并且第一个字符必须是字母或下划线;
位:内存中最小的单位,也称二进制数
字节:8个二进制位
若干字节组成一个字,用一个字来存放一条机器指令或一个数据;一个字含多少字节随机器不同而不同;
通常把一个字节中最右边一位称为最低位,最左边一位称为最高位;
有符号整型:最高位(最左边)来存放整数的符号,称为符号位(符号位正数为0,负数为1);
存储形式 | 最值(两字节为例) | |
正整数 | 原码 | 最大值0111111111111111 32767 |
负整数 | 补码 | 最小值1000000000000000 -32768 |
无符号整数 | 全部用来存放整数 |
求补码:
(1)先求原码的反码:除符号位外各位取反,即1变成0,0变成1。
(2)把所得来的反码加1,即得到原码的补码。
补码二进制转换成十进制(负整数)步骤:
(1)除符号位外各位取反;
(2)将所得二进制转换成十进数;
(3)将所求得的整数在减1;
实型数据
实型常量:1.小数形式
2.指数形式(“e”或“E”后跟一个整数来表示以10为的幂数,字母“e”或“E”之前必须要有数字,且后面数字必须为整数)
单精度 | 双精度 | |
类型名 | float | double |
存储单元 | 4字节 | 8字节 |
表示范围 | -10的38次方~10的38次方 | -10的308次方~10的308次方 |
注意:
- double 表示的数字比float 表示的要精确得多;
- 在VC中,所有float 类型在运算中都自动转换成double数据;
- 在程序中一个实数可以用小数形式表示,也可用指数形式表示,但在内存中,实数一律按指数形式存放;
- 整型数值没有误差,实型往往会有误差;
算术表达式
+、-、*、/、% 需要两个运算对象,称双目运算符,%(求余运算符)运算对象只能是整型,其余既可以是整型,也可以是实型。
+、-也可以作为单目运算符,如+54、-49;
注意:
- 如果双目运算符两边运算符的类型一致,则所得结果类型与运算类型一致;
- 若不一致,系统将自动进行实型转换,一致后再运行;
- 所有实型数运算均以双精度进行,单精度数则尾数加0变成双精度数。
赋值表达式
赋值运算符:
- 优先级只高于逗号,比其他任何优先级都低,并且自右向左结和
- 赋值运算符左侧只能是变量,不可以是常量或表达式
- C语言中,“=”看作运算符,如a=19;是一个表达式,而表达式有一个值,C语言中最左边变量得到的值就是赋值表达式的值。
注意:赋值号左右两侧的数据类型相同时,操作才能进行;在赋值前,系统将自动先把右侧表达式求得的数值按左边的变量类型进行转换。
自加(减)运算符
- 自加运算符、自减运算符也相当于一种赋值运算
- ++i:先进行i增加1,再把i值代入;i++:先进行把i值代入,再让i加1.
- ‘++’和‘–’结合方向都是自右至左;,负号运算符和自加运算符优先级相同。
版权声明:本文为weixin_43898673原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。