当前课程知识点:C语言程序设计(上) >  数据计算实现与顺序结构程序设计(一) >  2.1 算术运算的C程序实现 >  2.1.7 自增自减运算

返回《C语言程序设计(上)》慕课在线视频课程列表

2.1.7 自增自减运算在线视频

2.1.7 自增自减运算

下一节:2.1.8 复合运算

返回《C语言程序设计(上)》慕课在线视频列表

2.1.7 自增自减运算课程教案、知识点、字幕

接下来我们看

第二个程序设计里边特有的计算

自增自减运算

什么叫自增自减

变量自身加1或者减1

常量肯定不可以

是变量自身的加1和减1

怎么写 我们写成这样

这是自增量

i是什么 就是变量

变量减减 减减变量

这样写 实际上就等价于什么

比如说自增

就等价于说

i计数了一次

i自减了一次

等价于这这样一个运算

大家看

既然等价于就是说

我用这个式子完全实现的是这个结果

为什么要有它

大家回来看

从最简单的 字面上看的是

这个式子里边做了一次加法

做了一次赋值

然后

字符是有5个

而在i++里边只有三个

如果我是程序员的话

我每天都在录入

我肯定喜欢录i++

我不喜欢录i等于i加1

我不愿意敲5个 我愿意敲3个

另外从实现这个计算的角度上来说

这种计算在内存里

直叠去做这个计算

自增比i加1在赋值要快的多

按照这个

自增的说法 我们给大家几种

在程序里边常用的几种最简单的算法

我们看这种

两个数相加

送到第三个变量里

我们把它叫做加法

但是 同样是做加法

如果我是这样加

还送到t里边

这就不是一般的加法

是什么加法 累加

相当于我有个盒子

我不断的到这个盒子里边扔一个x

慢慢的这个盒子会装满

而前面的这个加法 就不是这样子了

a加b两个任意数相加

送到第三个变量里

永远都是两个任意数相加

送到第三个变量里

而这块不是这样

是说 一个变量

不断的给这个变量累加

这叫累加

第三个 如果我累加的不是x

比如说 这个累加的x

我们可以这样说 比如学生成绩

给全班的同学求平均分

我是怎么做

肯定是拿一个累加器

把全班同学的分数

这个人85那个人93那个人67

x是不一样的

这个加法是加什么

加的是一个等量的n

是个常量

比如说加5 在t里边加5加5加5

大家看 是不是这个步长是一样

就是5 5

就是从5 10 15 20这样子

加3加3这样子

这种 实际上我们是

按步长在计数

就不是叫累加了

这个算法通常实现的是

按步长在计数

如果我们把n变成1

是不是就是刚才这种形式

就是t 给t里边送的什么

永远在加1加1

跟时钟是一样的

i++跟时钟是一样的 这种算法

在程序控制里边

用的是非常多的

它可以记录到循环的次数

它就是一个计数器

就是一个时钟 所以

有必要把它做简单的一个专门的处理

按照加法往下推的话

比如说 大家看这个

这个非常像什么 非常像这个

这个叫累加 那这个叫累乘

就是给这个乘法器里边

拿上一次的结果再乘以一个新的数

送到这个乘法器里边

这几种

简单的算法

在程序设计里边是时常会用到的

这里边 再回到自增自减这块来说

i++与++i

这两个有什么不同

我们把它写在一行上

它都等价于

i加上1送到i里边

它两个有什么区别

还是有很重要的区别

也就是说

i里边的内容原来是哪个数

你取出来 你取的是那个数

用的是那个数

用完了这个数以后

我们再加1

++i不是这样

先给这里边增量 增量1

增量完了 再使用

也就是说 你使用的实际上是

增量以后的内容

所以

比如说

输出的i++

输出的是3还是4

按照i++输一定输出的是

它原来的内容

应该是3 输出的是3

输出完了以后 i里边是什么

i里边自动增量成4了

也就是说输出的是3 但是

内存里现在存的是4

对于下边的

++i就不同了

你输出的是什么

输出的是先增量

增量完了再输出

输出的是4

内存里的i也是4

所以 这两个对应的是

下边++i是

输出的值先变成4 把它输出

然后保存的和输出的是一样的

它的意思就相当于

这一定是对谁 对一个内存变量

我们这给了一个内存变量

这个内存变量

我们给它的名字是i

执行i++的时候

实际上你做了这么一件事

i++是说

你把这原来的3输出

然后 原来内存里的内容变成了4

而执行++i的时候

你本来先变成4

把4输出 里边呢

存的就是你输出的那个4

C语言程序设计(上)课程列表:

从问题到C语言程序设计

-1.1 计算机的问题求解方法

