c语言赋值语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本次考试c语言考得最多的就是判断表达式的值。
今天我们先来一个专题:赋值语句
如:若有语句int a=6;,则执行语句a+=a-=a*a;后a的值为
首先观察这里面有几个运算符,他们的优先级和结合性是怎么样的。
从以上表中我们不难得出:优先级排列顺序(优先级就是先算什么后算什么)
括号>单目运算符(包括正负号,++,——)>算术运算符(乘除模除加减)>关系运算符(<、>、==等)>逻辑运算符(&&、||、!)>赋值运算符>逗号运算符。
在本题中,有两个复合赋值运算符+=和-=,和一个算术运算符*。我们应该先算a*a=36,
因为复合赋值的结合方式(同样的优先级的运算符是先算左还是算右)是从右向左,所以我们先算a-=a*a,等价于a=a-a*a=6-36=-30。
到这儿,a就是-30了。a=a+a=-60
所以答案是-60.
另外,一个合法的赋值语句,它的左侧不能为表达式。赋值语句的格式即为变量=表达式。
答案选C,这是逗号表达式的表达形式。参照课本。