当前课程知识点:C++语言程序设计基础 > 第1章 绪论 > 导学 > 第1章导学
第1章主要内容和教学要求
一、计算机系统
l计算机系统由硬件、软件组成;
l指令系统是硬件和软件的界面。
二、计算机语言和程序设计方法
l计算机语言
n程序员与计算机沟通的语言;
n描述解决问题的方法和相关数据。
l计算机语言的级别
n二进制代码构成的机器语言;
n使用助记符的汇编语言;
n使用类似英语单词和语句的高级语言;
nC++是面向对象的高级语言
lC++支持的程序设计方法
n面向过程的程序设计方法;
n面向对象的程序设计方法;
n泛型程序设计方法。
三、C++程序的开发过程
l 算法设计
l 源程序编辑
l 编译
l 连接
l 运行调试
四、信息在计算机中的表示与存储
l计算机中的数据用二进制表示;
l逻辑数据、字符数据用二进制编码表示。
学习建议
l看教学视频;
l做练习题;
l完成“实验一”
大家好欢迎来学习
C++语言程序设计课这门课
这是一门程序设计的入门课程
所以你不需要在此之前
有任何程序设计的基础
但是我也希望大家
对计算机有个初步的了解
我相信大家都是用过计算机的
今天我们开始讲第一章绪论
在讲课之前呢
我先给大家简单地介绍一下
这一章都有哪些重点的内容
学习方法以及要求
首先呢在这一章
要给大家简单介绍一下
计算机系统
我们虽然都用过计算机
但是我们还需要来
稍微多地了解一下计算机系统
比如说我们知道计算机有硬件
有软件
但是可能很多人还不知道
计算机还有个指令系统
这个指令系统呢
就是计算机硬件能够识别的
二进制指令的集合
还有呢
我们要简单地了解一下
计算机语言和程序设计方法
它的发展历史
我们知道计算机语言
它也是一种语言对吧
语言是用来做什么的呢
用来沟通和交流的
那么计算机语言
就是我们程序员与计算机
沟通和交流的语言
程序员把解决问题的方法
要处理的数据
都用计算机语言描述清楚
输入到计算机中
交给计算机去执行
那么计算机就能按照我们
规定好的方法和步骤
替我们来解决问题了
那么另外呢
我们要知道计算机语言
它是分级别的
刚才说了
指令系统里面规定的这些指令
它都是二进制代码
也叫做机器语言指令
是计算机能够识别的
但是我们人阅读和写起来
就会觉得不是那么方便
那么还有汇编语言
汇编语言是
在机器语言的基础之上
引入了注记符
便于人识别和记忆
但是这些都是抽象层次比较低的
要用它来写大型软件会很辛苦
现在我们要学习的是高级语言
比如说我们要学习的C++语言
就是高级语言
高级语言是用了
类次于英语的单词语句
还有类似于
我们数学里面的数学公式
这样的表达式
用这样的方式来描述问题
和解决问题的方法
那对于我们人来说
这个就方便了很多
实际计算机语言与人类语言
与自然语言之间
是有巨大的鸿沟的
可以说机器语言
与我们人类语言之间的鸿沟最大
高级语言呢
它这个鸿沟就缩小了一些
那么我们要学的C++语言
属于什么呢
属于面向对象的高级语言
那么面向对象的高级语言呢
它将客观现实中的事物
都看作对象
将同类的对象进行抽象形成类
类呢封装了细节
只对外暴露简单的接口
这样对象之间通过消息进行通讯
这正是我们人类
所习惯的思维方式
所以用面向对象的语言
就使得我们程序员
写程序更方便了
更便于写这种大型的软件
比如图形界面的软件
那么程序设计方法呢
也是分成面向过程的设计方法
面向对象的程序设计方法
还有呢
其实C++也支持
泛型程序设计方法
这一些呢
也会在这一章给大家介绍
在这一章
我们还需要初步了解一下
C++程序的开发过程
我们学习程序设计
这是一门实践性很强的课程
那么学习过程中呢
我们一定要多动手亲自写程序
不能说我就看懂了书上的例题
就行了
我就会做四选一的选择题就行了
那是不可以的
必须要大量自己写程序
要经过大量的训练
你才能成为一个好的程序员
那么开发一个程序的过程
分哪些步骤呢
首先我们要设计算法
也就是说不管你写不写程序
你自己知道这件事
用什么方法解决吗
如果你自己都不知道这件事
用什么方法解决
那当然你也不能指望
让计算机能知道怎么解决
计算机它只是说是一个运算速度
非常快的机器而已
它能够快速计算
但是你得告诉它
计算的方法是什么
这是算法设计
然后设计好算法以后呢
我们要能够用程序语言
去描述这个算法
也就是把这个算法
写成计算机能够理解的形式
然后计算机要进行编译
也就是说要进行一定地翻译
所谓翻译就是说
我们用高级语言写的程序
它离计算机硬件能够识别的
机器语言代码还差得很远呢
中间的过程谁来弥补呢
专门有翻译程序来替我们翻译
那么就C++程序来讲呢
就要经过一个编译过程
还有一个过程是连接过程
所谓连接呢
我们可以这样来理解
就是一个大型的任务
你要完成需要很多人配合吧
这个大家都知道
那么一个大型的程序
其实也有很多部分配合的
那么这些很多部分
要把它合在一起工作
就需要一个连接的工具
把它连接起来
这样子就形成了一个
在计算机系统里面
可以执行的程序
那么这个可执行程序形成了以后
我们还要运行调试
也就是运行看看哪儿有错没有
我们还要了解什么呢
还要了解信息在计算机中
是怎么样存储和表示的
计算机能够帮我们进行快速计算
那么计算就要涉及到数据吧
这些数据呢
在计算机中到底怎么存储
怎么表示呢
这也是我们这一章要学习的
我们要知道呢
计算机里面存的数都是二进制的
我们人都习惯用十进制
干嘛计算机要用二进制呢
大家想想看
人类习惯用十进制
是不是因为我们都有十个手指头
好掰着手指头数
也许是也许不是
我没有经过历史考证
但是想当然也许是这样
那么计算机呢
我们可以想象它没有十个手指头
它只能表示两种状态
所以在计算机里面呢
就用0和1这两个数字
这样的话它最稳定
还有我们要表示数据的话
除了数值型的数据
那么非数值型的呢
逻辑数据真假还有呢
我们的姓名我们的地址
这些字符类型的数据怎么表示呢
也要在这一章来学习
这一个呢
大家要在这一章呢
对这个略有了解就可以了
不用了解得特别深入
如果大家以后
学计算机组成原理的话
会对信息的二进制表示
有更深入地学习和更深入地理解
这一点粗浅地了解
是为了以后我们写程序
理解程序语法更为方便
最后给大家一点学习建议
学习这一章呢
希望大家能够把这一章的视频
完全都看一遍
至少要看一遍
也许有些地方
你还要回头再看一看
然后每一段小的视频后面呢
会有一点简单的选择题
作为练习题
希望大家都能及时地做
然后全章都学完了以后
要把学生用书上面的
实验一的内容做一下
实验一的内容主要是教大家
怎么样在一个编译环境中
编一个简单的习题
好这一章的内容主要就是这些
-导学
--第1章导学
-计算机系统简介
--计算机系统简介
--计算机系统简介 测试题
-计算机语言和程序设计方法的发展
--计算机语言和程序设计方法的发展 测试题
-面向对象的基本概念
--面向对象的基本概念 测试题
-程序的开发过程
--程序的开发过程
--程序的开发过程 测试题
-信息的表示和储存
--计算机的数字系统
--数据的编码表示
--信息的表示和储存 测试题
-实验指导
-导学
--第二章导学
-C++语言概述
--C++语言概述 测试题
-基本数据类型、常量、变量
--程序举例
--基本数据类型、常量、变量 测试题
-运算与表达式
--运算与表达式 测试题
-实验二:简单程序设计(上)
-数据的输入和输出
--数据的输入和输出
--数据的输入和输出 测试题
-选择结构
--if语句
--switch语句
--选择结构 测试题
-循环结构
--for语句
--循环结构 测试题
-自定义类型
--自定义类型
--自定义类型
-第2章小结
--第二章小结
-实验二:C++简单程序设计(下)
-导学
--导学
-函数定义
--函数定义
--函数定义 测试题
-函数调用
--例3-2
--例3-3
--例3-4
--例3-5
--例3-6
--函数调用 测试题
-嵌套与递归
--例3-9
--例3-10
--嵌套与递归 测试题
-函数的参数传递
--函数的参数传递
--函数的参数传递 测试题
-引用类型
--引用类型 测试题
-含有可变参数的函数
--含有可变参数的函数 测试题
-内联函数
--内联函数 测试题
-constexpr函数
--CONSTEXPR函数课后习题
-带默认参数值的函数
--带默认参数值的函数 测试题
-函数重载
--函数重载 测试题
-C++系统函数
--C++系统函数习题
-第3章小结
--第三章小结
-实验三(上)函数的应用
-实验三(下)函数的应用
-导学
--导学
-面向对象程序的基本特点
--面向对象程序的基本特点 测试题
-类和对象
--类和对象的定义
--类和对象 测试题
-构造函数
--构造函数基本概念
--委托构造函数
--复制构造函数
--构造函数 测试题
-析构函数
--析构函数
--析构函数 测试题
-类的组合
--类的组合
--类的组合程序举例
--前向引用声明
--类的组合 测试题
-UML简介
--UML简介
--UML简介课后习题
-结构体与联合体
--结构体与联合体 测试题
-枚举类
--枚举类
--枚举类 测试题
-第4章小结
--第四章小结
-实验四(上)
--实验四(上)
-实验四(下)
--实验四(下)
-导学
--导学
-标识符的作用域与可见性
--标识符的作用域与可见性 测试题
-对象的生存期
--对象的生存期
--对象的生存期 测试题
-类的静态成员
--类的静态成员 测试题
-类的友元
--类的友元 测试题
-共享数据的保护
--共享数据的保护 测试题
-多文件结构和预编译命令
--多文件结构和预编译命令 测试题
-第5章小结
--小结
-实验五
--实验五
-导学
--导学
-数组的定义与初始化
--数组的定义与使用
--一维数组应用举例
--数组的定义与初始化 测试题
-数组作为函数的参数
--数组作为函数的参数 测试题
-对象数组
--对象数组
--对象数组 测试题
-基于范围的for循环
-指针的定义和运算
--指针的定义和运算 测试题
-综合实例
--综合实例
-实验六(上)
--实验六上
-指针与数组
--指针数组
--指针与数组 测试题
-指针与函数
--指针类型的函数
--指向函数的指针
--指针与函数 测试题
-对象指针
--对象指针
--对象指针 测试题
-动态内存分配
--动态内存分配 测试题
-智能指针
--智能指针
-vector对象
--vector对象
--vector对象 测试题
-对象复制与移动
--移动构造
--对象复制与移动 测试题
-字符串
--C风格字符串
--string类
--字符串 测试题
-第6章小结
--第六章小结
-综合实例
--综合实例
-实验六(下)
--实验六(下)