C语言之 2-2 数据类型、运算符和表达式.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言之 2-2 数据类型、运算符和表达式

C语言程序设计 2.3.5 赋值运算 1.简单赋值 简单赋值运算符“=“仅执行赋值操作,表达式的形式为: 操作数1=操作数2 “=“的功能是将右操作数的值赋给由左操作数指定的存储单元(变量)。左操作数必须是一个可更改内容的左值表达式.赋值运算符的右操作数类型可以和左操作数不同,执行赋值之前右操作数被自动转换为左操作数的类型。 如:int j; j=5.6; 则j的值为5; 对于基本类型,赋值表达式的形式可具体化为: 变量名=表达式 例如: int i=5,j; float a=3.0,b=3.5; double r; char c1,c2; c1=’a’; j=c1; /*由char向int转换,结果赋给j*/ r=a*b+i; /*a*b的结果由float向double转换,结果赋给r*/ c2=j; /*j由int向char转换,其结果赋给c2*/ i=c1c2; /*c1c2的类型与左操作数相同,直接赋值*/ 表达式的结果和类型与左操作数相同。 当右操作数又是一个赋值表达式时,形成多重赋值表达式,例如:i=j=0是一个合法的赋值表达式,“=”右结合。因此上式等价于i=(j=0)?,而j=0表达式的值为0,因此i的值也为0。 但要注意:多重赋值表达式不能出现在变量说明中,如: int i=j=0; 是非法的。 x = y = 4.0; 是先将值4.0赋给变量y,再赋给变量x。 如有变量说明: int k; double x; 则赋值表达式: x = k = 3.5; 是先将实数3.5自动转换成整数3赋给整型变量k,然后又将整数3自动转换成实数3.0赋给实型变量x,所以k的值是3,x的值是3.0。 i = (j = 3)+(k = 8) 表达式的值为11,使i值为11,使j值为3,k值为 8。 2.复合赋值 复合赋值运算符包括+ = - = * = / = % = = |= ^= =和=,其形式为 操作数1 OP=操作数2 可理解为下面的展开形式: 操作数1=操作数1 OP(操作数2) 下面举例说明复合赋值运算的意义: x += 5.0; 等效于x = x + 5.0 x *= u + v; 等效于x = x * (u + v) a += a -= b + 2; 等效于a = a + (a = a - (b + 2)) 赋值运算符和所有复合赋值运算符的优先级全相同,并且都是“自右至左”结合,它们的优先级高于逗号运算符的优先级,低于C语言中其它所有运算符的优先级。 2.3.5 赋值运算 2.3.6 条件运算 条件运算是一个三目运算,有三个运算分量。条件运算的一般形式为 表达式1 ? 表达式2 : 表达式3 条件运算的计算规则是: (1)计算表达式1的值; (2)如果表达式1的值非0(真),则计算表达式2,并以表达式2的值为条件运算的结果(不再计算表达式3); (3)如果表达式1的值为0(假),则计算表达式3,并以表达式3的值为条件运算的结果(不再计算表达式2)。 例如: x y ? x : y 如果 x y 条件为真,则条件运算取x值,否则取y值。 注意:表达式2和表达式3中只有一个被求值。 如果表达式2和表达式3是不同的基本类型,则进行一般算术转换,结果为转换后的类型; 例1. 设i类型为int,则 (i 0)? –i:i 结果为i的绝对值,类型为int. 例2.(d=0)? 1:-1 结果为d的符号。 例3.设a, b的类型为int,则 (ab)?a:b 结果为a,b中较大的一个。 例4.设ch 为char类型 (ch=’a’ ch=’z’)?(ch-‘a’+ ‘A’):ch 如果ch是小写字母,则结果为大写字母,若不是小写字母,结果为ch,类型为int。 例5.(a0)?1:((a0)?-1:0) 结果 例6.y3?-1.0:1 结果为实型, 即使y=3,结果也为1.0。 1 a0 0 a=0 -1 a0 为了便于调试程序,下面讲printf。 3.2.2 格式输出函数printf 一般调用形式为: printf(“格式控制字符串”,输出项表列); 其功能是按“格式控制字符串”所指定的格式,在计算机标准输出设备(通常为显示器)上依次输出由输出项表列所指定的输出项。 输出项表列用于指定输出内容,它通常由一个或多个输出项构成,当有多个输出项时,输出项之间应使用逗号“,”分隔,输出项可以是常量、变量或表达式。输出项的顺序、个数与类型要与“格式控制字符串”中的格式说明符的顺

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档