当前课程知识点:程序设计基础 >  第一章 编程初步 >  1.4 补充说明 >  1.4.2 程序基本结构中的含义

返回《程序设计基础》慕课在线视频课程列表

1.4.2 程序基本结构中的含义在线视频

1.4.2 程序基本结构中的含义

下一节:1.4.3 格式与风格

返回《程序设计基础》慕课在线视频列表

1.4.2 程序基本结构中的含义课程教案、知识点、字幕

通过前面几段的学习

我们已经能够写出这样一段程序

我们之前告诉大家

这个程序当中有很大一部分是程序基本框架

就像介绍信的基本模板

请假条的基本模板等等

那么有同学可能还会问

这些基本框架里面的这些句子这些单词

都是表达什么意思呢

这里我们就给大家来通过讨论的形式解释一下

这个里面的程序基本结构的一些意思

我们一个一个来看

第一行#include我们这一行

管它叫做包含库函数

第二行的using namespace

叫做命名空间

后面的用大括号括起来

前面有一个int main括号这个

我们称之为主函数

下面我们就来依次的解释一下

这几个词的意思

包含库函数这一行

都是要以符号#开头的一行

我们称之为预编译行

#include开头的

我们称之为文件包含命令

那么后面的这个尖括号包起来的

就是我们要包含的一个文件

这条命令表示的是

我们要让文件iostream这个文件当中的内容

包含到新建的我们这个程序当中去

这个文件里到底都有什么呢

有兴趣的同学可以去库文件里面

找一下这个文件

打开看一下

虽然大家可能现在看不太懂

里面的内容还很复杂

涉及到很多高级的用法

但是简单的我可以告诉大家

iostream这个文件呢

是C++语言提供给大家设置

C++输入输出相关环境的一个文件

其中会包含我们后面会使用到的

cout这样一个输出的对象

第二行命名空间using namespace

我们称之为使用命名空间

这个命令

其实大家可以想到是英文直接翻译过来的

这个命令是为了避免同名冲突而引入的

具体的我们后面涉及到的时候

会给大家再详细讲解

那using namespace后面的std

是一个缩写代表standard 标准

是iostream文件当中定义的一个命名空间

由它定义了C++的库标识符

比如说cout等等

有了using namespace std这句话之后

程序就可以直接使用std

命名空间里面的标识符了

比如说cout

我们就可以直接写成cout这样

如果大家可以试一试

如果没有这句话没有using namespace这一行

直接写出cout是会出现编译错误的

那么后面的关键的一个很大一部分

我们称之为主函数是以int main()

这样几个字符开始的

每一个C++的程序都必须有主函数

这个主函数

我们会把它看成一个程序的入口

会从这个main函数后面

大括号往下这里开始执行

符号左大括号右大括号之间的部分

就是主函数的内容表示主函数的开始和结束

在main的前面这一句的int

表示的是C++标准所规定的

我们的主函数需要有一个返回值

具体的我们后面讲到函数的时候

会给大家再进行详细的介绍

这样做是允许主函数

在结束的时候交还给上层

告诉上层的操作系统我成功执行了

也就是我们最后这一句return 0;所表达的

我们现在这个函数里面只有一句话

就是这个cout我们用了很多次

这个cout实际上是一个标准输出流对象

把它看成与显示器相关联的

一个计算机当中的表达方式

cout允许使用操作符两个小于号

大家不要去键盘上直接找那个箭头

没有这么一个键

那是通过两个小于号打出来的

那么通过这个操作符

可以将数据交给标准输出进行输出

也就是交给显示器

大家就会看到我们运行结果上出现的运行结果

会在显示器当中显示出来

最后的这个endl实际上也是个缩写

end line的缩写

表示一行的结束

实际上就是表示一个换行

把这个endl用小于小于号这个操作符

输出到cout当中

屏幕上就会把光标换到下一行继续进行输出

最后要特别提一句

C++语句当中的每条语句的结尾

都必须要有分号来表示语句的结束

后面我们会学到一些特殊的表达方式

有可能不需要用分号结束的

那是一些特殊表达方式

