C语言中复合赋值运算表达式等知识Word文档下载推荐.docx
- 文档编号:15888789
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:13
- 大小:665.23KB
C语言中复合赋值运算表达式等知识Word文档下载推荐.docx
《C语言中复合赋值运算表达式等知识Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言中复合赋值运算表达式等知识Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
复合赋值运算符的作用是先将复合运算符右边表达式的结果与左边的变量进行算术运算,然后再将最终结果赋予左边的变量。
所以复合运算要注意:
一、是复合运算符左边必须是变量;
二、是复合运算符右边的表达式计算完成后才参与复合赋值运算。
复合运算符常用于某个变量自身的变化,尤其当左边的变量名很长时,使用复合运算符书写更方便。
三,复合赋值运算的优先级符合C语言运算符的优先级表,结合方向为从右到左。
四,采用复合赋值运算可提高程序的效率。
如
到底Total=Total+3;
与Total+=3;
有没有区别?
答案是有的,对于
A=A+1,表达式A被计算了两次,对于复合运算符A+=1,表达
式A仅计算了一次。
一般的来说,这种区别对于程序的运行没有
多大影响,但是当表达式作为函数的返回值时,函数就被调用了两
次,而且如果使用普通的赋值运算符,也会加大程序的开销,使效率降低。
Eg1:
赋值运算符的演示:
运行结果:
-1800
3.2自增自减运算
自增运算符和自减运算符
自增和自减运算符是C++语言所特有的,主要用于给一个变量加1或减1。
自增和自减运算符及其功能如下:
++:
自增运算符。
如a++;
++a;
都等价于a=a+1。
--:
自减运算符。
如a--;
--a;
都等价于a=a-1。
自增运算符和自减运算符可以放到变量前面(前置方式)或者后面(后置方式),这两种方式同样实现了变量的自增或自减运算。
但是当变量的自增运算或者自减运算同其它运算符配合构成一个表达式时,前置运算时变量先做自增或自减运算,再将变化后的变量值参加表达式中的其它运算。
后置运算时变量在参加表达式中的其它运算之后,再做自增或自减运算。
Eg2:
前置与后置运算符的区别:
运行结果:
PostPre
54
43
32
21
10
3.3顺序程序设计举例
使用计算机解决问题,首先要求把问题描述清楚,需要作什么工作,先作什么,再作什么,达到什么条件后,就表示完成;
然后,再把这些步骤编程成计算程序,让计算机来实现。
问题的解决步骤叫作算法,算法这一词最早主要是指解决纯数学计算问题,现在可以指解决有关信息处理一切问题的方法与步骤。
当然,对于计算机用户而言最关心的是程序的输入和输出,算法是程序员要操心的。
每一个固定的算法有满足两个要求:
第一,有序性,算法是一组有序的操作步骤的组合,不同的执行顺序会有不同的结果。
第二,有穷性,一个算法只能有一个输入,一个输出,输入的条件经过有穷的步骤的后,可以得到一个输出结果,不可能无穷无尽的作个没完。
依据算法,可用计算机语言编写相对应的程序,如果算法中的每一步都是“直线”的执行,没有分支,那么这样编写的程序就是顺序结构的程序,顺序程序是最简单程序结构,也是一些程序的基础。
3.4应用举例
Eg3:
已知三角形三边,求三角形面积。
分析:
这里已知三角形三边a,b,c,使用了求面积的海伦公式:
Eg4:
两数求和程序:
Sum:
10+24=34
分析:
第4句定义了nNum1,nNum2,nSum是三个整型变量,int是整型标识符;
第8句printf一共有四个参数,其中第一个字符串中含有格式说明,第一个参数以后的所有参数,都是参数列表。
%d表示输入时,取对应参数表中变量的值,它是格式说明符。
4.1分支语句
分支结构程序是根据给定的条件来判断执行何种操作。
C++语言中提供了if语句来实现这个功能。
格式:
if(条件)
{
语句组1;
}else
语句组2;
}
◆if语句中的条件成立,执行语句组1,否则执行语句组2。
◆使用{}把一些语句包括起来,这叫作复合语句。
◆在{}括号中,可定义变量写C++语句,但它作为一个分支的整体执行或不执行。
◆如果语句组中只有一个条语句也可以不用{}括号,不写成复合语句,但为了程序清晰化,还是提倡使用复合语句。
输入两个整数,判断第一个整数是否可整除第二个整数。
判断是否可整除,可以使用判断其相除的余数是否为零作为条件,注意,这里==与=不同,==是表示判断两个数是否相等,而=是一个赋值运算符,这是程序很容易写错的地方。
if语句也可以只有一个分支。
输入两个整数,按由大到小排序输出。
这个问题的算法是:
输入两个整数nA,nB,如果nA<
nB,则交换nA,nB,再输出nA,nB
当nA<
nB条件不成立时,那么程序流程就不执行交换两个变量的操作。
直接执行printf语句。
反映在流程图上,就是直接画一条流程线。
Eg3:
输入一个成绩,然后根据分数段,输出其相应的等级:
[100,90]优
[80,89]良
[70,79]中
[60,69]极格
[0,59]不级格
分析:
本例中,由多个连续判断组成,
因此可以采用if/elseif级联
的语句形式。
if(...)
elseif(...)
}
else
4.2条件表达式和逻辑表达式
if语句条件里面填写的表达式,是条件表达式,而多个条件表达式,又可以组合成逻辑表达式。
C++语言提供了以下关系运算符:
<
小于
=
小于或等于
>
大于
大于或等于
==
等于
!
不等于
关系运算符是执行一种形式的运算,这个运算的结果是一个逻辑值,逻辑值只有真和假两种情况,C++用0表示假,用1(或其它非0的整数)表示真。
关系运算:
1,1,0,1,1
多个关系表达式可以组合成逻辑表达式,逻辑运算符仅有三种个:
运算符
意义
用法
&
与
表示两个条件要同时成立
||
或
表示两个条件只需要有一个成立
非
表示一个条件不成立时
例如:
nA=3,nB=9,nC=10,nD=20,那么:
1)表示nX既大于nA又小于nB,那么逻辑表达式可写成:
(nX>
nA&
nX<
nB)
注意:
C++语言中,不支持nA<
nB这样的写法。
这里只有当nX>
nA和nX<
nB两个分支同时都成立时,这个表达式才为真。
2)表示nX或者在nA到nB之间,或者在nC到nD之间,可表示为:
((nX>
nB)||(nX>
nC&
nD))
当组合表达式时,运算符间具有默认的优先运算级别。
C++的运算优先级为:
()→!
→算术运算(+,-,*,/)→关系运算(>
,<
,!
=,…)→&
→||
如果要改变原有优先级,需要加括号,因为括号的优先级是最高的。
一般在复杂的表达式中,提倡加上括号以示清晰。
4.3应用程序举例
求三个数中的最大数。
如果有a,b,c三个数,可以先找出前两个数的最大数,再同第三个数比较。
流程图如下图:
Eg5:
从键盘输入一个字母,如果是大写字母,就用小写字母输出,如果是小字母就用大写输入,如果不是字母,就提示”不能处理!
”。
ASCII码表,字母的码值排列是连续的,这为处理字符问题提供了很好的便利,而且,字符变量中其实保存的是字符的ASCII码,所以字符变量可以作为整型变量处理。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复合 赋值 运算 表达式 知识
![提示](https://static.bdocx.com/images/bang_tan.gif)