c语言中复合赋值运算,表达式等知识

c语言中复合赋值运算,表达式等知识

ID:11788510

大小:107.00 KB

页数:10页

时间:2018-07-14

c语言中复合赋值运算,表达式等知识_第1页
c语言中复合赋值运算,表达式等知识_第2页
c语言中复合赋值运算,表达式等知识_第3页
c语言中复合赋值运算,表达式等知识_第4页
c语言中复合赋值运算,表达式等知识_第5页
资源描述:

《c语言中复合赋值运算,表达式等知识》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、3.1复合赋值运算算术运算符“+—*/%”和赋值运算符“=”结合起来,形成复合赋值运算符。如下所示:  += :加赋值运算符。如a+=3+1,  等价于a=a+(3+1)。-= :减赋值运算符。如a-=3+1,  等价于a=a-(3+1)。*= :乘赋值运算符。如a*=3+1,  等价于a=a*(3+1)。/=:除赋值运算符。如a/=3+1,  等价于a=a/(3+1)。%=:取余赋值运算符。如a%=3+1,等价于a=a%(3+1)。复合赋值运算符的作用是先将复合运算符右边表达式的结果与左边的变量进行算术运

2、算,然后再将最终结果赋予左边的变量。所以复合运算要注意:一、是复合运算符左边必须是变量;二、是复合运算符右边的表达式计算完成后才参与复合赋值运算。复合运算符常用于某个变量自身的变化,尤其当左边的变量名很长时,使用复合运算符书写更方便。三,复合赋值运算的优先级符合C语言运算符的优先级表,结合方向为从右到左。四,采用复合赋值运算可提高程序的效率。如到底Total=Total+3;与Total+=3;有没有区别?答案是有的,对于A=A+1,表达式A被计算了两次,对于复合运算符A+=1,表达式A仅计算了一次。一般的

3、来说,这种区别对于程序的运行没有多大影响,但是当表达式作为函数的返回值时,函数就被调用了两次,而且如果使用普通的赋值运算符,也会加大程序的开销,使效率降低。Eg1:赋值运算符的演示:#includevoidmain(){intnA=10;intnB=10;printf("%dt",nA+=nA-=nA*nA);printf("%d",nB+=nB-=nB*=nB);}运行结果:-18003.2自增自减运算自增运算符和自减运算符自增和自减运算符是C++语言所特有的,主要用于给一个变量加1或

4、减1。自增和自减运算符及其功能如下:++:自增运算符。如a++;++a;都等价于a=a+1。--:自减运算符。如a--;--a;都等价于a=a-1。自增运算符和自减运算符可以放到变量前面(前置方式)或者后面(后置方式),这两种方式同样实现了变量的自增或自减运算。但是当变量的自增运算或者自减运算同其它运算符配合构成一个表达式时,前置运算时变量先做自增或自减运算,再将变化后的变量值参加表达式中的其它运算。后置运算时变量在参加表达式中的其它运算之后,再做自增或自减运算。Eg2:前置与后置运算符的区别:#inclu

5、devoidmain(){intnNum1,nNum2;nNum1=nNum2=5;printf("PostPre");printf("%d%d",nNum1--,--nNum2);printf("%d%d",nNum1--,--nNum2);printf("%d%d",nNum1--,--nNum2);printf("%d%d",nNum1--,--nNum2);printf("%d%d",nNum1--,--nNum2);}运行结果:PostPre54433

6、221103.3顺序程序设计举例使用计算机解决问题,首先要求把问题描述清楚,需要作什么工作,先作什么,再作什么,达到什么条件后,就表示完成;然后,再把这些步骤编程成计算程序,让计算机来实现。问题的解决步骤叫作算法,算法这一词最早主要是指解决纯数学计算问题,现在可以指解决有关信息处理一切问题的方法与步骤。当然,对于计算机用户而言最关心的是程序的输入和输出,算法是程序员要操心的。每一个固定的算法有满足两个要求:第一,有序性,算法是一组有序的操作步骤的组合,不同的执行顺序会有不同的结果。第二,有穷性,一个算法只能

7、有一个输入,一个输出,输入的条件经过有穷的步骤的后,可以得到一个输出结果,不可能无穷无尽的作个没完。依据算法,可用计算机语言编写相对应的程序,如果算法中的每一步都是“直线”的执行,没有分支,那么这样编写的程序就是顺序结构的程序,顺序程序是最简单程序结构,也是一些程序的基础。3.4应用举例Eg3:已知三角形三边,求三角形面积。#include#includevoidmain(){doubledbA=3.0;doubledbB=4.0;doubledbC=5.0;doubled

8、bS=(dbA+dbB+dbC)/2;doubledbArea=sqrt(dbS*(dbS–dbA)*(dbS–dbB)*(dbS–dbC));printf(“三角形的面积是:%lf”,dbArea);}分析:这里已知三角形三边a,b,c,使用了求面积的海伦公式:Eg4:两数求和程序:#includevoidmain(){intnNum1,nNum2,nSum;nNum1=10;nNum2=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。