我们以后再会强调

这里先请大家记住

每一条语句不管你写出多少条cout

后面都需要分别有一个分号

表示语句的结束

程序设计基础课程列表:

第一章 编程初步

-1.1 基础知识

--1.1.1 什么是程序?什么是语言?

--1.1.2 什么是程序设计?

--1.1.3 计算机发展史

-1.2 买菜问题

--1.2.1 问题描述

--1.2.2 程序的基本结构

-1.3 数学运算

--1.3.1 数学运算符

--1.3.2 数学函数

-1.4 补充说明

--1.4.1 编程环境的下载与安装

--1.4.2 程序基本结构中的含义

--1.4.3 格式与风格

-1.5 总结

--1.5 总结

-程设论道

--程设论道

-师生问答

--师生问答一:怎样学好程序设计

--师生问答二:语言选择

--师生问答三:关于函数

-第一章 编程初步--语法自测

第二章 变量与代数思维

-2.1 关于超级计算器的几点思考

--2.1.1 关于超级计算器的几点思考

-2.2 电子秤模拟 — 背景介绍及需求分析

--2.2.1 电子秤模拟 — 背景介绍及需求分析

-2.3 电子秤模拟 — 代码实现

--2.3.1 电子秤模拟 — 代码实现

-2.4 变量定义与变量类型

--2.4.1 变量定义与变量类型

-2.5 猜数游戏与数据表示

--2.5.1 猜数游戏与数据表示

-2.6 关于变量的讨论

--2.6.1 变量的初始值

--2.6.2 变量类型

--2.6.3 变量内存单元地址

--2.6.4 存“变量地址”的变量——指针

--2.6.5 指针的 读/写 操作

--2.6.6 指针的 加/减 操作

--公告

-2.7 变量体现的计算思维

--2.7.1 变量体现的计算思维

-程设论道

--程设论道

-师生问答

--师生问答

-第二章 变量与代数思维--语法自测

第三章 逻辑推理与枚举解题

-3.1 谁做的好事——语义表示

--3.1.1 谁做的好事——语义表示

-3.2 谁做的好事——真假检查

--3.2.1 谁做的好事——真假检查

-3.3 谁做的好事——循环枚举

--3.3.1 谁做的好事——循环枚举

-3.4 谁是嫌疑犯——多重循环枚举

--3.4.1 谁是嫌疑犯——多重循环枚举

-3.5 谁是嫌疑犯——破案线索表示

--3.5.1 谁是嫌疑犯——破案线索表示

-3.6 谁是嫌疑犯——用二进制枚举

--3.6.1 谁是嫌疑犯——用二进制枚举

-程设论道

--程设论道一

--程设论道二

--程设论道三

-师生问答

--师生问答一:字符与ASCII码表

--师生问答二:其他循环语句、运算符优先级与变量作用域

-第三章 逻辑推理与枚举解题--语法自测

第四章 筛法与查找

-4.1 插花游戏

--4.1.1 问题提出(求素数)

--4.1.2 函数初探

--4.1.3 运行演示

-4.2 筛法

--4.2.1 筛法思路

--4.2.2 数组的定义

--4.2.3 代码翻译

--4.2.4 运行演示

--4.2.5 小朋友数人数

--4.2.6 运行演示

--4.2.7 韩信点兵

-4.3 线性查找

--4.3.1 扑克查找问题

--4.3.2 扑克查找问题代码翻译

--4.3.3 最小值问题

--4.3.4 最小值问题代码翻译

-4.4 折半查找

--4.4.1 提问

--4.4.2 折半查找思路

--4.4.3 折半查找代码翻译

--4.4.4 折半查找运行演示

-4.5 排序问题

--4.5.1 插入排序

--4.5.2 选择排序

--4.5.3 函数写法

--4.5.4 运行演示

-4.6 总结

--4.6.1 总结

-程设论道

--程设论道一:数组与编码思维

--程设论道二:筛法

-师生问答

--师生问答一:函数与面向过程编程

--师生问答二:数组的下标越界

-第四章 筛法与查找--语法自测

