1.表达式:
由运算符、运算量(包含常量、变量)、数字分组符号(小括号)中的一个或几个组成的合法式子。
2.运算符:
(1)单目运算符:运算时只需要一个运算量。(下面a和b都是以声明的变量)
++a 在C++中把 ++ 符号写在变量的前面,那么此时 ++ 叫做前自增,前自增是先让a加1然后再使用a。
a++ 在C++中把 ++ 符号写在变量的后面,那么此时 ++ 叫做后自增,后自增是先使用a然后再让a加1。
--a 在C++中把 -- 符号写在变量的前面,那么此时 -- 叫做前自减,前自减是先让a减1然后再使用a。
a-- 在C++中把 -- 符号写在变量的后面,那么此时 -- 叫做后自减,后自减是先使用a然后再让a减1
(2)双目运算符:运算时需要两个运算量的运算符。如 : +、-、*、/、% 和数学中的符号一样,C++中运算符也是有优先级的: 括号的优先级最高,与数学不同,C/C++中只有 () ;对于 % ,取余符号 % 两边必须是整型;
(3)三目运算符:(选择运算符、分支运算符): ? :
语法规则: 表达式1 ? 表达式2 : 表达式3
如果表达式1为真,那么这整个表达式就等于表达式2的值,否则就等于表达式3的值。
如: cout<<(3>4 ? 3 : 4); 这一个语句中问号前面 3>4 就是表达式1、 3 就是表达式2、4 就是表达式 3;这个语句会输出4。
注意:C++中唯一一个三目运算符,参与运算时需要3个表达式;没有其它运算符可以直接控制3个表达式。
(4)复合的赋值运算符: += , -= 、*= , /= 例如:b+=a 可以看做是 b=b+a,其余类推;c*=6 可以看做是 c=c*6;
3.表达式的值与类型
在 C/C++中,表达式表达某种类型的数值,表达式的类型和值与参与运算的表达式的类型和值有关。
int+int结果还是int类型;int+double结果是double类型;int+float结果是float类型;int+long long结
果是long long类型 一个表达式如果使用了多种类型的变量和常量,C/C++会自动把它们转换成同
一种数据类型,这种类型 转换方式叫做自动类型转换(根据数据类型的范围从低级向高级转换,数据类型的范围越大,级别越 高)