c语言运算符与表达式学习教案

上传人:莉**** 文档编号:110293939 上传时间:2022-06-18 格式:PPTX 页数:20 大小:166.18KB
收藏 版权申诉 举报 下载
c语言运算符与表达式学习教案_第1页
第1页 / 共20页
c语言运算符与表达式学习教案_第2页
第2页 / 共20页
c语言运算符与表达式学习教案_第3页
第3页 / 共20页
资源描述:

《c语言运算符与表达式学习教案》由会员分享,可在线阅读,更多相关《c语言运算符与表达式学习教案(20页珍藏版)》请在装配图网上搜索。

1、会计学1c语言语言(yyn)运算符与表达式运算符与表达式第一页,共20页。2.6 变量变量(binling)赋初赋初值值程序中常需要对一些程序中常需要对一些(yxi)变量预先设置初值。变量预先设置初值。 C语言允许在定义变语言允许在定义变量时对变量赋初值量时对变量赋初值 -变量的初始化。变量的初始化。 int a=3; /* 指定指定a为整型变量为整型变量(binling),初,初值为值为3 */ float f=3.56; /* 指定指定f为实型变量为实型变量(binling),初,初值为值为3.56 */ char c=a; /* 指定指定c为字符变量为字符变量(binling),初值,初

2、值为为a */1.可以对定义变量的一部分初始化可以对定义变量的一部分初始化 如:如: int aint a,b b,c=5;c=5;2.如果对几个变量赋以同一个初值,不能写成:如果对几个变量赋以同一个初值,不能写成: int a=b=c=3;int a=b=c=3; 而而应写成应写成: int a=3int a=3, ,b=3b=3, ,c=3;c=3;3. 初始化不是在编译阶段完成的,而是在程序运行时,执行函数时赋初始化不是在编译阶段完成的,而是在程序运行时,执行函数时赋初值的,相当于有一个赋值语句。例如:初值的,相当于有一个赋值语句。例如:int a=3;相当于:相当于:int a; a=

3、3;第1页/共20页第二页,共20页。2.7 运算符和表达式运算符和表达式C C的运算符有以下的运算符有以下(yxi)(yxi)几类几类 1 1算术算术(sunsh)(sunsh)运算符运算符 (+ - + - * * / % ) / % ) 2 2赋值运算符赋值运算符 (= = 及其扩展赋值运算符)及其扩展赋值运算符) 3. 3. 逗号运算符逗号运算符 (,)(,) 4 4关系运算符关系运算符 ( = = = !=) 5 5逻辑运算符逻辑运算符 (!(! & | & |) 6 6位运算符位运算符 ( | &) | &) 7 7条件运算符条件运算符 (? :? :) 8 8其它其它 2.7.1

4、 C语言运算符语言运算符第2页/共20页第三页,共20页。2.7 运算符和表达式运算符和表达式2.7.1 C语言运算符语言运算符第3页/共20页第四页,共20页。2.7 运算符和表达式运算符和表达式C C语言允许语言允许(ynx)(ynx)使用以下类型的表使用以下类型的表达式达式2.7.2 C语言表达式类型语言表达式类型(lixng)(1)赋值表达式,如:)赋值表达式,如:a=1(6)逗号)逗号(duho)表达式,如:表达式,如:a=1,b=2,c=3(2)算术表达式,如:)算术表达式,如:1*2+3/4.5(3)关系表达式,如:)关系表达式,如:47(4)逻辑表达式,如:)逻辑表达式,如:8