第五章 分治思想与递归

-5.1 阶乘

--5.1.1 阶乘问题

--5.1.2 递归解法

--5.1.3 递归小结

-5.2 排序

--5.2.1 归并排序——总体思路

--5.2.2 归并排序——思路分解

--5.2.3 归并排序——代码解说

--5.2.4 快速排序——总体思路

--5.2.5 快速排序——代码解说

--5.2.6 排序总结

-5.3 矩阵填充

--5.3.1 矩阵填充问题

--5.3.2 代码解说

-5.4 分书与八皇后

--5.4.1 问题描述

--5.4.2 问题分析——共性

--5.4.3 问题分析——区别

--5.4.4 解题准备——二维数组

--5.4.5 解题准备——递归设计

--5.4.6 代码解说——分书问题

--5.4.7 代码解说——八皇后问题

-5.5 青蛙过河

--5.5.1 问题描述

--5.5.2 问题分析——简单情况

--5.5.3 问题分析——复杂情况

--5.5.4 问题分析——一般情况

-程设论道

--程设论道一

--程设论道二

-师生问答

--师生问答一

--师生问答二

-第五章 分治思想与递归--语法自测

第六章 递推与动态规划

-6.1 兔子数列问题

--6.1.1 问题描述

--6.1.2 按大小兔子分别递推

--6.1.3 按总数递推

--6.1.4 不用数组递推

-6.2 分鱼问题

--6.2.1 问题描述

--6.2.2 从A到E递推

--6.2.3 从E到A递推

-6.3 橱窗的插花问题

--6.3.1 问题描述

--6.3.2 题意理解与分析

--6.3.3 用枚举思想解题

--6.3.4 采用递推的优化算法

--6.3.5.1 采用动态规划算法—优化分析

--6.3.5.2 采用动态规划算法—递推代码

--6.3.5.3 采用动态规划算法—计算过程

--6.3.5.4 采用动态规划算法—输出方案

--6.3.6 动态规划总结

-6.4 最长公共子序列问题

--6.4.1 问题描述与理解

--6.4.2 问题分析

--6.4.3.1 动态规划解题(1)

--6.4.3.2 动态规划解题(2)

--6.4.3.3 动态规划代码

-程设论道

--程设论道一

--程设论道二

-师生问答

--师生问答

-第六章 递推与动态规划--语法自测

第七章 文本数据处理

-7.1 统计记录总数

--7.1.1 问题分析

--7.1.2 读文件操作

-7.2 统计活跃用户数

--7.2.1 问题分析

--7.2.2 字符串

--7.2.3 程序翻译与演示

-7.3 统计在线时长

--7.3.1 问题分析

--7.3.2 结构

--7.3.3 程序翻译与演示

--7.3.4 写文件操作

-7.4 总结

--7.4.1 总结

-程设论道

--程设论道

-师生问答

--师生问答

-第七章 文本数据处理--语法自测

第八章 非文本数据处理

-8.1 将数据组织成链表

--8.1.1 链表的基本概念

--8.1.2 代码讲解

--8.1.3 链表遍历与释放

-8.2 提高链表访问效率 —— 哈希链表

--8.2.1 简单的哈希算法

--8.2.2 算法实现

-8.3 以二进制文件存储链表

--8.3.1 二进制文件的操作方法

--8.3.2 代码讲解

-程设论道

--程设论道一

--程设论道二

-师生问答

--师生问答

-第八章 非文本数据处理--语法自测

第九章 可配置的程序设计

-9.1 自动售卖程序

--9.1.1 提出问题与初步设计

--9.1.2 细化实现订单处理

--9.1.3 使程序更健壮

-9.2 配制水果信息

--9.2.1 提出问题与设计文件格式

--9.2.2 实现订单处理功能

-9.3 指定界面语言

--9.3.1 提出问题与命令行参数

--9.3.2 实现程序功能

-程设论道

--程设论道

-师生问答

--师生问答

-第九章 可配置的程序设计--语法自测

1.4.2 程序基本结构中的含义笔记与讨论

也许你还感兴趣的课程:

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