常量
- 在程序运行的整个过程中其值始终不可改变的量
- 直接使用符号(文字)表示的值 例如:12,3.5,‘A’都是常量
整数常量
- 十进制:若干个0~9的数字,但数字部分不能以0开头,正数前面的正号可以省略
- 八进制:前导0+若干个0~7的数字
- 十六进制:前导0x+若干个0~9及A~F的字母(大小写均可)
- 以文字形式出现的整数
- 后缀:后缀L(或l)表示类型至少是long,后缀LL(或ll)表示类型至少是long long;后缀U(或u)表示是unsigned(无符号)类型
浮点类型的常量
- 以文字形式出现的实数
- 一般形式 例如:12.5 -12.5等
- 指数形式(科学计数法) 例如:0.345E+2,-34.4E-3 整数部分和尾数部分可以忽略其一
- 浮点常量默认为double型,如果后缀F(或f)可以使其成为float型,例如:12.3f
字符常量
- 用单引号将一个字符括起来,他在内存中的存储形式应该是他的asc||码
- 一些字符常量无法显示出来,如换行,回车等,可以用转义字符来表示
C风格的字符串常量
- 一对双引号括起来的字符序列
- 在内存中按串中字符的排列顺序依次存放,每个字符占一个字节
- 在末尾添加‘\0’作为结尾标记
- 通过添加前缀可以改变字符常量或是字符串常量的类型(u-Unicode16字符,U-Unicode32字符,L-宽字符,u8-UTF-8(仅用于字符串字面常量))
逗号运算
- 格式:表达式1,表达式2
- 求解顺序及结果:先求解表达式1,再求解表达式2;最终结果为表达式2的值 例如:a=3*5,a*4 最终的结果是60
关系运算
- 关系表达式是一种最简单的逻辑表达式,结果类型是bool,值只能为true或false
逻辑运算
- 短路特性
条件表达式
- 表达式1?表达式2:表达式3 表达式1必须是bool类型,如果为真执行表达式2,为假执行表达式3
SIZEOF运算
语法形式:sizeof(类型名)或sizeof 表达式 例:sizeof(short) sizeof x
结果值:“类型名”所指定的类型,或“表达式”的结果类型所占字节数
位运算
高级语言处理数据以字节为单位,机器语言和汇编语言处理数据以位为单位
按位与(&)
运算规则:将两个运算量的每一位进行逻辑与操作(对齐,不够的补0)
用途举例:将某一位置0,其他位不变(其他为和1进行与操作,置0的位与0进行与操作);取指定位
按位或(|)
运算规则:将两个运算量的每一位进行逻辑或操作(对齐,不够的补0)
用途举例:将某些位置1,其他位置不变(其他位和0进行或操作,置1位与1进行或操作)
按位异或(^)
运算规则:将两个运算量的每一位进行异或操作(对齐,不够的补0),对应位相同,则该位结果为0,对应位不同,则该位结果为1
用途举例:是特定位翻转(与0异或保持原值,与1异或取反)
移位(<<,>>)
左移运算:(<<)左移后,低位补0,高位舍弃
右移运算:(>>)右移后,低位舍弃,高位无符号数补0,有符号数补“符号位”