书签 分享 收藏 举报 版权申诉 / 41
上传文档赚钱

类型C-C++语言程序设计基础24C语言运算符课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:3713821
  • 上传时间:2022-10-06
  • 格式:PPTX
  • 页数:41
  • 大小:137.10KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《C-C++语言程序设计基础24C语言运算符课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C_C 语言程序设计 基础 24 语言 运算 课件
    资源描述:

    1、2.4 C语言运算符和表达式C运运算算符符算术运算符:(算术运算符:(+-+-*/%+-/%+-)赋值运算符:(赋值运算符:(=及其扩展)及其扩展)关系运算符:(关系运算符:(=!=!=)逻辑运算符:(!逻辑运算符:(!&|&|)位运算符位运算符 (&|)&|)条件运算符:(条件运算符:(?)逗号运算符:(逗号运算符:(,)强制类型转换:(类型)强制类型转换:(类型)C语言的表达式是由操作数和运算符组成的序列。根据所用运算符的不同,表达式也有多种类型。C语言的运算符有很多,按操作功能,可分为以下几类:学习运算符应注意:运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果

    2、的类型2.4.1算术运算符和表达式1.基本算术运算符:+(加)、-(减)、*(乘)、/(除)、(取余)结合方向:从左向右优先级:-*/%/%-+-+-(2)(3)(4)(2)(3)(4)说明:u“-”可为单目运算符时,负号运算符,右结合性u 两整数相除,结果为整数,只要有一个操作数是实型,运 算结果就是实型;u%要求两侧均为整型数据 例 5/2 =-5/2.0 =例 5%2 =-5%2 =5%-2 =1%10 =5.5%2=例 5/2 =2 -5/2.0=-2.5例 5%2 =1 -5%2 =-1 5%-2 =1 1%10 =1 5.5%2 ()%结果的符号与被结果的符号与被除数的符号一致除数

    3、的符号一致2.算术表达式、运算符的优先级与结合性用算术运算符和运算对象(也称操作数,如常量、变量、函数等)连接起来的有意义的式子叫算术表达式。例如:3+4%2 /*操作数是三个常量*/3.1*(a+2)/3 /*操作数有常量和变量*/2*pow(3,2)/*操作数有常量和函数*/3.自增、自减运算符+-作用:使变量值加1或减1种类:前置前置 +i,-i(+i,-i(先执行先执行i+1i+1或或i-1i-1,再使用再使用i i值)值)后置后置 i+,i-(i+,i-(先使用先使用i i值值,再执行再执行i+1i+1或或i-1i-1)说明:说明:1.+i 1.+i 和和 i+i+都是都是i i本身

    4、的值加本身的值加1 12.2.注意注意+i +i、i+i+,i i的区别的区别 。a=3;b=5;a=3;b=5;1.c=(a+)1.c=(a+)*b;b;2.c=(+a)2.c=(+a)*b;b;/c=15,a=4/c=15,a=4/c=20,a=4/c=20,a=4 i=3;i=3;i+i+与与 i i 3 3 4 4 +i +i 与与 i i 4 4 4 4 l说明:u+-不能用于常量和表达式,如5+,(a+b)+是错误的u+-结合方向:自右向左u优先级:-+-*/%-+-(2)(3)(4)例:int i=2,j;j=-i+;问j,i的值分别为多少?例 int i=2,j;j=-i+;-

    5、i+-(i+)j=-2,i=3 不同类型的数值混合运算时,运算结果的类型如何确定?混合运算类型自动转换 double float long int char说明说明:必定的转换必定的转换运算对象类型不同时转换运算对象类型不同时转换float a=2.0;int b=6,c=3;判断下列运算结果的数据类型。1.c-F 2.a*b/c+aint double 课堂练习2在C语言中,要求运算数必须是整型的运算符是()。A B/C D!4已知整型变量x=7,y=2,表达式x/y的值是()。A0 B1 C3 D不确定的值5已知x=023,表达式+x的值是()。A17 B18 C20 D2414用十进制数

    6、表示表达式13/013的运算结果是()。A1 B0 C1.4 D1.222若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为()。Afloat Bint Cchar Ddouble2.4.2 赋值运算符和赋值表达式1.赋值运算符l符号:=l格式:变量标识符=表达式l作用:将一个数据(常量或表达式)赋给一个变量 a=5 a=5 /*将5赋给变量a;*/b=a/c+ab=a/c+a*5 5 /*将表达式a/c+a*5的值赋给变量b;*/说明:结合方向:自右向左优先级:14左侧必须是变量,不能是常量或表达式l赋值表达式的值与变量值相等,且可嵌套

    7、例:int a,b,c;a=b=c=5;a=(b=10)/(c=2);/表达式值为5,a,b,c值为5/表达式值5,a=5,b=10,c=2例 3=x-2*y;a+b=3;/错误的表达式赋值转换-把一个值赋给与其类型不同的变量时数值的转换。运算转换规则:不同类型数据赋值运算时自动转换左边变量的类型2.2.赋值类型转换赋值类型转换 例如:char c=a;int i=3,j=4,k=5;float f=2.25;double d=2.8;i=f;/i得到2;j=d;/j得到2;k=c+3;/k得到100;字符常量是用该字符的ASCII码值参与运算。ASCII值 A65 a97 048 3.复合赋

    8、值运算 复合运算符由赋值运算符与算术运算符、位移运算符、位逻辑运算符等组成.算术运算符组合的复合赋值运算符如下:*=、/=、=、+=、-=与移位运算符组合的复合赋值运算符如下:=与位逻辑运算符组合的复合赋值运算符如下:&=、=、|=注意:复合赋值运算符是一个运算符,但在功能上是两个运算符功能的组合。x*=y+8x=x*(y+8)a+=3a=a+3x%=3x=x%3注意:必须把复合赋值符右边的表达式看成一个整体,先求出它的值,再和左边的变量做相关的运算。例例:int a=2;int a=2;1.a-=a 1.a-=a*=3;=3;2.a+=a-=a 2.a+=a-=a*a a/a=-4 等价于a

    9、=a+(a=a-(a*a)/a=0 等价于a=a-(a=a*3)课堂练习3以下定义语句中正确的是()。Aint a=b=0;Bchar A=65+1;b=b;Cint a=1,b=1;Ddouble a=0.0;b=1.1;13在下列选项中,不正确的赋值语句是()。A+t;Bn1=(n2=(n3=0);Ck=i=j;Da=b+c=1;25设x为int型变量,则执行以下语句后,x的值为()。x=10;x+=x-=x-x;A10 B20 C40 D3030假定有以下变量定义:int k=7,x=12;则值为3的表达式是()。Ax=(k=5)Bx=(k-k5)Cx=k-k5 D(x=k)-(k=5)

    10、40下列变量定义中合法的是()。Afloat _a=1-1e-1;Bdouble b=1+5e2.5;Clong do=0 xfdaL;Dfloat 2_and=1-e-3;48若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()。A0 B0.5 C1 D22.4.3 关系运算符和关系表达式关系运算符种类种类:=!=结合方向:自左向右结合方向:自左向右优先级别:优先级别:=!=优先级优先级6(高)(高)优先级7(低)例 ca+b /c(a+b)ca+b /c(a+b)a=bc /a=(bc)a=bc /a=(bc)l关系表达式的值:是逻辑值“真

    11、”或“假”,关系成立用1表示,关系不成立用0表示。例例 int a=3,b=2,c=1,d;(ab)=c 32 /值为1/值为值为0课堂练习10表达式:1!=5的值是()。Atrue B非零值 C0 D1 11.当a=5,b=4,c=3时,表达式f=abc的值是().Atrue B非零值 C0 D1 2.4.4 逻辑运算符和表达式逻辑运算符种类:!&|lC语言中,操作数:0表示“假”,非0表示“真”,运算结果:0表示“假”,1表示“真”,逻辑操作数:可以是整型、实型、字符型:可以是整型、实型、字符型 0假假 非非0真;真;如:如:0,0.0,0,都代表都代表假假。如:如:5,8.3,a,n都代

    12、表都代表真真。!(2)&(11)|(12)高低l优先级:int a=5;float b=3.5;!:若操作数值为0,非的结果为1;当操作数值为非0时,非的结果便为0。!4(0)!(a b)(1)&:当参加逻辑与运算的两个操作数值均为非0时,结果才为1;否则为0;a&5 (1)!a&b (0)!a&!b(0)|:参加逻辑或运算的两个操作数中,只要有一个操作数值为非0,结果就为1;否则为0。(a0)(1)c d (1)1.如何判断分数fs是否为优秀?2.如何判断年份x是否为闰年?(能够被4整除同时不能被100整除或者能够被400整除)3.如何判断三条边a,b,c能否构成三角形?1.fs=80&fs

    13、c)&(a+cb)&(b+ca)&(fabs(a-b)c)&(fabs(a-c)b)&(fabs(b-c)b)&(n=5)(m=ab)&(n=5)(2)a=1;b=1;c=0;(2)a=1;b=1;c=0;d=a|(b=5)|(c=b+3);d=a|(b=5)|(c=b+3);/结果m=0,n=1/a为1,b为1,c为0,d为1打破了默认的优先级别高优先运算的原则。课堂练习7已知a=-1,b=4,执行语句k=(a+=0)&(!(b-b)&(n=cd)后,n的值为()。A1 B2 C3 D038当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()。Ac=b=a;B(a=c)|(b=

    14、c);C(a=c)&(b=c);Da=c=b;50能正确表示逻辑关系:“a10或a0”的C语言表达式是()。Aa=10 or a=0|a=10&a=10|ab)?a:bmax=(ab)?a:b;/max/max的值为的值为7 7 求求a,b,ca,b,c的最大值的最大值 max=c(ab?a:b)?c:(ab?a:b)max=c(ab?a:b)?c:(ab?a:b)/max/max的值为的值为9 93.逗号运算符与表达式逗号表达式的一般形式是:表达式1,表达式2,表达式3表达式n逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值,一直计算到表达式n的值。最后整个逗号表达式的值是表达

    15、式n的值。优先级别最低(15);常用于循环for语句中 例例1 1 a=3a=3*5,a5,a*4 /4 /结果是结果是6060 例例2 2 int a=1,b=2,x;int a=1,b=2,x;x=(a=a+1,b=b+a,a+b);/x=(a=a+1,b=b+a,a+b);/结果是结果是6 6课堂练习6表达式a=2*5,a*4,a+5的值是()。A45 B40 C15 D1019若t为double类型,表达式t=1,t+5,t+的值是()。A1 B6.0 C2.0 D1.024设a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d的结果为(A4 B3 C2 D12.4.6 2

    16、.4.6 位运算位运算 前面介绍的各种运算都是以字节为最基本单位进行的。但在工业系统程序中,常要求在位(bit)一级进行运算或处理。语言提供了位运算的功能,可以对内存单元地址及单元内容中某一位或某几位进行操作。位运算符:位操作是指按位运算位运算符:位操作是指按位运算(与逻辑运算(与逻辑运算 !,&,!,&,不同)不同)运算符运算符 含义含义&按位与操作按位与操作 按位或操作按位或操作 按位异或操作按位异或操作 按位取反操作按位取反操作 右移右移1.位运算符1 1、按位逻辑与:参加运算的两个数据,按位进行位与运、按位逻辑与:参加运算的两个数据,按位进行位与运算。如果两个相应位都是算。如果两个相应

    17、位都是1 1,则该位的结果为,则该位的结果为1 1,否则为,否则为例如:例如:9&5=9&5=?00001001 00001001&00000101&00000101 00000001 00000001 即即9&5=19&5=1。2 2、按位逻辑或:、按位逻辑或:如果两个相应位都是如果两个相应位都是0 0,则该位的结果为,则该位的结果为0 0,否则为,否则为1 1 例如:例如:9|59|5 =?0000100100001001|00000101|00000101 00001101 00001101 (十进制为(十进制为1313)即即9|5=139|5=13。2.运算符举例3.3.位异或运算符(

    18、位异或运算符()如果两个相应位相等(同为如果两个相应位相等(同为0 0或同为或同为1 1),则该位的结果),则该位的结果为为0 0,否则为,否则为1 1。例如:例如:95=?95=?,运算过程如下:,运算过程如下:9 =000010019 =00001001 ()5 =00000101 ()5 =00000101 00001100 00001100 95=12 95=124.4.位反运算符(位反运算符()是一个单目运算符,表示对一个二进制数按位取反。是一个单目运算符,表示对一个二进制数按位取反。就是将位就是将位0 0变成变成1 1,1 1变成变成0 0。例如:例如:11=11=?()11=00

    19、001011 ()11=00001011 11110100 11110100 5.5.左移运算符(左移运算符()用来将一个数的各二进位全部左移若干位,右补用来将一个数的各二进位全部左移若干位,右补0 0。例。例如:如:a=a 3 a=a 3将将a a的二进制数左移的二进制数左移3 3位,右补位,右补0 0。若若a=7a=7,即二进制数,即二进制数0000011100000111,左移左移3 3位得位得0011100000111000,即十进制数,即十进制数5656。左移1位相当于该数乘以2,左移n位相当于该数乘以2n,因此上例7)用来将一个数的各二进位全部右移若干位。移去右端的用来将一个数的各

    20、二进位全部右移若干位。移去右端的位被舍弃,位被舍弃,若为无符号数,左端补若为无符号数,左端补0。例如:。例如:a=a 3将将a的二进制数右移的二进制数右移3位,左补位,左补0。若若a=15,即二进制数,即二进制数00001111,右移右移3位得位得00000001,即十进制数,即十进制数1。右移右移1位相当于该数除以位相当于该数除以2,右移,右移n位相当于该数除以位相当于该数除以2n因此上例因此上例153=1相当于相当于15/23=1(C语言规定整数相除商为语言规定整数相除商为整数整数)。课堂练习42设int b=2;表达式(b1)的值是()。A2 B4 C8 D1652若x=10010111,则表达式(3+(int)(x)&(3)的值是()。A10011000 B10001100 C10101000D1011000053在位运算中,操作数每左移一位,其结果相当于()。A操作数乘以2B操作数除以2 C操作数加上2D操作数减去2课堂练习54若x=4,y=3,则x|y的结果是()。A0B1C12D755设有以下语句:char x=3,y=6,z;z=xy2;则z的十六进制数值是()。A14 B1B C1CD18

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C-C++语言程序设计基础24C语言运算符课件.pptx
    链接地址:https://www.163wenku.com/p-3713821.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库