运算符与表达式
- 格式:ppt
- 大小:277.00 KB
- 文档页数:40
运算符和表达式运算符和表达式是编程中非常重要的概念,它们用于对数据进行操作和计算。
本文将详细介绍运算符和表达式的基本概念、种类以及使用方法。
一、运算符的概念和种类运算符是一种用来进行特定操作的符号或者关键字。
在编程中,根据操作的不同,可以将运算符分为以下几类:1. 算术运算符:用于对数字进行基本的算术操作,包括加法(+)、减法(-)、乘法(*)、除法(/)等。
2. 关系运算符:用于比较两个值之间的关系,返回一个布尔值(True或False),包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)等。
3. 逻辑运算符:用于对布尔值进行逻辑操作,包括与(and)、或(or)、非(not)等。
4. 位运算符:用于对二进制数进行位级操作,包括按位与(&)、按位或(|)、按位异或(^)、左移(<<)、右移(>>)等。
5. 赋值运算符:用于将一个值赋给一个变量,包括简单赋值(=)、加等于(+=)、减等于(-=)等。
6. 条件运算符:也称为三元运算符,用于根据条件选择不同的值,格式为表达式1 if 条件 else 表达式2。
二、表达式的概念和使用表达式是由运算符和操作数组成的式子,用于进行计算和生成一个值。
在编程中,表达式可以用于赋值、条件判断、循环等各种场景。
1. 算术表达式:由算术运算符和变量、常量组成的式子,用于进行数值计算。
例如:a + b、5 * c。
2. 关系表达式:由关系运算符和变量、常量组成的式子,用于比较两个值的大小关系。
例如:x < y、m >= n。
3. 逻辑表达式:由逻辑运算符和布尔变量、比较表达式组成的式子,用于进行逻辑判断。
例如:is_right and has_permission、not is_full oris_empty。
4. 赋值表达式:由赋值运算符和变量、表达式组成的式子,用于将一个值赋给一个变量。
第2章运算符与表达式第2章运算符与表达式1、表达式:(int)((double)9/2)- 9%2 的值是A) 0B) 3C) 4D) 5参考答案:B【解析】先将整型数据9强制转换成double型,然后除以2得到的结果与double型保持⼀致,即为4.5,然后将4.5强制转换成整型数据4,然后计算9%2的值为1,最后计算4-1的值为3,所以选择B选项?2、sizeof( double )是A) ⼀个整型表达式B) ⼀个双精度型表达式C) ⼀个不合法的表达式D) ⼀种函数调⽤参考答案:A【解析】sizeof是C语⾔中的⼀个操作符(operator),不是函数调⽤,简单的说其作⽤就是返回⼀个对象或者类型所占的内存字节数?所以选择A?3、若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) :(y++)中的条件表达式(x-y) 等价的是()。
A) (x-y<0||x-y>0)B) (x-y<0)C) (x-y>0)D) (x-y==0)参考答案:A【解析】条件表达式:x=表达式1?表达式2:表达式3 的含义是:先求解表达式1,若为⾮0(真),则求解表达式2,将表达式2的值赋给x。
若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x。
在本题中与表达式1:(x-y)等价的是(x-y<0||x-y>0)。
4、若变量已正确定义,在if (W) printf("%d\n" ,k );中,以下不可替代W的是()。
A) a<>b+cB) ch=getchar()C) a==b+cD) a++参考答案:A【解析】选项A)是⾮法的表达式,C语⾔中没有<>运算符。
5、以下选项中不属于C语⾔程序运算符的是A) sizeofB) <>C) ( )D) &&参考答案:B【解析】C语⾔中的不等于符号⽤"!="表⽰,没有符号"<>"?所以选择B?6、设有定义:int x=7,y=12;,则以下表达式值为3的是A) (y%=x)-(x%=5)B) y%=(x%=5)C) y%=x-x%5D) y%=(x-x%5)参考答案:A【解析】a%=b表⽰a=a%(b),故A选项可改写成y=y%x,x=x%5,再计算y-x计算的结果为3,满⾜题意,因此答案为A选项。
运算符和表达式按运算符的优先级⾼低次序执⾏;若优先级相同,则按照结合性规则执⾏如item+2*num中,*运算符的优先级⽐+运算符⾼,因此,先进⾏”2*num"运算,再与“item"运算*p--中,*和--都是右结合,其运算顺序为p先与--结合,执⾏”p--"运算,所得结果再与*进⾏运算,相当于"*(p--)"算术运算符分为基本算术运算符和⾃增/⾃减算术运算符1.基本算术运算符在C语⾔中,基本运算符有5个,+——加法运算符-—— 减法运算符*——乘法运算符/——除法运算符%——求余运算符注意:对除法运算符,如果两个整数相除,结果仍为整数(商向下取整),如:20/6得6;如果除数或被除数中有⼀个为负值,则舍⼊的⽅向是不固定的。
如果参加+、-、*、/运算的两个数中⾄少有⼀个数为浮点数,则运算结果是double型数据,⾃动转换后所有数都按double型进⾏运算。
求余运算符%,两个操作对象都必须是整数。
结果的符号与运算符%左边的操作数的符号相同。
如:20%6得2,-45%8得-5,45%-8得5.减法运算符还可以进⾏取负运算,此时该运算符为单⽬运算符,只需⼀个操作数。
如num=-num,对num变量值取负。
基本运算符的优先级次序算术运算符的结合⽅向为“⾃左⾄右”。
如在表达式“m-n+a"中,先执⾏”m-n",再与a相加2.⾃增/⾃减算术运算符++——⾃增运算符-- ——⾃减运算符作⽤是使整型变量的值加1或减1。
这两个运算符只能⽤于变量,⽽不能⽤于常量或表达式。
⾃增/⾃减运算符都是单⽬运算符表达式++i将i的值加1,使⽤i的值表达式i++先使⽤i的值,再将i的值加1如:i=51,求j(1)j=++i——i的值先加1变为52,再赋值于j,j=52(2) j=i++——先将i的值赋值给j,j=51,再将i加1,i=52++和--是单⽬运算符,其优先级⾼于基本算术运算符,于取负运算符-的优先级相同。
运算符和表达式⼀.运算符1.运算符:⼜叫做操作符,是⼀个⽤于运算的符号,它作⽤于⼀个或多个操作数按操作数的数量分类:①⼀元(⽬)运算符—作⽤于⼀个操作数②⼆元(⽬)运算符—作⽤于两个操作数③三元(⽬)运算符—作⽤于三个操作数按运算符的功能分类:①算数运算符—⽤于数学运算②逻辑运算符—⽤于判断真假③位运算符—⽤于⼆进制运算④其他2.算数运算符:+、-、*、/、%、++、--加加运算符书写⽅式:变量名++ ++变量名1.计算返回结果,与变量相同 1.计算返回结果,为变量值加12.将变量的值⾃增1 2.将变量的值⾃增1减减运算符书写⽅式:变量名-- --变量名1.计算返回结果,与变量相同 1.计算返回结果,为变量值减12.将变量的值⾃减1 2.将变量的值⾃减13.赋值运算符:=、+=、-=、*=、/=、%= (不能⽤于变量初始化)+= :x += 运算代码;→ x = x +(运算代码);-= :x -= 运算代码;→ x = x -(运算代码);*= :x *= 运算代码;→ x = x *(运算代码);/= :x /= 运算代码;→ x = x /(运算代码);%= :x %= 运算代码;→ x = x %(运算代码);4.常⽤逻辑运算符:(==)等于、(!=)不等于、(>)⼤于、(>=)⼤于等于、(<)⼩于、(<=)⼩于等于、(&&)并且、(||)或者、(!)⾮返回类型:bool&&:两个bool类型进⾏运算,运算的结果是真真为真,其他为假||:两个bool类型进⾏运算,运算的结果是假假为假,其他为真!:⼀元运算符,对⼀个bool类型的数据求反。
数据为真,运算结果为假;数据为假,运算结果为真5.三⽬运算符书写⽅式:操作数1 ?操作数2 :操作数3返回结果:如果操作数1判定结果为真,则将操作数2作为返回结果如果操作数1判定结果为假,则将操作数3作为返回结果6.位运算符(&)与:对两个数字的⼆进制格式每⼀位进⾏⽐较(如果都为1,取1,否则取0)(|)或:对每⼀位进⾏⽐较(如果都为0,取0,否则取1)(^)异或:对每⼀位进⾏⽐较(相同取0,不同取1)(《)左移:对⼀个⼆进制数字向左移动指定的位数(》)右移:对⼀个⼆进制数字向右移动指定的位数(~)取补:(⼀元运算符)将数字⼆进制位上的0变成1,1变成0⼆.表达式1.常⽤表达式返回类型:①⼀个变量声明的表达式,返回类型是void(⽆返回类型)。
运算符与表达式运算符的分类根据不同的分类标准,我们可以将运算符分为两类。
第⼀类是按照操作对象的多少进⾏划分的。
我们有下⾯的表格:⼀元运算符⼆元运算符三元运算符+-正负号+-加,减*/%乘,除,取余?:条件运算++⾃加<<>>左移,右移--⾃减&&||!与或⾮运算,^异或运算!⾮<>⼤于,⼩于~按位取反>=<=!=⼤于/⼩于等于,不等于*指针运算符=,&,|赋值按位,与,或第⼆类是按照功能划分。
我们可以分为以下内容算术运算符赋值运算符逻辑运算符------+-加减=赋值&&与*/乘除+=/-=加等减等||或%取余*=//=乘等除等!⾮++⾃增%=取余等==等于--⾃减&=,|=,^=,>>=,<<=位运算等<<左移表达式的分类 根据运算符,我们可以把表达式分为以下⼏类: 1、算术表达式 算术表达式由算术运算符和控制运算优先级的括号组成,是进⾏算术运算的基本表达形式。
(l+o+v+e)*521/1314.0;3.1415926*r; 2、赋值运算符 赋值运算符由赋值运算符,算术运算符和操作对象复合⽽成,最后以'='连接.变量=表达式或者数值//在定义时或者定义完成后初始化都可以eg:love=5211314;变量⼀=变量⼆=变量三=变量N=表达式或者值//只能在定义后初始化使⽤eg:l=o=v=e=1314; 3、逻辑表达式 ⼀般由逻辑运算符和操作对象组合⽽成,属于C语⾔中进⾏逻辑判断的主要表达形式,也是条件控制语句中的常⽤的表达式。
a&&bc||d&&m!x 4、关系表达式 关系表达式⼀般由关系运算符和操作对象组成,关系运算符也常⽤与条件控制语句复合使⽤。
eg:love>1314m==n//注意:等于判断有两个等号 5、逗号表达式 逗号表达式有其他运算符和逗号组成,常⽤于变量定义和for循环中.int a,b,c;c=(a=3,b=5,a=a+b);值得注意的是,逗号表达式的值总是等于最后⼀个表达式的值。
常⽤运算符和表达式运算符在程序中应⽤⼴泛,尤其在计算功能中,常常需要⼤量的运算符。
运算符结合操作数,便形成了表达式,并返回运算结果。
⼀. 运算符1.算术运算符算术运算符⽤于对数值数据进⾏计算。
在C#语⾔中,根据两个操作数的类型特点,加法运算符具有多重作⽤。
*两个操作数均为数字,相加的结果为两个操作数之和。
*两个操作数均为字符串,把两个字符串连接在⼀起。
*两个操作数分别为数字和字符串,则先把数字转换成字符串,然后连接在⼀起。
*两个操作数分别为数字和字符,则先把字符转换成Unicode代码值,然后求和。
算数运算符中的求模运算(%)本质上也是⼀种除法运算,只不过它舍弃商,⽽把⼩于除数的未除尽部分(即余数)作为运算结果,有称为取与运算2.关系运算符关系运算符⼜称为⽐较运算符,⽤来⽐较两个操作数的⼤⼩,或者判断两个操作数是否相等,运算符的结果为true或false。
操作数只能是值类型的数据。
3.逻辑运算符逻辑运算符读操作数或表达式执⾏布尔逻辑运算,常见的逻辑运算符如下表所⽰:运算符! & | ^ && ||含义逻辑⾮逻辑与逻辑或逻辑异或条件与条件或实例!(8>2) 8&2 8|2 8^2 (8>2)&&(3>4) (8>2)||(3>4)结果 False 0 10 10 False True逻辑⾮(!)运算结果是操作数原有逻辑的反值,逻辑与(&),逻辑或(|),逻辑异或(^)三个运算符都是⽐较两个整数的相应位。
只有当两个整数的对应位都是1时,逻辑与(&)运算符才返回结果1,否则返回结果0;当两个结果整数的对应位都是0时,逻辑或(|)运算符才返回结果0,否则返回结果1;当两个整数的对应位⼀个是1,⽽另⼀个是0时,逻辑异或(^)运算符才返回结果1,否则返回结果0;条件与(&&)与条件或(||)运算符⽤于计算两个条件表达式的值,当两个条件表达式的结果都是真时,条件与(&&)运算符才返回结果真,否则返回结果假;当两个条件表达式的结果都是假时,条件或(||)运算符才返回结果假,否则返回结果真。