当前课程知识点:C语言程序设计(上) >  数据计算实现与顺序结构程序设计(一) >  2.1 算术运算的C程序实现 >  2.1.2 C语言算术表达式概念

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

2.1.2 C语言算术表达式概念在线视频

2.1.2 C语言算术表达式概念

下一节:2.1.3 算术运算的实现

返回《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里边

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.2 C语言算术表达式概念笔记与讨论

也许你还感兴趣的课程:

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