当前课程知识点:C语言程序设计(上) > 数据计算实现与顺序结构程序设计(一) > 2.1 算术运算的C程序实现 > 2.1.2 C语言算术表达式概念
我们第一个问题讨论
算术运算的C程序实现问题
在这里边我们结合三个点
另外一个是
也就是 怎么叫特殊
就是我们平常在
数学的方法里边其实是
不需要这几种运算的
但是在程序设计里边
会有几种而且用的比较频繁的
几种运算
这一部分的内容里边
其实最关键的一个环节是什么
我们能够把一个
数学表达式变成C语言的表达式
使得程序里边
能实现这种计算
我们先看第一问题
关于整数相除的问题
这里边
我们首先看
C程序里边的算术表达式
和我们自然语言 也就是说
在数学里边的算术表达式
有什么不同
另外 整数相除
为什么要谨慎使用
它有什么特殊问题
这两个问题是我们这块要讨论的
我们拿一个例子
我们用最简单的一个方程
这个一元二次方程的根
我们分析这个问题很简单
这是大家非常熟悉的一个问题
我们拿它来做
最主要的是想说明
在C里边
它的算术表达式
我们对这个方程里边 大家知道
最主要的是判断什么
如果它是大于等于0
它就会有两个实根
如果不大于等于0
它就是一个负根
我们把问题简化一下
如果它有两个实根
x1 x2
两个根
是我们用这个表达式
来表达它的根
那我们这里边
最关键的一个环节是要判断什么
是不是大于等于0
我们把问题简化
咱们讨论的是顺序结构的程序设计
我们先不要出现的问题是去判断
我们先不讨论判断的问题
只讨论算术运算的问题
把问题简化成什么
我们让
我们把它写成这样
大家看 这个样子的写法
在计算机的程序里边
它直接能运行吗
这样子的写法
我们实际上已经把
但是 这里边我们看到有一个问题
就是根号我们键盘上是敲不进去的
那计算机自然
这个表达式是没法计算的
所以 怎么样考虑C程序里边
计算它能够实施的计算
也就是这个根号怎么
我们把上边的这个式子
如果说要送到
放到程序里边
用计算机的程序的方法去求x1 x2
根号就不能写成那样的根号
我们这里边用了一个数学的函数
来表达
这个数学的函数在那
就是我们前面讲过
C有它自己的一个庞大的函数库
数学里边有一系列的函数
其中开平方是它的一个函数
其中的x现在是什么
x就是现在根号下的
这一个表达式
从这块我们就可以看到
对一个C语言的算术表达式
我们就可以把它写成一个这样的形式
分子里边
这块我们不用编程序了
直接调用这个函数就可以了
当然x2
同样的方法也是这样子
我们这里边看到什么
因为它在这没有括号的
我们看
分子上没有括号
分母也没有括号
是因为它的分数线是这样子
这个分数线
是没法送到程序里边去的
所以 我们说C语言的表达式
要能用键盘把它送进去
并且这个语言处理系统
能识别它里边的每一个符号
我们现在把它
用数学函数
就是求平方根函数的方式写
C语言 C程序就能够识别
就能够确切的知道你要表达的意图
我们按照这个规则
来说 实际上
在程序设计语言里边
它的基本规则
无论是什么语言 通常都会有
实际上 我们刚才在这个式子里边
这几个东西其实都涉及到了
只不过我们
这一块现在强调的是
运算符的规则和表达式的规则
我们为什么在这块要再三强调规则
再给出大家一个小的式子
我们看一下 如果没有这些规则
大家看
它和a是什么关系
a是一个变量
在数学里边我们非常容易理解
不就是乘的关系
可是 如果我们把
这样的一个连接关系送到
计算机里边
它是不知道3.6和a是什么关系
所以我们要给它加上乘号
所以 就相当于
我们要在这组运算符
要适当的加在
原来的数学表达式里边
另外 这里边有
这函数在C的函数库里叫什么名字
这个函数怎么写
在C里边这个函数就叫SIN
然后
用括号括起来 里边是它的自变量
这是它的函数规则
我们前边说
这个规则是它的常数规则
3.6这个常数表达了
是一个实型的数
而不是一个整型的数
这个是变量的规则
3.6和它是一个相乘的关系
剩下来
自然也是从键盘上敲不进去
我们刚才说了
什么叫C语言的表达式
第一要能从键盘上把这个式子送进去
第二这个式子
里边每一个元素的
之间的关系是明确的
的关系实际上是一个表达式
是3除以5
3除以5的结果
和谁去做运算 和前边去做运算
+是运算符
我们现在说
在C程序里边的 算术表达式里边
有常数 变量 运算符 函数以及
这个表达式里边可以
再嵌入表达式这样的规则
总的这么一个表达式
我们把它送到
一个变量里边
这是一个数学式子
如果我们在C里边写这个式子
可不能写
这样写
我们应该怎样去表达这个式子
如果我们把这样一个数学的表达式
要写成一个C语言的表达式
怎么写 我们来看一下
我们把这块的变量就叫
等号是赋值号
我们要把后边的 这些表达式的
计算的内容 结果送到
f这个变量里边来
我们后边写表达式的内容
接下来 我们做一个加法
做那个加法
这块要加括号吗
我们看这是除法
前边是加法 优先级一定是除法高
这和数学里边是一样的
我们就不用加了
后边
这个函数
在C的函数库是这样写
这个表达式就是这样写
这是一个正确的表达式
如果我们把它
写成一个赋值语句
加上一个分号
也就是说这个表达式计算的值
可以送在f里边
-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