当前课程知识点:C语言程序设计(上) >  循环结构的程序设计(一) >  4.1 需要重复执行的程序 >  4.1.1----第四章~1

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

4.1.1----第四章~1在线视频

4.1.1----第四章~1

下一节:4.1.2---while实现先判断后循环~1

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

4.1.1----第四章~1课程教案、知识点、字幕

大家好 前面我们学习完了第三章的内容

选择结构的程序设计

那么 从今天开始我们学习第四章

循环结构的程序设计

在这个

循环结构的程序设计里面呢是

这一门课程里边的 比较基础的

重点的部分 内容也比较多

所以我们把它拆成两周

这一周和下一周都来讨论

这方面的问题 一共有四个问题

第一个是

给一些循环的基本概念

第二个第三个

是说c提供的

构建循环的知识语句

第四个 是给大家一些应用

通过这一章我们期待大家知道点什么呢

第一个问题就是

什么样的问题我们需要

这一章提供的方式来解决

也就说

什么样的问题需要循环程序来解决

那接下来是

如何表达循环里边的条件

它和选择的时候构建条件有不同吗

那么第三个是说

如何构建循环的控制流程

最后

需要大家最落实到的 是说

一些应用问题

我们怎么用循环的方式来解决

那我们先看第一部分的内容

需要重复执行的程序

就需要构建循环

那么 什么问题需要循环程序解决呢

如何解决 我们先看第一个

前面 我们很多次的用到了说

用关系运算作判断条件是为了什么

是为了解决程序的流程

不是顺序往下走的时候

需要选择的时候我们会用判断

我们举得一个例子说

补考 学生补考

那我们现在是

关心的是什么呢

不仅仅说谁需要补考

我们关心的 说一批群体里边

n多人里边都需要

谁需要补考

也就说

有n多人可能都碰到了同一个流程段

同一个程序段

都要执行这一段程序

比如说 我们现在说 谁需要补考这件事

在选择结构里是这样实现的

判断 然后呢

打印补考 还是不打印补考

好了 这件事

我们在选择里边做一次

那我们今天关心的是说

这件事情 在这个

花括弧里边的这个程序段

以及判断x小于60吗 这件事

不一定是做一次

比如说一个班的学生 30个人

那么一个学院的学生几百个人

一个学校的学生几千个人

那么 我们从这里边筛选出来

所有需要打印补考通知单的同学

那这个程序段就不是需要执行一次

也就说

不是一个人需要补考的这样的问题

那我们就需要说

在这个流程里边

加一个什么呢 返回去再做

再做什么呢 跟它一模一样的

一个程序段 一模一样的流程

具体到程序上就是

把这个程序回过来

把这个if到这个花括号结束的地方重复做

那么像这样的循环问题

不仅仅是我们说的 谁需要补考用

生活里边许许多多的问题

都是需要把同一段程序段

重复 周而复始的执行n多次

当然

周而复始不是没有结束 一定有结束

这是循环里边非常重要的一个概念

比如说

但是在100以内都是

Σ都是在加 求和

后边一样

那么还有

比如说找一个最大数

或者找一个最小数

那么它是重复在做

这个数是最大么

怎么找出来它是最大

一个一个比较

比较一次 比较第二次 比较第三次

比较的每一次

做的是同一个方法比较

那么分类问题

比如说

字符分类 什么分数分类 年龄分类等等

也是分类把很多数做的是同样的一件事情

你在哪一类 你在哪一档

你在哪一档这件事情

是反复做很多次

包括数列问题等等

那么最经典的循环问题

比如说 大家知道的鸡兔同笼问题

梅森素数

现在网上的梅森素数大搜索

梅森素数的问题

找出来一个梅森素数 我们还在找第二个

在找第三个

而且每一个找的过程里边

里边也是同一个程序段

在反复循环 在找

包括 我们下边说

比如说 求

3到150

那3 4 5 6

每一个数里边

我们每找这个过程中找出来每一个素数

找的过程 是程序段在循环

求和 也是在循环

这里边我们给的几个例子都是说

想说明什么呢

你的实际在我们的生活里边有很多问题

都是用程序解决

而程序解决的这个过程

我们都是把复杂问题进行了分解

分解在分解

分解到什么时候就不分解呢

程序能具体的用语句去完成

而分解的这个小问题的过程里边

是许多时候 是需要同一个程序段

把这个程序段反复执行

直到把这个问题解决了

那这样的话

我们构建这个循环的

就变成这样子

我们看这个流程大家是熟悉的

那粉颜色括起来的那个块

就是我们现在要说的循环体

你要反复执行的那一段过程

那在前边

加的那个条件是什么呢

你要做这一段循环吗

你要再做这个粉颜色的块吗

如果需要

你就回过来再到这做

判断 还要做吗

还要做 再去做粉颜色的这个块

构建起来这么一个循环

只要条件满足我就做粉颜色的这个块

只要条件一直满足我就一直做

什么时候我就不做了呢

条件不满足就不做

这就是我们说的循环的结构

那我们把这个再给它

简单的抽象出来

就是条件判断

你要做下边这个程序段吗

也就说这个循环体吗

我们把这个

循环的整个这个过程里 这个程序段

叫做循环体

要做这个循环体吗

如果条件满足就做 做完了无条件的回来

到入口处在判断你还要做么

还做下面这个循环体吗

周而复始的循环

只要你的条件是yes

否者咱出来

大家在这边一定听出来了一件事

什么时候出来呢

那这个条件

一定会在你的循环体里边得到了改变

如果不改变这循环就出不来了

这就

我们通常在循环里边经常听到的一个词

是死循环

我们还拿打印补考通知单这件事

这件事情 这是一个程序段

这就是我们要做的那个循环体

那现在 是c必须支持一个什么呢

进入这个循环体 进来入口

要进来吗 需要判断

进来以后做这个流程

做完了以后 程序能够自动返回去

那 c在这一块要提供这样的方式

能入口 能返回去

并且 我不需要它的时候

我能结束

这就是循环里边要解决的问题

无论是 这个循环是复杂的

还是简单的

这个问题是需要一个循环

还是多个循环来解决的

但是最终每一个循环里边做的都是入口

然后 进行循环

然后 自动构建这个循环

当做完了的时候能自动出来

这就是循环要解决的问题

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

4.1.1----第四章~1笔记与讨论

也许你还感兴趣的课程:

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