当前课程知识点:C语言程序设计(上) > 数据计算实现与顺序结构程序设计(一) > 2.1 算术运算的C程序实现 > 2.1.8 复合运算
刚才我们
说到自增自减其实是
为了提高运算速度
也为了敲代码方便
复合运算符我们下面看一下
我们在前面介绍复合运算符的时候说
有5个这样的运算符
这是我们在数学
表达式里边很少见到的
把一个加号和一个等号写在一起
把一个减号和等号写在一起
没见过这种运算符
在程序设计里边
它起的作用是什么
是这样的一个作用
比如 t加上x送到t
这是我们刚才说的 这是累加
既然是累加 可不可以这样写
t加上x送到t
我们用了一个
复合运算符
加号和等号
加号和等号
这块是按步长计数
我们也用一个加号和等号
实现这种复合运算
对这种累乘
也用一个符合运算符 乘号和等号
a乘以x送到a
也就是说
我们后边的这个用复合运算符
完全实现了
前边的单个的运算符的功能
相加 赋值
相加赋值 相乘赋值
用这种复合运算符实现
这种运算符
仅仅是服务于什么
大家看 这里边12345
5个字符
而这里边是1234四个字符
就是说 对程序员来说
他大量的在敲代码的时候
这种代码是简洁的 是快的
少了一个
用它来实现的运算
就是这个
我们所有这种
就是累加 累乘 累减 累除的这种
都可以用复合运算符来进行
两次输出了a
这个两次输出的a
是2呢
还是第二次的这个a被赋值
排在这呢 显然应该是最后一个
就是说a求余
a与c求余以后的结果
最终输出的是什么
是两个7
然后 这里边还有一个
在这一块
我们看 在这一块有
a与c求余给a赋值
为什么商0余7
那是因为c在这已经不是6了
c在这被重新赋过值
所以 a被改变过
c也被改变过
是新的a和c去求余赋值
这块我们做个小结
有的人习惯用 有的人不习惯用
我们在做一些小的代码的时候
不习惯用 也是没有问题的
但是 你在看别人的代码里边
如果大量的用了复合运算符
你也是能够认识的
如果我们把这个程序稍微再改一下
看一下
这个结果
我们刚才说
目前输出的是这样一个结果
如果我们把这块再做一个
这样的一个运算
大家还可以再比较一下
在这里边
刚才我们说到了 这个是
先减了以后再输出
这个是输出了以后再减
现在在这个程序 这样写的过程里边
有什么区别
然后 我们大家
可以分析一下
做了 我加了这三行以后
给a做了一次运算
给b做了两次运算
现在输出的a和b
应该跟上边的这个
就是第二个
本来b里边现在是负1
a里边是7
这样做了以后 大家想想
a里边没有问题 一定会是8了
而b里边 大家想我们的这个结果
我们没有去运行 是不是这个结果
现在应该是这样
a里边一定是8了
而b里边是什么
把b减了一次再减了一次
b里边应该是负3
我们最后运行一下这个程序 看一下
我们现在把程序拿过来
我们先把加上的拿掉
看一下 我们原来第一组的输出
咱们分析的是不是正确
我们保存这个程序
然后 编译链接运行
得到
看一下我们刚才的分析的结果
第一组数据
是这样 没有问题
我们把这个程序再稍微的改一下
我们在这说 加上一个
再加上一个
再加上一句
加了3句话
我们刚才是加了3句话
分析的第二句结果
我们现在再运行一下 看看
是8 负3这两个数没有变
就是a和b变了
a我们自增了一次
b自减了两次
得到了一个这样的结果
这个程序没有什么实际的意义
大家在练习的过程里边还可以
结合咱们给的练习题
把这些关于算术运算的东西
再做一下练习
-1.1 计算机的问题求解方法
--讨论题:数学模型
-1.1 计算机的问题求解方法--作业
-1.2 C语言与C程序
--讨论题:运算符
-1.3 C语言处理系统与程序调试运行
--例程
-1.4 程序中的人机交互
--例程
--作业讨论区
-2.1 算术运算的C程序实现
--算术混合运算.c
-2.1 算术运算的C程序实现--作业
-2.2 关系运算的C程序实现
--bukao.c
--字符比较.c
--讨论题:比较大小
-2.2 关系运算的C程序实现--作业
-第二周作业--作业
-2.3 逻辑运算的C程序实现
--计算结合性
--闰年.c
--自动购票问题.c
-2.3 逻辑运算的C程序实现--作业
-2.4 位运算的C程序实现
--讨论题:位运算
-2.5 几种很个别的运算
--讨论题
--讨论题
-2.5 几种很个别的运算--作业
-2.6 混合运算及数据类型转换
--讨论题:数据类型
-2.7 顺序结构程序实例
--Video
--三角形面积.c
--讨论题:工业产值
-2.7 顺序结构程序实例--作业
-3.1 程序中的路径选择实现
--打印学生成绩.c
--一元二次方程.c
-3.1 程序中的路径选择实现--作业
-3.2 路径中的再选择——嵌套判断
--例程
--讨论题:程序改错
-3.2 路径中的再选择——嵌套判断--作业
-3.3 复杂判断问题的C程序设计
--3.3 多级选择
--银行存款.c
--讨论题:多级选择
-3.4 多分支问题的C程序设计
--加减乘除运算.c
-3.4 多分支问题的C程序设计--作业
-3.5 GOTO的适当使用
-3.6 选择结构的程序实例
--3.6 程序展示
--计算第几天.c
--讨论题:输出奇数
--讨论题:计算税金
-3.6 选择结构的程序实例--作业
-第四周作业--作业
-4.1 需要重复执行的程序
--求和.c
--打印学生成绩.c
--统计录入速度.c
--求平均数.c
-4.1 需要重复执行的程序--作业
-4.2 至少要执行一次的循环
--n的阶乘.c
--字符分类统计.c
-4.2 至少要执行一次的循环--作业
-4.3 已知循环次数用for语句
--求和问题.c
--数列求和.c
--讨论题:循环语句
-4.3 已知循环次数用for语句--作业
-4.4 循环控制——简单循环应用
--水仙花数.c
--讨论题:死循环
--讨论题:猜数字
-循环结构的程序设计(一)--4.4 循环控制——简单循环应用
-4.5 循环的嵌套
--讨论题:程序运行
-4.5 循环的嵌套--作业
-4.6 break与continue
--最大素数.c
-4.6 break与continue--作业
-4.7 循环的综合应用
--数的排列组合.c
--鸡兔同笼.c
--打印空心字符.c
--讨论题:打印图形
--讨论题:计算闰年
-第六周作业
-第六周作业--作业
-5.1 同类有序数据处理问题
-5.2 一维数组的定义和引用
--数组定义.c
--数组初始化.c
--反向输出.c
--讨论题:对称数
-5.2 一维数组的定义和引用--作业
-5.3 一维字符串数组
--讨论题:编程
-5.4 字符串处理函数
--字符串反向.c
--字符串函数
-5.5 二维数组的定义与使用
-5.6 二维数组的输入输出
-5.6 二维数组的输入输出--作业
-5.7 二维数组的应用
--转置矩阵.c
--讨论题:修改程序
-5.8 二维字符数组
--5.8 单词排序
--单词排序.c
-5.8 二维字符数组--作业
-5.9 数组综合应用
--统计成绩.c
--统计字符次数.c
--讨论题:洗牌
-本期课程结束语
--end
-第八周编程作业
-《C语言程序设计(上)》期末复习参考
--html
-《C语言程序设计(上)》期末复习参考答案
--html