c语言教程第二章2

c语言教程第二章2

ID:43082027

大小:286.50 KB

页数:26页

时间:2019-09-29

c语言教程第二章2_第1页
c语言教程第二章2_第2页
c语言教程第二章2_第3页
c语言教程第二章2_第4页
c语言教程第二章2_第5页
资源描述:

《c语言教程第二章2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言使用的基本表达式有:⑴赋值表达式,如:a=3⑵算数表达式,如:3+4*2⑶关系表达式,如:3>2⑷逻辑表达式,如:3>5&&a>=b⑸条件表达式,如:a>b?a:b⑹逗号表达式,如:a=3,b=4,c=512.3运算符和表达式2.3.1算术运算符和算术表达式1.算术运算符+ -* / %2.算术表达式:由算术运算符、常数、变量、函数和圆括号组成例如:‘a’+‘b’+a*b/c+2.83.优先级:* / %高于+  -4.结合性:“左结合性”或称为“自左至右的结合方向”即运算对象先与左边的运算符结合。例如:a-b+c注意:/

2、是除法运算符。当两个整数相除时为整除。9/2=4;-9/2=-4;%是取余数运算符,只能作用于两个整数。运算结果的符号与被除数的符号一致。9%2=1;-9%2=-1;9%-2=1;2符号说明优先级结合性算术表达式+-单目取正单目取负1414从右到左a=+8b=-a*/%乘除取余131313从左到右a=12*5.5b=14/6.5c=12%5+-加减1212从左到右a=15+8.5b=18-8.5基本算术运算符3运算符属性:(1)优先级当若干个运算符同时出现在表达式中时,优先级规定了运算的先后次序。优先级有15级。C语言把圆括号作

3、为运算符,规定它的优先级最高,规定为15级,从而保证优先运算圆括号内的式子,逗号运算符的级别最低,规定为1级。(2)结合性当若干个具有相同优先级的运算符相邻出现在表达式中时,结合性规定了运算的先后次序。分为“从左到右”和“从右到左”两个结合方向。大多数运算符的结合方向”从左到右”;单目运算符、赋值运算符和条件运算符的结合方向”从右到左”(单目运算符是指作用于一个操作对象的运算符)。4例:将下列数学表达式:写成符合C语言规则的表达式如下:(a+b+c)/(sqrt(a)+b*(sin(x)+sin(y)+sin(z)))其中sqr

4、t(a)和sin(x)、sin(y)、sin(z)都是数学函数的引用,表达式中用了三层括号,以保证表达式的运算顺序。52.3.2赋值运算符和赋值表达式1.一般赋值运算符:=赋值表达式:由赋值运算符将一个变量和一个表达式连接起来的式子。形式:变量名=常量或表达式作用:将右边常量或表达式的值赋给左边的变量。例:a=362.3.2赋值运算符和赋值表达式说明:(1)赋值后,原来左边的值被右边表达式的值替换;(2)如果右边表达式的值的类型与左边变量的类型不一致,以左边变量的类型为准,将表达式值的类型转换为左边变量的类型。(3)结合方向“从

5、右向左”。例:x=y=a+b等价x=(y=a+b)(4)左边变量的值作为整个赋值表达式的值.x=y=3+4(值为7)(5)赋值表达式加上分号,称为赋值语句.如:x=a+5;72.3.2赋值运算符和赋值表达式例:已知:inta,b=5,c=4计算表达式a-=a=b+c的值。解:a-=a=b+ca-=(a=b+c)a=a-99a00a8例:main(){inta;doubleb=3.5;a=b+2.1;printf(“a=%d”,a);}92.复合赋值运算符复合赋值运算符:在赋值符“=”之前加上其它运算符。常见的有:+=,-=,*=

6、,/=,%=复合赋值运算的功能:与左边的变量进行复合运算后再赋给左边变量。10如:a+=3等价于a=a+3x*=y+8等价于x=x*(y+8)x%=3等价于x=x%3112.复合赋值运算符例:inta=1,b=2,c=2;doublex=1.5,y=2,z=2;c*=a-b;c的值?-2int型z-=x+y;z的值?-1.5double型122.3.3逗号运算符和逗号表达式1.逗号运算符:即“,”优先级:为所有运算符中级别最低的(15)。2.逗号表达式形式:表达式1,表达式2,……,表达式n求解过程:顺次求解表达式1,表达式2…

7、…最后求解表达式n。逗号表达式的值为表达式n的值。结合性:左结合例如:a=3*5,a*4a=3*5,a*4,a+5x=(a=4%3,a+1,a*10)602010132.4、各类数值型数据间的混合运算一、运算过程:先自动转换成同类数据,再进行运算。二、转换规则:低字节类型转换成高字节类型。double←float↑long↑unsigned↑int←char,short①向左的横向箭头表示即使在同一种数据类型间进行运算时也要进行转换。用于提高精度。②向上纵向箭头表示当运算对象类型不同时的转换方向。14例:若有:inti;floa

8、tf;doubled;longe;试判断表达式3+‘b’+i*f-d/e的类型intunsignedintlongintunsignedlongintdoubleshort,charfloat系统自动转换3/4?3.0/4?1/2*15*20?1.0/2*15*

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

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

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