资源描述:
《C语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章表达式与运算符内容提要表达式体现对数据的处理,由运算符和运算对象组成掌握每种运算符的以下知识:对运算对象的要求运算符的结合性运算符的优先级运算结果的特性有多种运算符的复杂表达式的计算顺序及计算结果数据类型的自动转换规则及强制转换的方法表达式的组成表达式实现对数据的处理,每个表达式都有唯一的值表达式由运算对象和运算符组成运算对象的种类:常量、变量、有返回值的函数调用、其它表达式例:2arand()(2+a)*rand()运算符:共34种,分为15个不同的优先级可以理解成是不带运算符的最简单表达式常量
2、表达式变量表达式函数表达式带运算符的表达式C运算符算术运算符:(+-*/%++--)关系运算符:(<<===>>=!=)逻辑运算符:((!&&
3、
4、)位运算符:(<<>>~
5、^&)赋值运算符:(=及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(*&)求字节数:(sizeof)强制类型转换:(类型)分量运算符:(.->)下标运算符:([])其它:(()-)C语言的运算符左值与右值每个表达式都有唯一确定的值,表达式不是左值就是右值右值:只能出现在赋值号(=)右边的表达式左值:不是右值的表达式就是
6、左值左值与右值的关系:右值只能出现在赋值号的右边;而左值既可以出现在赋值号的左边,又可以出现在赋值号的右边。左值可以取地址,右值不可以取地址.例:2arand()(2+a)*rand()a=b常量表达式只能作为右值例:a=2;(右值)变量表达式为左值,既可在赋值号左边也可以在右边,例:a=5;(左边)b=a;(右边)此函数表达式为右值例:a=rand()右值)此表达式只能作为右值例:b=(2+a)*rand();(右值)赋值表达式只能作为右值例:c=a=b;(右值)(a=b)=c;(出错)算术运算符算术
7、运算符主要完成数值计算问题,具体如下表所列运算符优先级结合方向对运算对象的要求运算结果特性特殊说明-取负2从右到左整、实型值运算对象的相反数单目运算符++自增整,实,字符,指针型变量结果与变量的值可能一致单目,分为前++后++--自减单目,分为前--后--*乘3从左到右允许整型与实型数混合只要有1个实对象结果实型,否则整型结果/除两个整数相除只能得到整数商%取余仅限整型数整除的余数正负号同第1数+加4从左到右允许整型与实型数混合只要有1个实对象结果实型,否则整型结果-减例:inta=3,b,c;a++的
8、表达式结果是3,变量a的值是4;++a的表达式结果是4,变量a的值是4;因此,c=a++执行后,c的值是3,a的值是4b=++a执行后,b的值是4,a的值也是4例:inta=3;-a结果为-3,但是变量a的值仍为3-2.45是2.45的相反数例:inta=3,b,c;a--的表达式结果是3,变量a的值是2;--a的表达式结果是2,变量a的值是2;因此,c=a--执行后,c的值是3,a的值是2b=--a执行后,b的值是2,a的值也是2例:inta=27,b=5,c;表达式a/b结果是5,而不是5.4表达式
9、27.0/b结果是5.4表达式27.0/5.0结果是5.4例:inta=27,b=5,c;表达式a%b结果是2,表达式-a%b结果是-2表达式27.0%b是错误的例:表达式2+3结果是5表达式2+3.0结果是5.0表达式2.0+3.0结果是5.0例:表达式3-2结果是1表达式3.0-2结果是1.0表达式3.0-2.0结果是1.0算术运算符程序3.1赋值表达式及算术运算符示例#include#include//包含随机函数rand的声明intmain(){inta=5
10、,b=6,c=7;printf(“%d”,rand());//显示随机数print("%d",a*(b+c)/2-2);//显示算术表达式的值printf("%d",a=b);//显示赋值表达式即a的值b=rand()%10;//混合表达式赋0至9之间的1个随机数printf(“%d”,c=a=b);//显示赋值表达式的值即c的值return0;}<运行结果>413067关系运算符关系运算符主要完成表达式间的比较,比较的结果非真即假,C语言中无逻辑类型,故用1表示真,0表示假任何类型的值
11、,只要不等于0,在需要作出真假判断的场合就代表逻辑真。运算符优先级结合方向对运算对象的要求运算结果特性>大于6从左到右允许不同类型的值混合计算,运算对象非0就表示真值,0表示假,当类型不一致时,会自动进行类型转换为同一种类型关系表达式的最终结果只有两个值:1或0,1表示真,0表示假用括号可以提升优先级,有时为了更清晰<小于>=大于等于<=小于等于==相等7!=不相等结论:关系运算符的优先级低于算术运算符例:c<(a+b)可以写成:c