--1.1.1--程序设计面向的问题

--1.1.2--关于计算

--1.1.3-1关于算法-算法的特征

--1.1.3-2关于算法——算法的表示

--1.1.3-3关于算法——算法的优化

--1.1.4-1-程序设计方法

--1.1.4-2-程序设计方法

--讨论题:数学模型

-1.1 计算机的问题求解方法--作业

-1.2 C语言与C程序

--1.2.1-1-C概述

--1.2.1-2-C概述

--1.2.2-C初步

--讨论题:运算符

-1.3 C语言处理系统与程序调试运行

--1.3.1C程序如何调试运行

--1.3.2常用C语言处理系统

--1.3.3DEVC++的使用-v1

--1.3.4C语言概貌小程序

--例程

-1.4 程序中的人机交互

--1.4 printf用法

--1.4.2 scanf的用法

--例程

--作业讨论区

数据计算实现与顺序结构程序设计(一)

-2.1 算术运算的C程序实现

--2.1.1 第二章

--2.1.2 C语言算术表达式概念

--2.1.3 算术运算的实现

--2.1.4 整数相除

--2.1.5 输入格式造成的计算错误

--2.1.6 求余运算

--2.1.7 自增自减运算

--2.1.8 复合运算

--fangcheng.c

--fangcheng-1.c

--fangcheng-2.c

--fangcheng-3.c

--fangcheng-4.c

--算术混合运算.c

--讨论题:自增自减符

--讨论题:程序输出结果

--讨论题:程序运行结果

-2.1 算术运算的C程序实现--作业

-2.2 关系运算的C程序实现

--2.2.1 关系比较问题

--2.2.2 C语言关系表达式

--2.2.3关系运算优先级

--2.2.4 用关系运算做判断条件

--2.2.5 程序实例

--2.2.6 字符比较

--bukao.c

--pingshifen-1.c

--panduanzhengshu.c

--pingshifen-2.c

--字符比较.c

--讨论题:比较大小

--讨论题:程序的运行

-2.2 关系运算的C程序实现--作业

-第二周作业--作业

数据计算实现与顺序结构程序设计(二)

-2.3 逻辑运算的C程序实现

--2.3.1 逻辑运算问题~1

--2.3.2 逻辑运算表达式

--2.3.3 如何判断闰年

--2.3.4 逻辑运算优先级

--2.3.5 条件运算符

--计算结合性

--2.3.7 一个简单实例

--闰年.c

--自动购票问题.c

--讨论题:逻辑表达式

-2.3 逻辑运算的C程序实现--作业

-2.4 位运算的C程序实现

--2.4.1 什么是位运算

--2.4.2 位运算有哪些

--2.4.3 位运算怎么用

--讨论题:位运算

-2.5 几种很个别的运算

--2.5 几个很个别的运算

--讨论题

--讨论题

-2.5 几种很个别的运算--作业

-2.6 混合运算及数据类型转换

--2.6 混合运算及数据类型转换

--讨论题:数据类型

-2.7 顺序结构程序实例

--2.7.1 第一个程序:三角形

--Video

--三角形面积.c

--讨论题:工业产值

--讨论题:程序无效结果

-2.7 顺序结构程序实例--作业

选择结构的程序设计

-3.1 程序中的路径选择实现

--3.1.1_1 第三章

--3.1.1_2 神奇的if_else

--打印学生成绩.c

--一元二次方程.c

-3.1 程序中的路径选择实现--作业

-3.2 路径中的再选择——嵌套判断

--3.2.1_1 if语句的嵌套

--3.2.1_2三个数排序1029

--例程

--3.2.2 用户登录检查

--三个数排序_未优化.c

--三个数排序_优化.c

--讨论题:程序改错

-3.2 路径中的再选择——嵌套判断--作业

-3.3 复杂判断问题的C程序设计

--3.3 多级选择

--银行存款.c

--讨论题:多级选择

-3.4 多分支问题的C程序设计

--3.4.1 switch语句表达式

--3.4.2 加减乘除计算

--3.4.3 几类说明

--加减乘除运算.c

--讨论题:关于switch

-3.4 多分支问题的C程序设计--作业

-3.5 GOTO的适当使用

--3.5 GOTO的适当使用

-3.6 选择结构的程序实例

--3.6 程序展示

--计算第几天.c

--存款利息__switch实现.c

--讨论题:输出奇数

--讨论题:计算税金

-3.6 选择结构的程序实例--作业

-第四周作业--作业

循环结构的程序设计(一)

-4.1 需要重复执行的程序

--4.1.1----第四章~1

--4.1.2---while实现先判断后循环~1

