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

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)。

复合赋值运算符的作用是先将复合运算符右边表达式的结果与左边的变量进行算术运算,然后再将最终结果赋予左边的变量。所以复合运算要注意:

一是复合运算符左边必须是变量;

二是复合运算符右边的表达式计算完成后才参与复合赋值运算。

复合运算符常用于某个变量自身的变化,尤其当左边的变量名很长时,使用复合运算符书写更方便。

四,采用复合赋值运算可提高程序的效率。如

到底Total=Total+3;与Total+=3;有没有区别?答案是有的,对于

A=A+1,表达式A被计算了两次,对于复合运算符A+=1,表达

式A仅计算了一次。一般的来说,这种区别对于程序的运行没有

多大影响,但是当表达式作为函数的返回值时,函数就被调用了两

次,而且如果使用普通的赋值运算符,也会加大程序的开销,使效率降低。

赋值运算符的演示

运行结果:

-180 0

自增运算符和自减运算符

自增和自减运算符是C++语言所特有的,主要用于给一个变量加1或减1。自增和自减运算符及其功能如下:+ +:自增运算符。如a++; ++a;都等价于a=a+1。- -:自减运算符。如a- -- -a;都等价于a=a-1。

自增运算符和自减运算符可以放到变量前面(前置方式)或者后面(后置方式),这两种方式同样实现了变量的自增或自减运算。但是当变量的自增运算或者自减运算同其它运算配合构成一个表达式时,前置运算时变量先做自增或自减运算,再将变化后的变量值参加表达式中的其它运算。后置运算时变量在参加表达式中的其它运算之后,再做自增或自减运算。

前与后运算符的区别

运行结果:

Post Pre

5 4

4 3

3 2

2 1

1 0

3.3顺序程序设计举例

使用计算机解决问题,首先要求把问题描述清楚,需要作什么工作,先作什么,再作什么,达到什么条件后,就表示完成然后,再把这些步骤编程成计算程序,让计算机来实现问题的解决步骤叫作算法,算法这一词最早主要是指解决纯数学计算问题,现可以解决有关信息处理一切问题的方法与步骤

当然,对于计算机用户而言最关心程序的输入和输出

每一个固定的算法有满足两个要求:

第一,有序性,算法是一组有序的操作步骤的组合,不同的执行顺序会有不同的结果。

第二,有穷性,一个算法只能有一个输入,一个输出,输入的条件经过有穷的步骤的后,可以得到一个输出结果,不可能无穷无尽的作个没完。

依据算法,可用计算机语言编写相对应的程序,如果算法中的每一步都是“直线”的执行,没有分支,那么这样编写的程序就是顺序结构的程序,顺序程序是最简单程序结构,也是一些程序的基础。

3.4应用举例

已知三角形三边,求三角形面积

分析这里已三角三边,求面积海伦公式

Eg 4:两数求和程序

运行结果:

Sum: 10 + 24 = 34

分析:

第句定义了nNum1,nNum2,nSum是三个整型变量,int是整型标识符

第8句printf一共有四个参数,其中第一个字符串中含有格式说明,第一个参数以后的所有参数,都是参数列表

%d表示输入时,取对应参数表中变量的值,它是格式说明符

4.1分支语句

分支结构程序是根据给定的条件来判断执行何种操作C++语言中提供了if语句来实现这个功能。

if(条件)

{

语句组1;

}else

{

语句组 2;

}

f语句中的条件成立,执行语句组1,否则执行语句组2。

使用{ }把一些语句包括起来,这叫作复合语句。

在括号中,可定义变量写C++语句,但它为一个分支的整体执行或不执行。

如果语句组中只有一条语句也可以不用括号,不写成复合语句,但为了程序清晰化,还是提倡使用复合语句。

输入两个整数,判断第一个整数是否可整除第二个整数

分析判断是否可整除,可以使用判断其相除的余数是否为零作为条件,注意,这里==与=不同,==是表示判断两个数是否相等,而=是一个赋值运算,这程序很容易写错的地方。

f语句也可以只有一个分支。

输入两个整数,按由大到小排序输出

这个问题的算法是

输入两数nA,nB则交换nA,nB,再输出nA,nB

Eg3: 输入一个成绩,然后根据分数段,输出其相应的等级:

[100,90] 优

[80,89] 良

[70,79] 中

