收藏 分享(赏)

c语言运算符基础.doc

上传人:11xg27ws 文档编号:6331631 上传时间:2019-04-07 格式:DOC 页数:8 大小:120.50KB
下载 相关 举报
c语言运算符基础.doc_第1页
第1页 / 共8页
c语言运算符基础.doc_第2页
第2页 / 共8页
c语言运算符基础.doc_第3页
第3页 / 共8页
c语言运算符基础.doc_第4页
第4页 / 共8页
c语言运算符基础.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、C 语言的运算符不仅具有不同的优先级, 而且还有一个特点,就是它的结合性。在表达式中, 各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约, 以便确定是自左向右进行运算还是自右向左进行运算。 这种结合性是其它高级语言的运算符所没有的,因此也增加了 C 语言的复杂性。运算符的种类 C 语言的运算符可分为以下几类:1.算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余 (或称模运算,%)、自增(+)、自减(-)共七种。2.关系运算符用于比较运算。包括大于()、小于(=)、小于等于()六种。5.赋值运算符用于赋值运算,分为简单赋值(=)、复合

2、算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值( /*错误格式*/a+b=c; /*错误格式*/a=b=3=c; /*错误格式*/不能给未定义的变量( 未开辟的空间) 赋值. 通常为失误.如:int a;a=1;k=2; /*根本没定义变量 k,何来赋值一说?编译错误!*/如:int a=1,b=c,c=3;/*在定义语句中,程序是按照你的代码书写顺序来逐个开辟空间的,给 b 赋值时,c 变量还没产生呢,怎能使用?编译错误! 当然了,换成 int a=1,c=3,b=c;就万事大吉了.*/变量未明确赋值不能参与运算如: int a,b,c;c=a+b;/* a 和 b 中存放了何值

3、,你敢把它们加起来送给 c?一个有不确定值参与的运算有什么实际意义呢?编译报警!*/运算符 名称或含义 使用形式 结合方向 说明 数组下标 数组名常量表达式() 圆括号 (表达式)/函数名(形参表). 成员选择(对象) 对象. 成员名1- 成员选择(指针) 对象指针-成员名左到右2 - 负号运算符 -表达式 右到左 单目运算符(类型) 强制类型转换 (数据类型)表达式+ 自增运算符 +变量名/ 变量名+单目运算符- 自减运算符 -变量名/变量名- 单目运算符* 取值运算符 *指针变量 单目运算符 x=-a+b*-c; /-1+(2*(2)=3 printf(“%d“,x); 习题二、 int

4、a,b,i,j; i=5,j=5; a=-+i; /-(+i ) b=-j+; /-(j+ ) printf(“%dn“,a); /-6 printf(“%dn“,b); /-5 printf(“%dn“,i); /6 printf(“%dn“,j); /6习题三、void main()int i=8;printf(“%d/n“,+i);printf(“%d/n“,-i);printf(“%d/n“,i+);printf(“%d/n“,i-);printf(“%d/n“,-i+);printf(“%d/n“,-i-); ip,i+1i,i+1i,i+1ij+1-j,j+1-j,j+1-j,j+

5、j+j-q int i=5,j=5,p,q;p=(i+)+(i+)+(i+);q=(+j)+(+j)+(+j); 这个程序中,对 P=(i+)+(i+)+(i+)应理解为三个 i 相加,故 P 值为 15。然后 i 再自增 1三次相当于加 3 故 i 的最后值为 8。而对于 q 的值则不然,q=(+j)+(+j)+(+j)应理解为 q先自增 1,再参与运算,由于 q 自增 1 三次后值为 8,三个 8 相加的和为 24,j 的最后值仍为 8。算术表达式表达式是由常量、变量、函数和运算符组合起来的式子。 一个表达式有一个值及其类型, 它们等于计算表达式所得结果的值和类型。表达式求值按运算符的优先级和结合性规定的顺序进行。 单个的常量、变量、函数可以看作是表达式的特例。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报