第三章 运算符和表达式
1.算数运算符和算数表达式: +,-,*,/,%。
两个整数相除的结果为整数。如8/5=1,舍去小数部分。(考虑8.0/5.0)
参加运算的两个数中有一个数为实数,则结果是double型。
求余运算要求%两边都是整形数据。
从左到右运算优先级 -(负号)>*、/>+、-。
自加自减 ++i,–i使用前先使i加(减)|即先加减再用
i++,i–使用后再使i加(减)|即先加减再用
(自加自减运算只能用于变量,结合方向自右向左 -i++=-(i++) )
2.赋值运算符和赋值表达式 =
在赋值运算符“=”之前加上其他运算符,可以构成复合的运算符。
如i+=2等价于i=i+2 a*=b+5等价于a=a*(b+5) 结合方向自右向左
3.关系运算符和关系表达式 <=, < , > , >= , == , !=
优先级 < ,<= , > , >= 优先于 == , !=
如果a=1,应写为if(a==1)而不是if(a=1)
关系表达式的值为逻辑值“真”或“假”,以“1”代表“真”,以“0”代表“假”
结合方向自左向右
4.逻辑运算符和逻辑表达式 ! && ||
运算优先级 !(非)> 算术运算符 > 关系运算符 >&&(与) > ||(或) > 赋值运算符
以数值“1”代表“真”,以“0”代表假,但是在判断一个量是否为“真”时,以非“0”代表“真”,以“0”代表“假。并不是所有的运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行下一个运算符。 结合方向自左向右
5.条件运算符和条件表达式
表达式1?表达式2:表达式3 计算表达式1,若其非零,则结果为表达式2的值;否则为表达式3的值。
6.逗号运算符和逗号表达式
表达式1,表达式2 先求表达式1,再求表达式2,整个逗号表达式的值是表达式2的值
注意是否赋值!
第四章 顺序结构
1.在复合语句中的“内部数据描述语句”中定义的变量,仅在复合语句中有效。(复合语句类似函数,但又不同于函数)
2.putchar(c)
c可以是整型或字符型。一次只能输出一个字符,也可以输出换行等等,若为整型,则输出其所代表的字符,如a=65; putchar(a)即输出A
3.getchar()
输出一个字符, getchar()无参,可以写成c=getchar,但不能写成getchar(c)