c语言复合赋值表达式题目,C语言中复合赋值运算,表达式等知识.doc相关推荐

  1. c语言编程 遍历字符串,请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789......

    导航:网站首页 > 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789... 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如 ...

  2. c语言电报关系的题目,c语言所有题目以跟答案.doc

    c语言所有题目以跟答案 判断题 关系运算符<=与==的优先级相同. N 2.7&3+12的值是15. N 3.在TurboC中,整型数据在内存中占2个字节. Y C语言本身不提供输入输出 ...

  3. c语言 电报翻译的题目,C语言程序设计实训题目.doc

    C语言程序设计实训题目.doc C语言程序课程设计题目题目1年历显示功能要求(1) 输入一个年份,输出是在屏幕上显示该年的日历.假定输入的年份在1940-2040年之间.(2) 输入年月,输出该月的日 ...

  4. c语言程序设计顺序结构题目,C语言编程 顺序结构编程练习题目

    C语言顺序结构编程练习题目 C语言编程 顺序结构题目 题目1计算摄氏温度 输入一个华氏温度,要求输出摄氏温度.公式为:C=5/9(F-32),输出要有文字说明,取2位小数. 式中:C表示摄氏温度,F表 ...

  5. c语言编程思想的题目,c语言方面毕业设计选题范文.docx

    c语言方面毕业设计选题范文 c语言方面毕业设计选题 篇一:C语言课程设计选题 C语言课程设计 一.设计要求与设计报告 设计要求 1.任意选定以下一个题目,限3人选的题目可由1-3人完成(用*表示) 2 ...

  6. python中赋值不正确的_python中的“赋值与深浅拷贝”

    Python中,赋值与拷贝(深/浅拷贝)之间是有差异的,这主要源于数据在内存中的存放问题,本文将对此加以探讨. 1 赋值(添加名字) 赋值不会改变内存中数据存放状态,比如在内存中存在一个名为data的 ...

  7. c语言判断非法字符题目,C语言考试题库之判断题-c语言考试判断题

    <C语言考试题库之判断题-c语言考试判断题>由会员分享,可在线阅读,更多相关<C语言考试题库之判断题-c语言考试判断题(7页珍藏版)>请在人人文库网上搜索. 1.三.判断题(1 ...

  8. 面试加试c语言_经典面试题目C语言

    题一,堆和栈的区别是? 题二,Volatile与Register的区别是? 题三,ARM里的大端格式和小端格式分别是什么意思? 题一答案: (1)存储内容不同 栈:在函数调用时,栈中存放的是函数中(最 ...

  9. c语言递推递归题目,C语言-递推递归.ppt

    C语言-递推递归 第二讲 基础算法 目录 递推 递归 排序与检索 递推 指一个序列u1,u2,u3,-,un-1,un,后面的每一项都能按公式由前面的一项或连续的几项推算出来,或者前面的每一项都能按公 ...

最新文章

  1. python添加行索引_python-熊猫在特定级别向多索引添加行
  2. PHP 使用 Memcached
  3. linux suse最新版本,查看SUSE LINUX版本
  4. 题解 UVA1555 【Garland】(二分)
  5. Python之try except异常处理工作机制和案例解析
  6. Java有趣的小功能_Java8 中有趣酷炫的小技巧你用到了那些
  7. Nginx + 阿里云SSL + tomcat 实现https访问代理
  8. Spring学习记录(九)---通过工厂方法配置bean
  9. 搜索引擎的竞价排名是怎样实现的?
  10. 团队作业——Alpha冲刺之事后诸葛亮
  11. 一机难求:折叠手机是未来趋势还是小众需求?
  12. Microsoft SQL Server 2008 All-in-One Desk Reference For Dummies 读书笔记之六
  13. Mix Up Studio for Mac - 便携混音工作室
  14. 让VB6 IDE“认识”鼠标滚轮
  15. SkeyeVSS综合安防监控Onvif、RTSP、GB28181视频云解决方案之服务器系统硬件资源管理
  16. python-ip端口扫描器
  17. html移动轮播后盾网,后盾网lavarel视频项目---Vue项目使用vue-awesome-swiper轮播插件...
  18. RSD 教程 —— §2.3  窗口布局
  19. 心若改变,态度就会改变;态度改变,习惯就改变;习惯改变,人生就会改变
  20. Python编程零基础如何逆袭成为爬虫实战高手之《WIFI破解》(甩万能钥匙十条街)爆赞爆赞~

热门文章

  1. 欧拉角变化率和机体角速度的关系
  2. ie浏览器地址栏中文参数提交服务器乱码分析
  3. GitHub 上排名前 100 的 IOS 开源库介绍
  4. 宋氏极简美学的编码风格
  5. 帆软填报-根据角色/权限设置校验规则(含开关配置表校验)
  6. HTML5实现的树叶飘落动画特效
  7. STM32F103C8T6基于HAL库制作RTC时钟
  8. 假设检验 - 区间估计(总体标准差未知)
  9. Linux查看MegaSAS raid卡缓存策略
  10. 【26】地图可视化:基于 Echarts + Java SpringBoot 的动态实时地图组件 - 点气泡流向组合区域三级下钻地图