170 likes | 396 Views
C++ 运算符及表达式. 第二章 C++ 数据类型. 1. 双目算术运算符. 包括加 (+) 、减 (-) 、乘 (*) 、除 (/) 和取余 (%) 等五种,它们的含义与数学上相同 由算术运算符(包括单目和双目)连接操作数而成的式子称为算术(或数值)表达式,每个算术表达式的值为一个数值 假定 int x=25 , y=6 x/8=3 x/y+5=9 10-y%x=4 x%5=0 x*3%4=3 65%x/3=5
E N D
C++运算符及表达式 第二章 C++数据类型
1. 双目算术运算符 包括加(+)、减(-)、乘(*)、除(/)和取余(%)等五种,它们的含义与数学上相同 由算术运算符(包括单目和双目)连接操作数而成的式子称为算术(或数值)表达式,每个算术表达式的值为一个数值 假定 int x=25,y=6 x/8=3 x/y+5=9 10-y%x=4 x%5=0 x*3%4=3 65%x/3=5 -56/6=-9 -56%6=-2 若要使两个整数相除得到一个实数,则必须将其中之一转变为实数。如: 9.0/2=4.5 -15/4.0=-3.75 float(y)/x=0.24 x/double(-8)=-3.125
2. 赋值运算符(=) • 例:int =12 , y=6 ; • x=36; • y=x+y; • 复合赋值运算,如+=,-=,*=,/= y=y+x; y+=x; y=y-x; y-=x;
3. 增1(++)和减1(- -)运算符 例: int x=10; (1) ++x (2) x++ (3) - -x (4) x- - //表达式的值为增1后的x,值为11 //x变为11,但表达式的值为10 //表达式的值为减1后的x,值为9 //x变为9,但表达式的值为10
(5) ++x=5 (6) y=x++ (7) y=--x (8) y=5*x++ (9) y=x*++x; //x首先变为11,然后变为5, 此语句合法,但可能没意义 //x变为11,y的值为10 //x变为9,y的值为9 //x变为11,y的值为50 //y的值为121
4. 测类型长度运算符 使用格式为: sizeof(<类型名或表达式>) 运算结果是类型名所表示类型的长度或表达式的值所占用的字节数,亦即这个值所属类型的长度。如: (1) sizeof(int)=4 (2) sizeof(double)=8 (3) sizeof(100)=4 (4) sizeof(‘a’)=1
5. 强制类型转换 强制类型转换是把一种类型的数据转换为另一种类型的数据,转换格式为: <类型关键字>(<表达式>) 或: (<类型关键字>)<表达式> 或: (<类型关键字>)(<表达式>)
(1) float(x)=80.0 //结果为float型,当然x的 类型和值不变 (2) double(-1)=-1.0 //结果为double型 (3) char(x)=’P’ //结果为char型,x的类型 和值不变 (4) int(r)=100 //结果为int型,r的类型和值 不变 (5) (long double)’h’=104.0 //结果为double型
6. 按位操作符 例、x=24 y=36 00011000 00100100 • x<<2= 右移 • y>>3= 左移 • (3) ~x= 按位取反 • (4) x&y 按位与 • (5) x|y= 按位或 • (6) x^44= 按位异或
7. 关系运算符 共有六个:小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)和不等于(!=) 假定x=20,y=3.25,ch为一个字符变量,则: (1) x==0 (2) x!=y (3) x++>=21 (4) ++x==21 (5) y+10<y*10 (6) x--<20 (7) ’a’==’A’ (8) ch!=0
逻辑运算规则 a b !a a && b a || b 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 8 . 逻辑运算符 有三个:逻辑非(!)、逻辑与(&&)和逻辑或(||)
假定x=20,y=3.25,则: (1) x>0 && y>0 (2) x>0 && true (3) x && false (4) !x==0 (5) !(x>=0) (6) !x || y<1 (7) x<-10 || x>10 (8) x++!=20 || y (9) x<=0 && x<y
9. 条件运算符 条件运算符 (? :) 是C++中唯一一个三目运算符,其使用格式为: <表达式1> ? <表达式2> : <表达式3> 如: (1) a=(x>y ? x : y) //若x>y为真则把x的值赋给a,否则把y的值赋给a (2) x?y=a+10:y=3*a-1 //若x非0则把a+10的值赋给y,否则把3*a-1的值赋y
10. 逗号运算符 逗号运算符是一种顺序运算符,对于分别用逗号分开的若干个表达式,每个逗号都称为逗号运算符,合起来称为逗号表达式。计算一个逗号表达式时,将按照每个子表达式从左到右出现的先后次序依次计算出它们的值,最后一个子表达式的值就是整个表达式的值。 如: (x++,y+=x,z--)
11、函数 C++函数包括系统函数和用户函数两种,系统函数由系统定义并由相应的头文件提供函数原型,用户函数由用户在程序中定义,或者在#include命令所引用的程序文件或头文件中定义