c语言printf("%dt%ft%dn",a,b,c);,C语言第三章运算符与表达式.ppt

《C语言第三章运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《C语言第三章运算符与表达式.ppt(20页珍藏版)》请在装配图网上搜索。

1、第三章 运算符与表达式,3.1 基本概念, 表达式:用运算符与圆括号将操作数(常量、变量、函数等)连接起来所构成的式子。,如:(a+2)*(b-3)/(x+y)-sqrt(9.0), 单目、双目、三目运算符:根据运算符所需要的操作数的个数将其分为单目、双目和三目运算符。,如: x+y-z,-25 , a*b /c ,x=5, double v; v=1/3*3.14*r*r*h; printf(“v=%f ”,v); ,3.3 赋值运算符和赋值表达式,1. 赋值运算符分为简单赋值和复合赋值两种。,2 赋值运算的一般形式: 1) 简单赋值: E1 = E2,2) 复合赋值: E1 op= E2,。

2、说明: E1 为变量,E2 为常量、变量或表达式。,E1=(E1 op E2),说明: op 运算符共有十种(算术和位运算),要求掌握下列五种: *= 、 /= 、 %= 、 + = 、 - =,注意: E1、E2 类型不同时,自动转换类型,结果为E1 的类型。 可以连续赋值给多个变量,但不能用于初始化。,计算下面各程序段的输出结果: int a=3,b=2,c; 1. b*=a+4*3%5; printf(%d“,b ); 2. a=8; a*=b=c=3; printf(%d,%d“,a,b); 3. a=5+(c+=3); printf(%d,%d“,a,c);,3.4 不同类型数据间的。

3、相互转换,类型转换的概念: 在程序运行中,一种数据的类型改变成另一 种数据类型。,类型转换两种方式 1.自动类型转换(隐式转换) 系统自动转换。 2.强制类型转换(显式转换)人为进行的转换。,一. 自动类型转换 发生在下列三种情况: 1. 混合运算.,2. 赋值运算.,3. 数据输入输出.,如: int i=2 ; float f =3.6; double d=3.2; long int e=45; 10+a+i*f-d/e ;,如: int a ; float b=2.4 ; a=b+5 ;,如: char st=a ; printf(“%d”,st);,自动类型转换转换原则:,低 高 in。

4、t unsigned long double * * char、short float,说明: 1. 带(*)无条件的转换;其它按类型的高低“向高看齐”。 2. 无精度损失,但赋值运算中视情况而定。 3. C 语言允许字符数据与整数直接进行算术 运算。,二.强制类型转换,类型转换运算符,一般形式: (类型名)表达式,说明: 1. 强制转换得到所需类型的中间变量,原变量类型不变 。 2. 较高类型向较低类型转换时可能发生精度损失。,例: (int)(x+y) (int)x+y (float)(3/2) (int)7.6 %3,例: int a; double b=3.25 ; a=(int)b+。

5、8; printf(“%d, %f ”,a,b); 输出: 11, 3.25000,关系运算符共有六种: (大于),= (大于等于) b+c, (a=3)(b=5) a(b=c), (ab)(b a+b 2. ab= c 3. a=b c 5. m=abc 6. c+1= a 7. c *2 != b 8. m=c=a%b,1. 三种逻辑运算,3.6 逻辑运算符和逻辑表达式,2. 逻辑值的表达, 在给出逻辑运算结果时,以数值 1 代表“真”, 以数值 0 代表“假”; 在判断一个量是否为“真”时,将所有非0 的数 据都认作 “真”。,2. 运算规则,注意: a int m, n=1; m=ab。

6、 输出: m=0,n=1,自增、自减运算符是最具C语言特点的运算符。用于对变量自身的加 1 或 减 1 运算。,3.7 自增、自减运算符及其表达式,表达式形式: 1. 后缀 表达式: E+ , E - - 2. 前缀 表达式: + E , - - E,自增运算符:+ (单目). 自减运算符:- - (单目).,若有 int a, b, j, m ; 则: a + , + b , - - j , m - - 5 + , - - 6 ,对于操作数E : E+ 、 + E 等价于 E= E+1 ; E - - 、 - - E 等价于 E= E-1 ;,运算规则: 1.无论前缀运算或后缀运算,对 + 。

7、运算符来讲,操作数的值加1 ;对 - - 运算符来讲,操作数的值减1 。,2.对 + 运算符来讲,前缀运算表达式的值为操作数加1 ;后缀运算表达式的值为原操作数的值。,3.对 - - 运算符来讲,前缀运算表达式的值为操作数减1 ;后缀运算表达式的值为原操作数的值。,如: int a=5 ,b=5, m ,n; m=a+ ; n= +b ; printf(“%d,%d,%d,%d”,m,n,a,b) ; 输出: 5, 6 ,6,6,如: int a=5 , b=5, m ,n; m=a - - ; n= - - b ; printf(“%d,%d ,%d,%d”,m,n ,a,b) ; 输出: 。

8、5, 4 ,4,4,3.8 位逻辑运算符, 在系统软件中,常要处理二进制位的问题。所谓位运算是指进行二进制位的运算。, C 语言提供如下两类 6 种位运算符: 1. 按位逻辑运算符: float b=10.8; c1=sizeof( a ); c2=sizeof( b ); printf(%d,%dn,c1,c2); printf(%d,%dn, sizeof( int ), sizeof( float); printf(%d,%dn, sizeof( 3 ), sizeof( 10.8 ); 输出: 2, 4 2, 4 2, 8,3 . 条件运算符和条件表达式, 条件运算符 ? :是 C 语。

9、言唯一的三目运算符。, 条件表达式的一般形式: E 1? E 2 : E 3, 运算规则: 先求解E1,若为非0(真),则求解E2,此时E2的值 就作为整个条件表达式的值; 若E1的值为 0(假),则求解E3,此时E3的值就作 为整个条件表达式的终值。,E1、E2、E3 可以是变 量、常量或表达式。,例: int a=2,b=5,c=1,max ; max =ab ? b : (a+c) ;,注意: 1. 条件运算符的结合方向为“自右至左”。 2. 当E 2与E 3的类型不同时,条件表达式的值 的类型为二者中较高的类型。,例: int a=1,b=2,c=3,d=4,m ; m = ab ? a : cd ? c :d ;,例: int x=5, y=2, z ; z = sizeof( x y? 1 : 1.5。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值