C语言中《赋值运算》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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()
{
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
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:已知三角形三边,求三角形面积。
分析:这里已知三角形三边a,b,c ,使用了 求面积的海伦公式:
)
)()((2
c S b S a S S A c
b a S ---=
++=
Eg 4:两数求和程序:
运行结果:
Sum: 10 + 24 = 34
分析:
第4句定义了nNum1,nNum2,nSum 是三个整型变量,int 是整型标识符;
第8句printf 一共有四个参数,其中第一个字符串中含有格式说明,第一个参数以后的所有参数,都是参数列表。
%d 表示输入时,取对应参数表中变量的值,它是格式说明符。
#include
int nNum1,nNum2,nSum;
nNum1=10; nNum2=24;
nSum= nNum1 + nNum2
printf(‖sum: %d + %d = %d \n",nNum1,nNum2,nSum); }
#include
double dbS = (dbA + dbB + dbC ) / 2;
double dbArea = sqrt(dbS*(dbS –dbA)*(dbS –dbB)*(dbS – dbC)); printf(―三角形的面积是:%lf\n‖,dbArea);
}