当前课程知识点:C语言程序设计(上) > 数据计算实现与顺序结构程序设计(二) > 2.5 几种很个别的运算 > 2.5 几个很个别的运算
好 继续
我们来接着讨论
很个别的运算符
这在C里边我们一开始说C有36个运算符
大家都觉得怎么会这么多运算符呢
的确是有几个
特别的服务于程序设计里边
需要的一些运算符
那我们这里边再列出来四种
也就是求负运算符
还有圆括弧 中括弧这种运算符
其实除过这几个还有
只不过我们随着各章的内容
往后的进展我们再慢慢的大家再逐步了解
这几个是因为我们时常会用到
这呢我们稍微做一个介绍
首先是逗号运算符
其实大家在前面很多地方都见过
比如说咱平常说int a逗号b逗号c
其实你就用到了逗号运算符
那么
我们平常感觉说int
a b c中间用逗号隔开的时候
并没有觉得这个逗号是个运算符
这我们为什么说它是个运算符呢
它的确是运算符
因为
它是运算符 所以它才能构成表达式
如果它不是运算符
它就不能够构成一个表达式
不能把它嵌入到另外一个表达式里边
也就是说这个逗号运算符它是做什么的呢
是连接几个表达式
比如说平常在函数里边的参数列表里
比如说我们的printf
里边你可以输出一个变量列表
这个各个变量之间是用逗号把它分开的
比如说scanf
读取 你做人机交互的时候
你也是需要跟键盘交互的时候
你也是一次可以读进好几个数据
这个数据之间用逗号把它分开
如果我们这个逗号不是一个运算符的话
那这些参数的列表就不能写在这个表达式里边
比如说
我们现在借逗号运算符
表达式1 表达式2 表达式3
表达式n
中间用逗号隔开
这个表达式完了以后也没有给谁赋值
这个东西合起来叫做一个逗号表达式
我们平常说
任何一个表达式它都是会有结果的
这样的一个逗号表达式的结果是什么呢
我们看一下
比如说
我们现在括弧里边是
括弧里边 第一个逗号 4乘以5
a乘以2 b加上6
a里边现在是什么内容呢
就是这个表达式的结果
而这个表达式的结果就是最后一个
式子的结果
逗号隔开的最后一个式子的结果
也就是b加6的结果
好了 我们这边大家可以思考一个问题
在这个表达式运算的过程中
a里边的内容变了吗
b里边的内容变了吗
我们看当在这个式子里边a乘以2的时候
a里边的内容仅仅是被使用了
里边的内容并没有变
当b加上6做这个运算的时候
b里边的内容也没有变
只是b里边的内容加上了6
好了 什么时候
a里边的内容会发生变化了呢
它被赋值了
这块它被赋值了
它赋的是谁呢
赋的是b加6的结果
所以就是说
当一个变量被使用了的时候
它并没有改变它里边的值
只有它被赋值了
新的内容把它的旧的内容改变了
它才 真正的改变
我们再看这里边的第二个运算符
这个运算符我们打从一开始讲说
我们有人机交互的时候
你从键盘上可以提供一个数据
给了scanf里边的列表里边
我们就见到了这个运算符
它是一个取地址运算符
取谁的地址呢
取你去指定的那个变量的地址
其实
我们在前边讲位运算的时候大家也看到了
这还有一个作用是什么呢
按位与
按位与 我们这一块又说它是取地址
它到底是什么呢
这就是说
它要根据到底它是按位与呢还是取地址呢
是根据程序的上下文
是系统会自动识别 它是什么作用
例如
在这个
这两句话的这个程序段里边
int a 然后scanf
取地址 取谁的地址a的地址
这一块就是说
原系统
不会把它认为说你需要做 按位与运算
它一定会理解成是
它要取a的地址
等待你从键盘上敲一个数
然后它放在这个地址号里边
因为这个地址号
被命名为a
就是我们的变量a
他才能够从你的键盘上
得到数据把它放进去
这就是取地址运算符
这个运算符在后边我们还会碰到
它的一些特殊的作用
随着课程的进展我们再讨论
第三个运算符是
取负也可以说求负
实际上我们在数学里边
比如说我们写一个负a
写一个负5
这简单的就跟它是一个常数是一样的
在计算机里不同
计算机里对一个数求负
它真的是需要做运算
比如说a本来是正的
你要把它变成负的
它是要从内存的
内存变量里把a这个数据拿出来
拿到运算器里边去做这个求负的运算
所以它跟你做了一个加法减法是一样的过程
所以求负是一种运算
只不过它是单目的运算符
所以它的结果就是说
求负的结果就是把一个正数变成一个负数
然后 它的运算级别
是比所的有双目运算符的级别是要高的
那还有最后我们要说的这两个运算符
圆括弧 中括弧
圆括弧我们
打从一开始讲scanf printf就在用
这个中括弧呢我们在讲数组的时候
也会在用
这两个我们在这简单说一下
圆括弧和中括弧
我们为什么把它说是一种运算呢
这看起来是一种形式
我们在数学里边平常写
f括弧 写那个函数的样子的时候
是说这个东西用括弧括起来
要不就是改变了它的优先级顺序
要不就是表达一种形式
没有觉得它是一个运算
那实际上在C里边
它是一种运算
它的运算表达什么意思呢
比如说
中括弧 圆括弧
都表达了
我们要从这开始
就是这个地址号
从这个位置上开始
做某一件什么事情
然后从这开始下边它的增量是多少
是个起点 是一个
比如说这个中括号是一个
求下标的一个运算
实际上是一个运算
所以这个呢是 大家不要专门为它
搞个什么例子搞个什么
实际上在你用的过程里边 就已经在用了
比如说scanf printf后边的那个括号
其实就已经是这个意思了
关于这几个运算符
大多数的大家前面已经看到了
我们把它单独拿出来讨论
大家不要认为很严重
实际上就是现在用到的这些
如果在后边要应用到
还有一些特殊的一些用法
我们会及时的再提醒大家
如果对这一块的觉得理解的还有一些
不太到位或者是不是很明白
那也不要急
我们随着课程的往后的进展
大家自然会明白一些
-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






