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)。
复合赋值运算符的作用是先将复合运算符右边表达式的结果与左边的变量进行算术运算,然后再将最终结果赋予左边的变量。所以复合运算要注意:
一、是复合运算符左边必须是变量;
二、是复合运算符右边的表达式计算完成后才参与复合赋值运算。
复合运算符常用于某个变量自身的变化,尤其当左边的变量名很长时,使用复合运算符书写更方便。Eg 1:赋值运算符的演示:
#include void main()
#include
void main()
{
int nA=10;
int nB=10;
printf("%d\t",nA+=nA-=nA*nA);
printf("%d ",nB+=nB-=nB*=nB);
}
运行结果:
-180 0
3.2自增自减运算
自增运算符和自减运算符
自增和自减运算符是C++语言所特有的,主要用于给一个变量加1或减1。自增和自减运算符及其功能如下:+ +:自增运算符。如a++; ++a;都等价于a=a+1。- -:自减运算符。如a- -; - -a;都等价于a=a-1。
自增运算符和自减运算符可以放到变量前面(前置方式)或者后面(后置方式),这两种方式同样实现了变量的自增或自减运算。但是当变量的自增运算或者自减运算同其它运算符配合构成一个表达式时,前置运算时变量先做自增或自减运算,再将变化后的变量值参加表达式中的其它运算。后置运算时变量在参加表达式中的其它运算之后,再做自增或自减运算。
Eg 2:前置与后置运算符的区别:
#include
#include
void main()
{
int nNum1,nNum2;
nNum1=nNum2 = 5;
printf("\nPost Pre");
printf("\n%d %d",nNum1--,--nNum2);
printf("\n%d %d",nNum1--,--nNum2);
printf("\n%d %d",nNum1--,--nNum2);
printf("\n%d %d",nNum1--,--nNum2);
printf("\n%d %d\n",nNum1--,--nNum2);
}
运行结果:
Post Pre
5 4
4 3
3 2
2 1
1 0
3.3顺序程序设计举例
使用计算机解决问题,首先要求把问题描述清楚,需要作什么工作,先作什么,再作什么,达到什么条件后,就表示完成;然后,再把这些步骤编程成计算程序,让计算机来实现。问题的解决步骤叫作算法,算法这一词最早主要是指解决纯数,,,,计算问题,现在可以指解决有关信息处理一切问题的方法与步骤。
当然,对于计算机用户而言最关心的是程序的输入和输出,算法是程序员要操心的。
每一个固定的算法有满足两个要求:
第一,有序性,算法是一组有序的操作步骤的组合,不同的执行顺序会有不同的结果。
第二,有穷性,一个算法只能有一个输入,一个输出,输入的条件经过有穷的步骤的后,可以得到一个输出结果,不可能无穷无尽的作个没完。
依据算法,可用计算机语言编写相对应的程序,如果算法中的每一步都是“直线”的执行,没有分支,那么这样编写的程序就是顺序结构的程序,顺序程序是最简单程序结构,也是一些程序的基础。
3.4应用举例
Eg 3:已知三角形三边,求三角形面积。
#include #include
#include
#include
void main()
{
double dbA = 3.0;
double dbB = 4.0;
double dbC = 5.0;
double dbS = (dbA + dbB + dbC ) / 2;
double dbArea = sqrt(dbS*(dbS–dbA)*(dbS–dbB)*(dbS– dbC));
printf(“三角形的面积是:%lf\n”,dbArea);
}
分析:这里已知三角形三边a,b,c,使用了 求面积的海伦公式:
Eg 4:两数求和程序:
#include void main()