新编c语言程序设计教程(本科)第3章

新编c语言程序设计教程(本科)第3章

ID:5284293

大小:170.97 KB

页数:55页

时间:2017-12-07

新编c语言程序设计教程(本科)第3章_第1页
新编c语言程序设计教程(本科)第3章_第2页
新编c语言程序设计教程(本科)第3章_第3页
新编c语言程序设计教程(本科)第3章_第4页
新编c语言程序设计教程(本科)第3章_第5页
资源描述:

《新编c语言程序设计教程(本科)第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章表达式第3章表达式3.1表达式基础3.2算术表达式3.3赋值表达式3.4逻辑表达式3.5位运算表达式3.6其它表达式第3章表达式3.1表达式基础3.1.1表达式的组成1.运算符运算符又称操作符,是一个符号,它指示在一个或多个操作数上完成某种运算操作或动作。C语言中,除了输入、输出及程序流程控制操作以外的所有基本操作都作为运算处理。如,赋值运算符“=”、逗号运算符“,”、括号运算符“()”。第3章表达式①算术运算符有+、—、*、/、%、++、-- ②关系运算符有<、<=、==、!=、>、>=③逻辑运算符有!、&&、

2、

3、④位运算符有<<、>>、~、

4、、^、&⑤

5、赋值运算符有=、+=、-=、*=、/=、%=⑥条件运算符有?:⑦逗号运算符有,⑧指针运算符有*、&⑨求字节数运算符有sizeof10 强制类型转换运算符有(类型) 11 其它运算符有.、→、()、[]等 第3章表达式2.操作数操作数是运算符的操作对象,可以是常量、变量、函数与表达式。 常量、变量、函数本身就是简单表达式,从一般意义上讲,C语言中所有操作数都是表达式。复杂表达式由运算符连接简单表达式形成。第3章表达式3.1.2表达式的书写C语言的表达式虽然来源于数学表达式,是数学表达式在计算机中的表示,但在书写时应该注意遵循C语言表达式书写的原则:(1)C语言的表

6、达式只能采用线性的形式书写。例如:13①ij应写成1/3+i+j*j*j。 3ab②ef应写成(a+b)/(c+d)*e+f。cd第3章表达式(2)C语言的表达式只能使用C语言中合法的运算符和操作数,对有些操作必须调用库函数完成,而且运算符不能省略。例如:①πr2应写成3.14159*r*r。 1②absina应写成0.5*a*b*sin(alph)。 2③

7、x-y

8、应写成fabs(x-y)。 ④y+2X应写成y+pow(2,x)。第3章表达式3.1.3表达式的分类 C语言表达式种类很多,有多种分类方法。我们一般依据运算的特征将表达式分为:①算术表达

9、式,如a+b*2.0-3.0/5.0。 ②关系表达式,如x>=y,关系表达式可以认为是逻辑表达式的特殊情况。 ③逻辑表达式,如(x>=2)&&(x<=8)。 ④赋值表达式,如a=b=c=1。 ⑤条件表达式,如(a>b)?a:b。 ⑥逗号表达式,如a=2,b=a*a,c=sqrt(b)。第3章表达式3.1.4表达式的计算1.运算符优先级 C语言将运算符的优先级划分为15级,初等运算()、[]、→、.优先级最高,单目运算!、~、++、--、-、(类型)、*、&、sizeof优先级次高,算术运算+、-、*、/、%再次之,然后是关系运算<、<=、==、![KG-*4]=

10、、>、>=,再然后是逻辑运算&&、

11、

12、,条件运算式?:,赋值运算=、+=、-=、*=、/=、%=,逗号运算优先级最低,位运算优先级比较分散。第3章表达式2.运算符的结合性运算符的结合性是指,优先级相同的运算从左到右进行(左结合性)还是从右至左进行(右结合性),左结合性是人们习惯的计算顺序。 C语言中,只有单目运算(!、~、++、--、-、*、&)、条件运算(?:)、赋值运算(=、+=、-=、*=、/=、%=)的结合性是右结合,其余运算为左结合。第3章表达式3.类型转换 一般讲相应的运算只有相应类型的数据才能进行,不同类型数据进行运算时,要进行类型转换。类型转换有

13、自动转换(又称隐含转换)与强制转换两种方式。 (1)自动转换。自动转换由系统自动完成,转换的规则如图3-1所示。Intusignedlongdouble↑↑short,charfloat图3-1第3章表达式纵向箭头方向表示必定要进行的转换,short型、char型数据必定先转换成int型,float型数据必定先转换成double型,再进行运算。 横向箭头方向表示类型自动转换的方向。由低向高转换,int型最低,double型最高。int型与usingned型数据进行运算,int型转换成unsigned;int型与long型数据进行运算,int型转换成long型;i

14、nt型与double型数据进行运算,int型转换成double型。其它类推。 这种转换是一种保值映射,在转换中数据的精度不受损失。第3章表达式(2)强制转换。强制类型转换通过类型转换运算进行。 格式:(类型名)(表达式) 将表达式的类型强制转换成类型名指定的类型。 如:floatx,y;(int)(x+y)将表达式x+y的值强制转换成整型强制类型转换在将高类型转换为低类型时,数据精度受损,是一种不安全的转换。强制类型转换是暂时性的,一次性的,并不永久改变所转换表达式的类型。如:inta;(double)a为双精度,a依然为整型量。第3章表达式例3–1表达式计算。

15、 (1)floatx=2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。