《语言 运算符PPT课件》由会员分享,可在线阅读,更多相关《语言 运算符PPT课件(26页珍藏版)》请在金锄头文库上搜索。
1、请问char、int、long、float、double型的变量分别在内存中占几个字节,它们的变量的取值范围是多少? 请问以下哪些是非法的实数: 12. .34 1 e12 1.3e+2 1e+2.5 3. 请问字符串“applena”的串长是多少,在内存中占几个字节?,运算符和表达式,运算符和操作数组成表达式,例如: (-a+b)*x+2 目:对一个运算符而言,参加运算的操作数的个数称为目。,单目(取负数) 双目(乘* ) 三目(条件运算符),最简单的表达式是一个常量或者变量。 含有多个运算符的表达式,其操作的顺序由优先级和结合性决定。 优先级:x+y*z 结合性:x+y-z 注:括号可以用
2、来改变表达式的优先级和结合方式 1+2*3 (1+2)*3,C语言具有以下几类运算符: 算术运算符 关系运算符 逻辑运算符 赋值运算符 条件运算符 逗号运算符 位运算符 指针运算符 求字节运算符 强制类型转换运算符 成员运算符 下标运算符 其它运算符,算术运算符和算术表达式,单目 - + - (取负数) (自增) (自减) 双目 + - * / % (加) (减) (乘) (除) (取余数) / 整数除:操作数都是整数,结果是整数 1/2= 实数除:操作数有实数,结果是实数 1/2.0= 取余数(模):操作数都是整数,结果是整数56,双目运算符两侧操作数的类型要相同 如果两侧类型不同,按50页
3、的转换规则进行转换,10/-3 1/3*3 -94 -5+3%2,算术表达式,x+2 2y,s*(s-a)*(s-b)*(s-c) (x+2)/(2*y),例: 数学式 表达式,s(s-a)(s-b)(s-c),算术运算符和算术表达式,+ (自增运算符) (自减运算符) int n=1; n+ +n n- -n,+n:n=n+1;取n值作为表达式+n的值 n+:取n值作为表达式n+的值;n=n+1,注:表达式的值,变量的值,运算符的操作数只能是变量,自增运算符和自减运算符,例: int i,k; i=1; k=+i; i=1; k=i+;,i=2; k=2; i=2; k=1;,i=2; x=
4、i+i+i; i=2; x=i+i+(+i);,算术运算符的优先级和结合性,单目 - + - 双目 * / % 双目 - +,高 2 从右向左 3 从左向右 低 4 从左向右,赋值运算符和赋值表达式,赋值运算符 简单赋值算术符 = 复合算术赋值算术符 += -= *= /= %= 赋值表达式 变量 赋值运算符 表达式 例:int x; x=2+3 x+=2+3 x=2.5,x=x+(2+3),赋值运算符的优先级和结合性,单目 - + - 双目 * / % 双目 - + 赋值运算符 = += -= *= /= %=,高 2 R 3 L 4 L 低 14 R,关系运算符和关系表达式,比较两个操作数
5、之间的关系 = = != 比较的结果: 真 1 假 0,23 2=3 2=3 2=3 2!=3,操作数可以是任意类型表达式,关系运算符和关系表达式,例: a=b+2= =3 b-1= =a!=c,单目 - + - 双目 * / % 双目 - + 关系运算符 = 关系运算符= != 赋值运算符 = += -= *= /= %=,高 2 R 3 L 4 L 6 L 7 L 低 14 R,int a=1,b=2,c=3;,关系运算符和关系表达式,3x5 x=1时 x=4时 (3x)5 恒为1,逻辑运算符和逻辑表达式,33 y=(31 ,短路规则: exp1sizeof(x); 2 float x=2
6、.3,y=2.2;sizeof(x+y); 8 sizeof(2*3) 2 float x; sizeof(x); 4,优先级:2 结合性:R,运算符的优先级和结合性,数据类型转换,自动类型转换(隐式类型转换) 强制类型转换,自动类型转换(非赋值运算),double float unsigned long long unsigned unsigned short int char,short,强制类型转换,强制类型转换运算符 (类型名)表达式 例如:int x;float y;char z; 求出下表达式的类型 x+y x+(int)y (char)(x+z) (char)x+z,优先级:2 结合性:R,知识点总结: 各种运算符的运算规则,优先级和结合性。 尤其要注意一些运算符的书写样式和与原有知识不同的运算规则。 不同类型的数据的类型转换。,