上文中我已经写道了变量,下面我们继续,说说什么是基本运算符与表达式。
基本运算符与表达式:
一,表达式:用运算符和表达式链接起来的就是表达式
简单表达式:int c = a+b;
复杂表达式:int d = (a+b)/(a-b)
二,语句:以分号结束
空语句没有表达式,只有分号
在上述代码中用花括号括起来的叫语句块。在不同的语句快中可以定义和前一语句块相同的 变量,这里就提及到了作用域,一个花括号代表一个语句块,在花括号中的语句只能在当前的语句块中其作用,也就是当前的作用域中。
三、运算符:
1.赋值运算符 =
int a = 9; //从右向左赋值 给变量a赋值为9
左值:变量名(常量不行)
右值:常量表达式、变量
注意:初始化和赋值
初始化:在定义变量的时候给初值
赋值:变量已经定义好了、只是改变变量的值
int a = 9; //初值化语句
int b =10;//初值化语句
a = b; //赋值语句
自动类型转换:
较长的数据转换为较短的数据,发生截断,警告
较小的数据转化为较大的数据,是类型的提升
强制类型转换(会发生精度的丢失):
2、算数运算符:
单目运算符:+ - ++ --
双目运算符: + - * / (符号旁边要有两个操作数)
%:求余数(两边的操作数只能是整数) 余数的正负取决于被除数
注意:如果操作数两边都是同一种类型、得到的结果也是同一种类型
++:前置++(表示先自增后赋值)、后置++(表示先赋值后自增)
前置--(表示先自减后赋值) 和 后置--(表示先赋值后自减)跟前置++和后置++类似,在此我就不在多举例了。
3.关系运算符:
> < >= <= == !=
在C语言中非零为真,零为假;非零输出1,零输出0;
4.逻辑运算符:
逻辑与:&& 表示两个条件同时成立,同时为真才为真。否则为假。
逻辑或:|| 只要有一个为真就为真,全为假才为假。
逻辑非:! 真变假,假变真。
三目运算符(表达式?语句1:语句2 )
当表达式成立,执行语句1,否则执行语句2。
位运算符(所有的都是按补码来运算):
&:按位与:相对应的二进制位:都为1才为1,否则为0。
|:按位或:相对应的二进制位:只要有1为1,否则为0。
^:按位异或:相对应的二进制位:相同为0,不同为1。
~:按位取反:二进制位:1变为0,0变为1。
正数的原码、反码、补码是它的本身(三码合一)
原码:计算出来的二进制。
反码:负数:符号位不变,其余按位取反。
补码:负数:符号位不变,反码+1。
逗号运算符:
多个表达式之间使用逗号分隔,整个表达式值是最后一个表达式的值。逗号表达式的优先级是最低的,低于赋值运算符。
复合运算符 :
+= -= *= /= &= |= ^= ~=
a+=10; //a=a+10
a-=10; //a=a-10
a*=10; //a=a*10
a/=10; //a=a/10
a&=10; //a=a&10
a|=10; //a=a|10;
括号运算符:
有括号先算括号,括号能提高优先级。