- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C语言程序设计;运算符与表达式;3.1运算符和表达式概述;2.表达式
用运算符和括号将运算对象(常量、变量和函数)连接起来的、符合C语言语法规则的式子,称为表达式。
赋值表达式,如:a=1
算术表达式,如:1*2+3/4.5
关系表达式,如:59
逻辑表达式,如:84ab
条件表达式,如:ab?a:b
逗号表达式,如:a=1,b=2,c=3
3.运算符的优先级与结合性
运算符的优先级别就是运算对象(或称操作数)两侧运算符执行的先后顺序。
C语言运算符的结合方向,就是指当一个运算对象两侧的运算符具有相同的优先级别时,该运算对象是先与左边的运算符结合,还是先与右边的运算符结合。自左至右的结合方向,称为左结合性。反之,称为右结合性。;3.2算术运算符和算术表达式;例3-3取余运算。
#includestdio.h
voidmain()
{printf(%d\n,100%6);
}
双目运算,具有左结合性。求余运算符%要求参与运算的量均为整型。例3-3输出100除以6所得的余数4。
2.算数运算符的优先级与结合性
在表达式求值时,先按运算符的优先级别高低次序执行,例如,先乘除取余后加减。如表达式a-b*c,b的左侧为减号,因此相当于a-(b*c)。如果在一个运算符对象两侧的运算符的优先级别相同,如a-b+c则按规定的”结合方向”处理.
算术运算符的结合方向是“自左至石”,是左结合性。如在执行“a-b+c”时,减号和加号运算的优先级别相同,变量b先与左边的减号结合,执行“a-b”;然用再执行右侧加c的运算。;3.数据类型转换
整型、实型和字符型数据间可以混合运算。一个运算符两侧的操作数的数据类型不同,则系统按“先转换、后运算”的原则,先将数据自动转换成同一类型,然后进行运算。因此,整型、字符型、实型数据可以出现在一个表达式中进行混合运算。
如:已定义i为int变量,f为float型变量,d为double型变量,l为long型变量,
有下面式子:100+’A’+i*f-d*l;(1)隐式转换
①整型提升,整型、浮点型可以混合运算。
整型自动转换遵循以下规则:
若参与运算的量类型不同,则先转换成同一类型,然后进行运算;
②算数转换,所有的浮点运算都是以双精度进行的,即使仅含float单??度量运算的表达式,也要先转换成double型,横向自动转换后再作运算。
(2)强制类型转换
其一般形式为:(类型说明符)(表达式)
其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。
例如:(float)a把a转换为实型、(int)(x+y)把x+y的结果转换为整型。;例3-4数据类型强制转换。
#includestdio.h
voidmain()
{floatx;
inti;
x=3.6;
i=(int)x;
printf(“x=%f,i=%d”,x,i);
};4.自增和自减运算
两个特殊的算术运算符,即自增、自减运算符(++和--)。
整型变量i,可有以下几种形式:
++i的功能是i自增1后再参与其它运算。
--i的功能是i自减1后再参与其它运算。
i++i参与运算后,i的值再自增1。
i--i参与运算后,i的值再自减1。
自加自减运算符的结合性是自右向左的。
例3-5自加、自减运算符。
#includestdio.h
voidmain()
{
inti=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf(%d,%d,%d,%d,p,q,i,j);
};3.3赋值运算符和赋值表达式;1.简单赋值运算符
将“=”右边表达式的值赋给左边的变量。
例如:a=8;
s=a*2+b;
先计算出右边表达式的值,再赋给左边的变量。如果“=”左右两边类型不同,系统会按照赋值类型转换的原则将右边的类型转换成左边的类型。
;运算符;3.赋值表达式
由赋值运算符将一个变量和一个表达式连接起来的式子所组成。
一般形式为:变量=表达式;3.4关系运算和逻辑运算
;例3-6运算符综合应用。
;2.逻辑运算符
逻辑非“!”、逻辑与“”、逻辑或“||”。;例3-7逻辑运算符。
#includestdio.h
voidmain()
{
inti=7,m,n;
m=!!i;
n=(3i6);
printf(″i=%d,m=%d,n=%d\n″,i,m,n);
};3.5位运算符 ;3.5位运算符 ;3.6条
您可能关注的文档
- 3D打印造型设计课件:机械臂的装配与仿真.pptx
- 3D打印造型设计课件:外观造型设计.pptx
- 3D打印造型设计课件:无人机的装配与仿真.pptx
- 3D打印造型设计课件:造型设计表现技法应用.pptx
- 32位汇编语言程序设计(第3版)课件:Windows编程.pptx
- 32位汇编语言程序设计(第3版)课件:浮点、多媒体及64位指令.pptx
- 32位汇编语言程序设计(第3版)课件:汇编语言基础.pptx
- 32位汇编语言程序设计(第3版)课件:通用数据处理指令.pptx
- C语言程序设计课件:C语言概述.pptx
- C语言程序设计课件:编译预处理.pptx
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)