5、4&ab?a:b第4页/共20页第五页,共20页。2.7 运算符和表达式运算符和表达式2.7.3 表达式的求值规则表达式的求值规则(guz)(1)按运算符的优先级别高低次序)按运算符的优先级别高低次序(cx)执行执行。(2)如果运算对象两侧优先级别相同,则)如果运算对象两侧优先级别相同,则按规定的按规定的“结合方向结合方向(fngxing)”处理。处理。如:算术运算符的结合方向为如:算术运算符的结合方向为“从左至右从左至右” 赋值运算符的结合方向为赋值运算符的结合方向为“从右至左从右至左”第5页/共20页第六页,共20页。 1. 1.基本的算术运算符基本的算术运算符 + + (加法运算符,或正

6、值运算符。如(加法运算符,或正值运算符。如3 35 5、3 3) - - (减法运算符,或负值运算符,如(减法运算符,或负值运算符,如5-25-2、-3-3) * * (乘法运算符。如(乘法运算符。如3 3* *5 5) (除法(除法(chf)(chf)运算符。如运算符。如5 53 3) (模运算符,或称求余运算符,要求两侧均为整型数据,(模运算符,或称求余运算符,要求两侧均为整型数据, 如如7 74 4的值为的值为3 3)。)。说明说明(shumn(shumng)g)1.1.两个整数相除结果为整数。两个整数相除结果为整数。 2.2.如果参加运算的两个数中有一个数为实数,则结果是如果参加运算的

7、两个数中有一个数为实数,则结果是doubledouble型。型。2.7 运算符和表达式运算符和表达式2.7.4 算术算术(sunsh)运算符和运算符和算术算术(sunsh)表达式表达式第6页/共20页第七页,共20页。2.2.算术算术(sunsh)(sunsh)表达式和运算符的优先级与结合性表达式和运算符的优先级与结合性用算术运算符和括号将运算对象(也称操作数)连接起来的用算术运算符和括号将运算对象(也称操作数)连接起来的、符合、符合C C语法规则的式子,称语法规则的式子,称C C算术表达式。运算对象包括常算术表达式。运算对象包括常量、变量、函数等。例如量、变量、函数等。例如(lr)(lr),

8、下面是一个合法的,下面是一个合法的C C算术算术表达式:表达式: a a* *b/c-1.5+ab/c-1.5+a 在表达式求值时:在表达式求值时: 先按运算符的优先级别高低次序执行先按运算符的优先级别高低次序执行 同一优先级的运算符,运算次序由结合方向同一优先级的运算符,运算次序由结合方向(fngxing)(fngxing)决决定定C C语言规定了运算符的优先级和结合性。语言规定了运算符的优先级和结合性。算术运算符的结合方向为算术运算符的结合方向为“自左至右自左至右”,即先左后右即先左后右. .单目运算符、三目运算符、赋值运算符的结合方向单目运算符、三目运算符、赋值运算符的结合方向为“自右至

9、左自右至左”,即先右后左即先右后左. .2.7 运算符和表达式运算符和表达式2.7.4 算术运算符和算术表达式算术运算符和算术表达式第7页/共20页第八页,共20页。运算符的优先级运算符的优先级( (由高到低由高到低) ) 附录附录(fl)B(fl)B初等初等(chdng)(chdng)运算符运算符 ( ) ( ) - . - . 单目运算符单目运算符算术运算符算术运算符 ( (先乘除先乘除(chngch)(chngch),后,后加减加减) )关系运算符关系运算符 逻辑运算符逻辑运算符 (不包括(不包括! !)条件运算符条件运算符 赋值运算符赋值运算符 逗号运算符逗号运算符 2.7 运算符和表

10、达式运算符和表达式第8页/共20页第九页,共20页。3.3.强制强制(qingzh)(qingzh)类型转换运算符类型转换运算符可以利用可以利用(lyng)(lyng)强制类型转换运算符将一个表达式转换成所需类型。强制类型转换运算符将一个表达式转换成所需类型。一般形式一般形式(xngsh)(xngsh):( (类型名类型名)()(表达式表达式) )例如:例如: (double)a (double)a (将(将a a的值转换成的值转换成doubledouble类型)类型) (int)(x+y) (int)(x+y) (将(将x+yx+y的值转换成整型)的值转换成整型) (float)(5(flo

11、at)(53) 3) (将(将5 53 3的值转换成的值转换成floatfloat型)型)强制类型转换时,得到一个所需类型的中间量,原来变量的类型未强制类型转换时,得到一个所需类型的中间量,原来变量的类型未发生变化。发生变化。main()main() float x float x; int i; int i; x=3.6; x=3.6; i=(int)x; i=(int)x; printf printf(x=%f,i=%dx,i);x=%f,i=%dx,i); 运行结果如下运行结果如下:x=3.600000,i=3x=3.600000,i=32.7 运算符和表达式运算符和表达式第9页/共20

12、页第十页,共20页。例例 j=3; k=+j; j=3; k=+j; j=3; k=j+; j=3; k=j+; j=3; printf( j=3; printf(“%d%d”,+j); ,+j); j=3; printf( j=3; printf(“%d%d”,j+); ,j+); a=3;b=5;c=(+a) a=3;b=5;c=(+a)* *b; b; a=3;b=5;c=(a+) a=3;b=5;c=(a+)* *b; b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=42.7 运算符和表达式运算符和表达式 说明:说明: + - + - 不能用于常量不能用

13、于常量(chngling)(chngling)和表达式和表达式, ,如如5+5+,(a+b)+(a+b)+ + -+ -结合方向:结合方向: 自右向左自右向左 第10页/共20页第十一页,共20页。2.7 运算符和表达式运算符和表达式第11页/共20页第十二页,共20页。1.1.赋值运算符(赋值运算符(= =)作用作用: :将一个数据赋给一个变量将一个数据赋给一个变量(binling)(binling),也可以将一个表达式的,也可以将一个表达式的值赋给一个变量值赋给一个变量(binling)(binling)。 如:如:a=3a=32.2.类型转换类型转换(1)(1)将实型数据将实型数据( (

14、包括包括(boku)(boku)单、双精度单、双精度) )赋给整型变量时赋给整型变量时, ,舍弃实数的小数部分舍弃实数的小数部分。(2)将整型数据赋给单、双精度变量将整型数据赋给单、双精度变量(binling)时,数值不变,但以浮点数形时,数值不变,但以浮点数形式存储到变量式存储到变量(binling)中。中。(3)(3)将一个将一个doubledouble型数据赋给一个型数据赋给一个floatfloat变量时,截取其前面的变量时,截取其前面的7 7位有效数字,存放位有效数字,存放到到floatfloat变量的存储单元中变量的存储单元中(32(32位位) )。但应注意数值范围不能溢出。但应注意

15、数值范围不能溢出。(4). (4). 其它转换规则参考教材其它转换规则参考教材2.7 运算符和表达式运算符和表达式2.7.5 赋值运算符和赋值表达式赋值运算符和赋值表达式第12页/共20页第十三页,共20页。 复合赋值运算符复合赋值运算符 在赋值运算符在赋值运算符“= =”之前加上其他预算符号,可以之前加上其他预算符号,可以(ky)(ky)构成复合的预算符。构成复合的预算符。 例如,可以例如,可以(ky)(ky)有:有:a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%32.7.5 赋值运算符和赋值表达式赋值运算符和赋值表达式第13页/共20页第十四页,共20页。定义:由赋值运算

16、符将一个变量定义:由赋值运算符将一个变量(binling)和一个表达式连接起来和一个表达式连接起来的式子。的式子。形式:形式: 求解过程求解过程: 先求赋值运算符右侧先求赋值运算符右侧“表达式表达式”的值,然后赋给赋值运算符左侧的的值,然后赋给赋值运算符左侧的变量变量(binling)。例如:例如:a=b=c=6; a=(b=4)+(c=6);(表达式值为;(表达式值为10,a值为值为10,b等于等于4,c等等于于6)4、赋值表达式赋值表达式2.7.5 赋值运算符和赋值表达式赋值运算符和赋值表达式说明:说明:1、赋值运算后,左边变量的值被右边表达式的值替换;、赋值运算后,左边变量的值被右边表达

17、式的值替换;2、若右边表达式的值的类型、若右边表达式的值的类型(lixng)与左边变量类型与左边变量类型(lixng)不一致,不一致,则以左边变量的类型则以左边变量的类型(lixng)为准,将表达式的类型为准,将表达式的类型(lixng)转换为左转换为左边变量的类型边变量的类型(lixng)。3、赋值运算符的优先级仅高于逗号运算符。结合方向为、赋值运算符的优先级仅高于逗号运算符。结合方向为“从右向左从右向左”。第14页/共20页第十五页,共20页。例 a=3*5,a*4 a=3*5,a*4,a+5例 x=(a=3,6*3) x=a=3,6*a例 a=1;b=2;c=3; printf(“%d,

18、%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); /a=15,表达式值60/a=15,表达式值20/赋值表达式,表达式值18,x=18/逗号(duho)表达式,表达式值18,x=3/1,2,3/3,2,32.7.6 逗号逗号(duho)运算符和逗号运算符和逗号(duho)表达式表达式第15页/共20页第十六页,共20页。2.7.6 逗号逗号(duho)运算符和逗号运算符和逗号(duho)表达式表达式第16页/共20页第十七页,共20页。2.7.7 关系关系(gun x)运算符及关系运算符及关系(gun x)表达式表达式1,关系运算符及其优先,关系运算

19、符及其优先(yuxin)次序次序在在C语言中提供语言中提供(tgng)6种关种关系运算符系运算符关系运算关系运算符符含义含义优先级与结合方向优先级与结合方向小于小于优先级相同(高)优先级相同(高)结合方向(从左向右)结合方向(从左向右)大于大于=大于或等大于或等于于=等于等于优先级相同(低)优先级相同(低)结合方向(从左向右)结合方向(从左向右)!=不等于不等于关系运算符的优先级低于算术运算符关系运算符的优先级高于赋值运算符第17页/共20页第十八页,共20页。2.7.7 关系关系(gun x)运算符及关系运算符及关系(gun x)表达式表达式2,关系,关系(gun x)表达式表达式用关系运算

20、符将两个用关系运算符将两个(lin )表达式(算术表达式、关系表达式、表达式(算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称为关逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称为关系表达式。系表达式。如:如: a b , ( A = 3 ) ( B = 5 ) , A B 这些都是合法的这些都是合法的关系表达式。关系表达式。 在在 C 语言中关系表达式的值是一个逻辑值,即语言中关系表达式的值是一个逻辑值,即“真真”或或“假假”。 C 语言语言中以中以“1”代表代表“真真”,以,以“0”代表代表“假假”。例:若例:若 a=3 , b=2 , c=1 则:则:

21、 a b 的值为的值为“真真”,此表达式的值为,此表达式的值为 1。 (ab) = c 的值为的值为“真真”,表达式的值为,表达式的值为 1。(此处。(此处 ab的值为的值为 1 ,1= c 的值当然为的值当然为1) f = abc f 的值为的值为0 第18页/共20页第十九页,共20页。变量变量(binling)赋初值赋初值运算符与表达式运算符与表达式算术算术(sunsh)运算符与算运算符与算术术(sunsh)表达式表达式赋值运算符与赋值表达式赋值运算符与赋值表达式逗号运算符与逗号表达式逗号运算符与逗号表达式关系运算符与关系表达式关系运算符与关系表达式运运算算符符与与表表达达式式第19页/共20页第二十页,共20页。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!