--4.1.3----while循环的应用-录入速度~1

--求和.c

--打印学生成绩.c

--统计录入速度.c

--求平均数.c

-4.1 需要重复执行的程序--作业

-4.2 至少要执行一次的循环

--4.2.1至少要执行一次的循环

--4.2.2-do-while循环应用

--成绩录入_do while实现.c

--n的阶乘.c

--字符分类统计.c

--讨论题:关于while

-4.2 至少要执行一次的循环--作业

-4.3 已知循环次数用for语句

--4.3.1--用for语句控制循环次数

--4.3.2--循环的应用-求和

--求和问题.c

--斐波那契数列问题.c

--数列求和.c

--讨论题:循环语句的不同

--讨论题:循环语句

-4.3 已知循环次数用for语句--作业

-4.4 循环控制——简单循环应用

--4.4.1-循环的应用-找数-水仙花数

--4.4.2--循环的应用-求素数

--水仙花数.c

--讨论题:死循环

--讨论题:continue和break

--讨论题:猜数字

-循环结构的程序设计(一)--4.4 循环控制——简单循环应用

循环结构的程序设计(二)

-4.5 循环的嵌套

--4.5.1 循环的嵌套——九九乘法表

--4.5.2 循环的嵌套——打印三角形

--打印九九乘法表.c

--打印实心三角图案.c

--打印空心三角图案.c

--讨论题:程序运行

-4.5 循环的嵌套--作业

-4.6 break与continue

--4.6 循环中断与继续循环——break再讨论

--最大素数.c

--求正数个数及平均数.c

-4.6 break与continue--作业

-4.7 循环的综合应用

--4.7.1 数的排列组合问题

--4.7.2 循环综合应用——穷举算法

--4.7.3 循环综合应用——满足条件的数

--4.7.4 循环综合应用——求最后三位数

--4.7.5 循环综合应用——打印空心图案

--数的排列组合.c

--数的排列组合优化.c

--鸡兔同笼.c

--找满足条件的数.c

--输出14的13次方的最后三位数.c

--打印空心字符.c

--讨论题:打印图形

--讨论题:打印空心图形

--讨论题:计算闰年

-第六周作业

--虚拟实验:循环程序设计实验

-第六周作业--作业

数组(一)

-5.1 同类有序数据处理问题

--5.1.0 数组开篇

--5.1.1 同类有序数据存储问题

--讨论题:下标变量与下标

-5.2 一维数组的定义和引用

--5.2.1_1 数组的定义~1

--5.2.1_2 数组的初始化

--5.2.2 一维数组的输入输出

--5.2.3 一维数组的应用1--成绩排序(选择法)~2

--5.2.4 一维数组的应用2--Fibonacci数列

--数组定义.c

--数组初始化.c

--输出大于平均值的数.c

--反向输出.c

--选择法_成绩排序.c

--求斐波那契数列前n项.c

--讨论题:对称数

--讨论题:关于'\0'

-5.2 一维数组的定义和引用--作业

-5.3 一维字符串数组

--5.3 一维字符串数组11.24~1

--用函数测试字符串长度.c

--讨论题:编程

-5.4 字符串处理函数

--5.4 字符数组的输入与输出

--字符串反向.c

--字符串函数

--讨论题:程序如何运行

--讨论题:黑色星期五

数组(二)

-5.5 二维数组的定义与使用

--5.5 二维数组定义

--二维数组的定义与初始化.c

-5.6 二维数组的输入输出

--5.6 二维数组的输入与输出

--二位数组输出_矩阵输出.c

--讨论题:随机数据存储

-5.6 二维数组的输入输出--作业

-5.7 二维数组的应用‍

--5.7.1二维数组的应用-转置矩阵

--5.7.2 用一维数组方式引用二维数组元素

--转置矩阵.c

--找二维数组最大数.c

--讨论题:修改程序

--讨论题:关于随机数函数 rand()

-5.8 二维字符数组

--5.8 单词排序

--单词排序.c

--讨论题:回文字符串

-5.8 二维字符数组--作业

-5.9 数组综合应用

--5.9.1 应用1——学生成绩统计

--统计成绩.c

--5.9.2 应用2——删除重复字符

--删除串中的重复字符串

--5.9.3 应用3——统计字符

--5.9_4数组的应用4--矩阵相乘

--统计字符次数.c

--讨论题:洗牌

-本期课程结束语

--end

-第八周编程作业

--虚拟实验:冒泡排序算法程序设计实验

期末复习

-《C语言程序设计(上)》期末复习参考

--html

期末复习答案

-《C语言程序设计(上)》期末复习参考答案

--html

2.1.7 自增自减运算笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。