掌握所有的运算符及其优先级、结合方向及特殊的运算规则:
34种运算符的优先级关系大致为: [ ]、( )、->、.--- 一元运算符--- 乘除类算术运算符--- 加减类算术运算符--- 移位运算符--- 有大小关系的关系运算符--- 等与不等的关系运算符--- 位运算符--- 逻辑与--- 逻辑或--- 条件运算符--- 各种赋值运算符--- 逗号运算符。
结合方向:一元运算符、条件运算符、赋值运算符三种为自右向左结合,其它均为自左向右结合
能改变变量值的运算符:赋值、++、- -,注意前后++、- -的区别
具有特殊运算规则的运算符:逻辑与&&、逻辑或||、条件运算符,具有断路功能,表达式中的某些部分可能不运算;%运算符要求两个运算对象均为int型
注意两个运算符的区别:=与= =
表达式运算过程中可能进行类型转换,原则:低类型自动向高类型转换
练习:
1、表达式a=4,a*5,b=a+3的结果是?
x/=(a=4,b=a*5,b++)+9执行后,变量a、b、x的值分别是多少?表达式的值呢?
2、if (!x) 此处!x相当于x= =0
if (x) 此处x相当于x! =0
常量与变量:
常量是其值不可变化的量,有两种表现形式:字面常量和符号常量,C是定义符号常量只有一种方法:#define 常量名 串
C中的字面常量有五种:整型常量、实型常量、字符常量、字符串常量、
整型常量有三种合法制式:十、八(如012)、十六(如oxa3),另外还可以有 L(l)、U(u)作后缀,分别表示长整型及无符号常量
实型常量有两种表示形式:小数形式、指数形式,注意:小数形式要求一定要有小数点,小数点前面或后面的数字可以缺省;指数形式一定要有E(e),并且在其左边一定是合法的整数或小数形式的实数,右边必须是合法的整数。
字符常量是以一对单‘’括起的单个字符(‘\191’错),需要特别注意的是以右\开头的转义字符的三种形式:‘\n’、‘\121’、‘\xa5’,记住’A’、’a’、‘0’、‘\n’的ASCII码分别为:65、97、48、10,字符常量的大小就是其ASCII码值的大小
小写转大写:ch=ch-32;大写转小写:ch=ch+32;
字符串常量是以一对双“括起的0个或多个字符,需要特别注意字符串的长度与字符串所占的字节数之间相差1
练习:
1、字符串"12\\\t345\012\xa489"的长度是______,占____字节。
2、下列哪一个不是合法的常量
A、027 B、2.5e2.5 C、 0xfdaL D、10.e+0
变量:在程序运行过程中其值可变的量,需要先定义后使用。
每一个变量都具有:变量名、变量的当前值、变量的地址、变量的存储属性,指针变量中存的是地址,其余变量中存放的是值。
在所有函数之外定义的变量称为全局变量,其作用域为定义点开始到程序结束(去掉含同名局部量的作用区域);在函数内部定义的变量称为局部变量(形式参数也是局部变量),