C语言程序设计课件:运算符与表达式.pptx

C语言程序设计课件:运算符与表达式.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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条

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档