- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文科C语言_第3章_数据类型
3.9 赋值运算符和赋值表达式 注意:如果b是包含若干项的表达式,则相当于它有 括号。 如: ① x %= y+3 ② x %= (y+3) |__↑ ③ x = x %(y+3)(不要错写成x=x%y+3) 凡是二元(二目)运算符,都可以与赋值符一起组合成复合赋值符。 C语言规定可以使用10种复合赋值运算符: +=,-=,*=,/=,%=,=,=,&=,∧=,|= 3.9 赋值运算符和赋值表达式 (4) 赋值表达式 由赋值运算符将一个变量和一个表达式连接 起来的式子称为“赋值表达式”。 一般形式为: 变量赋值运算符表达式 例如: “a=5”是一个赋值表达式 3.9 赋值运算符和赋值表达式 对赋值表达式求解的过程是: ①求赋值运算符右侧的“表达式”的值; ②赋给赋值运算符左侧的变量。 例如: 赋值表达式“a=3*5”的值为15,执行表达式后,变量a的值也是15。 注意: 一个表达式应该有一个值 3.9 赋值运算符和赋值表达式 左值 (lvalue) : 赋值运算符左侧的标识符 变量可以作为左值; 而表达式就不能作为左值(如a+b); 常变量也不能作为左值, 右值 (lvalue) :出现在赋值运算符右侧的表达式 左值也可以出现在赋值运算符右侧,因而左值 都可以作为右值。 3.9 赋值运算符和赋值表达式 赋值表达式中的“表达式”,又可以是一个赋值表 达式。例如: a=(b=5) 分析:括弧内的“b=5”是一个赋值表达式,它 的值等于5。执行表达式“a=(b=5)”相当于执行 “b=5”和“a=b”两个赋值表达式。 赋值运算符 按照“自右而左”的结合顺序,因此,“(b=5)” 外面的括弧可以不要,即“a=(b=5)”和“a=b=5” 等价。 3.9 赋值运算符和赋值表达式 请分析下面的赋值表达式∶(a=3*5)=4*3 分析:先执行括弧内的运算,将15赋给a,然后执行 4*3的运算,得12,再把12赋给a。最后a的值为12, 整个表达式的值为12。可以看到∶(a=3*5)出现在赋 值运算符的左侧,因此赋值表达式(a=3*5)是左值 注意:在对赋值表达式(a=3*5)求解后,变量a得到值 15执行(a=3*5)=4*3时,实际上是将4*3的积12赋给变 量a,而不是赋给3*5。 不能写成: a=3*5=4*3 3.9 赋值运算符和赋值表达式 赋值表达式也可以包含复合的赋值运算符。 如:a+=a-=a*a 分析:此赋值表达式的求解步骤如下∶ ① 先进行“a-=a*a”的运算, 它相当于a=a-a*a,a的值为12-144=-132。 ②再进行“a+=-132”的运算,相当于a=a+(-132),a的值为-132-132=-264。 3.9 赋值运算符和赋值表达式 将赋值表达式作为表达式的一种,使赋值操作不仅可以出现在赋值语句中,而且可以以表达式形式出现在其他语句(如输出语句、循环语句等)中。 如:printf(%d,a=b); 分析:如果b的值为3, 则输出a的值(也是表达式a=b的值)为3。在一个语句中完成了赋值和输出双重功能。 3.5 字符型数据 3.5.3 字符数据在内存中的存储形式及其使用方法 一个字符常量存放到一个字符变量中,实际上并不是把该字符的字型放到内存中去,而是将该字符的相应的ASCII代码放到存储单元中。这样使字符型数据和整型数据之间可以通用。 注意: 一个字符数据既可以以字符形式输出,也可以以整数形式输出。 例3.6 向字符变量赋以整数。 #include stdio.hvoid main() { char c1,c2; c1=97; c2=98; printf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 说明:在第3和第4行中,将整数97和98分别赋给c1和c2,它的作用相当于以下两个赋值语句: c1=′a′;c2=′b′; 因为’a’和’b’的ASCII码为97和98 运行结果: a b 97 98 例3.7 大小写字母的转换 #include stdio.hvoid main() { char c1,c2; c1=’a’; c2=’b’; c1=c1-32; c2=c2-32; printf(“%c %c″,c1,c2); } 说明:程序
您可能关注的文档
- 微机原理与汇编语言-1-数据表示.ppt
- 3_2 汇编语言基础 2011 final.ppt
- 汇编语言3伪指令.ppt
- 初级电算化多项选择题.doc
- c_basic.ppt
- C语言第03章_2007.ppt
- rjxmgl4.ppt
- ACREAD9.doc
- ch01v2.ppt
- 第三章汇编.ppt
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
原创力文档


文档评论(0)