单目运算符(一元运算符:只需要一个运算对象)
符号运算符: + -
在C90标准后,添加了一元+运算符,不会改变运算对象的值或符号
例如:num=+12;
但在以前,这样写编译器是会报错的
一元-运算符还可以用来标明或改变一个值的代数符号,例如
a = -12 ;
b = -a ;
这样b就等于为12。
递增\减运算符:++、--
前缀++:i++ ——先使用,后递增。
例:i=8;
a=i++;
这里结果: i=9 ,8
后缀++:++i ——先递增,后使用。
例如while(++i<18),则表示在每一次进入while循环的判断前都要先递增再判断
当前缀或后缀有时会对代码产生不同的影响时,可以分别列出来
i++;
b=i;
递减运算符的使用和递增运算符类似,大家可以类比理解
如果一个变量出现在一个函数的多个参数中,不要对该变量使用自增或递减运算符。
如果一个变量多次出现在一个表达式中,不要使用自增或自减运算符
双目运算符(二元运算符:需要两个运算对象)
加/减法运算符:+,-
乘/除法运算符:*,/
求模运算符:%
%:在后面会用到一个用%限定数的范围的一个方法,我认为有必要知道
若规定一个数的范围在1-9之间
i%9+1 就可以满足条件
其他运算符
sizeof运算符和size_t类型
sizeof运算符以字节为单位返回对象的大小
运算对象可以是具体的数据对象(如变量名)或类型。如果运算对象是类型,必须要用小括号括起来
返回类型:sizeof返回size_t类型的值,是无符号整数类型,因此在打印sizeof的返回值时,占位符要用%zd
表达式
表达式由运算符和运算对象组成。以下是一些表达式举例
4 -6 4+21 a*(b+c/d)/20 q=5*2 x=++q q>3 5>3
每个表达式都会有一个值
这些表达式都会有自己的值,前面的都很好理解,但最后两个表达式需要注意,这种表达式的结果是0或1,为真就是1,为假就是0
语句
在c语言中,语句都以分号结尾,一条语句相当于一条完整的计算机指令。
声明并不是一条语句,也就是去掉了分号,剩下的部分并不是表达式,也不会有值
简单语句:
a=12; b=13;
复合语句:
由花括号括起来的一条或多条语句。