当前课程知识点:C++语言程序设计基础 >  第2章 C++简单程序设计(一) >  导学 >  第二章导学

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

第二章导学在线视频

第二章导学

第2章主要内容和教学要求

 

计算机的最基本功能是数据处理

l  C++支持的基本数据类型:

n  整数、实数、字符、布尔数据

l  C++支持的基本运算

n  算术运算、关系运算、逻辑运算、位运算、逗号运算、条件运算

程序要能够输入数据、输出数据

l  C++中的数据输入/输出可以调用预定义的功能模块实现

程序的执行流程

l  顺序的,因此程序要能够

l  对执行流程进行选择(选择、开关语句);

l  反复用同一算法依次处理大批量数据(循环语句)。

枚举类型

l  通过列出所有可取值来定义一种新类型。

学习要求:

l  学习视频课件;

l  阅读教材第2章;

l  按照实验指导视频或者《C++语言程序设计(第4版)学生用书》完成实验;

l  完成在线选择题和编程题;

参考教材

l  《C++语言程序设计》(第4版),郑莉等编著,清华大学出版社出版

l  《C++语言程序设计(第4版)学生用书》,郑莉等编著,清华大学出版社出版


下一节:C++的特点和程序实例

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

第二章导学课程教案、知识点、字幕

大家好

欢迎继续学习C++语言程序设计

现在我们要开始讲第2章

C++简单程序设计

首先我给大家把第2章的要点

还有学习方法做一个简单介绍

我们知道写程序的一个主要目的就是希望计算机

能够给我们做计算

因为人工计算的速度

远远不如计算机计算的速度快

那么要计算呢就要有数据

在C++程序中怎么样去表示

各种不同类型的数据呢

在这一章我们就要介绍

C++能够表示的数据类型

包括整数类型的实数

也就是符点数类型的

还有字符类型的

还有表示逻辑值真和假的

这个布尔类型的数据

都要在这一章给大家介绍

如何在程序中存储它们

表示它们

除了有数据呢 我们还要设计

在这些数据上面的计算方法

那么程序中就要能够实现

各种计算

在C++语言中

已经预先内置好了一些运算符

比如说

我们熟悉的加减乘除运算符

还有一些其他的运算符

用这些运算符我们就可以

像在数学中写算式一样

直接把这些要计算的算式

写在程序中

这样呢

计算计就可以

按照程序规定的步骤

为我们做计算了

另外呢 我们要写程序的话

就要考虑到用户在使用这个程序

也就在执行这个程序的时候

肯定会要有数据的输入和输出

通常用户会把需要计算的数据

输入到程序中

因为每个程序肯定不只只说

只处理一个或者是一组数据

它应该是一个相对比较通用的

那么相对通用的程序

可以让用户在每次使用的时候

给出不同的数据

这个程序就要能够

根据这些不同的数据进行计算

那程序就要有能力

从外部设备读取数据

比如说经常是从键盘上

读取用户数的数据

那么程序的运行结果呢

总要展示出来

任何一个程序 任何一段程序

它总要把它的运行结果

用某种方式传递出来的

比如说放到显示器上

或者存在硬盘上

或者用其他的方式

送到其他的程序中

比如说网络的某个地方去

总而言之

某一个程序段只要执行

它就应该有办法

把执行结果送出来

所以我们还要考虑在程序中

如何从外部设备读取数据

如何将程序的数据送出来

送到显示器上 比如说

这个就是程序的输入与输出

在C++中输入与输出

是借助于预定义好的功能模块

来实现的

我们只要去调用

这些预定义好的功能模块

就可以实现数据的输入和输出了

另外我们在考虑一下

略微复杂一点的算法

可能就不仅仅是一个公式

能解决的问题了

即使是一个公式能解决的问题

我们想想很多数学公式

它是要做累加 累乘

那么这样的问题

在计算机中怎么解决呢

其实这些问题就牵扯到了

执行流程的控制

也就是说我们不是说

总是用一种顺序结构来写程序的

告诉计算机第一步算什么

第二步算什么 第三步算什么

有的时候是要做判断的

比如说数学里面的分段函数

大家是熟悉的

当x大于0的时候

是一种函数计算公式

当x小于等于0的时候

是另外一种函数计算公式

那么这个时候这样的算式

在计算机中怎么实现呢

那么就要用选择结构

要根据某个条件的判断

这个条件成立与否

也就是判断结果是真还是假

决定接下去该执行什么

这就是我们要讲的选择结构

那么另外一些问题呢

比如说我们要做

数列的前n项和的累加

如果人工去计算

我们会用什么办法呢

那我们肯定要找前n项和的公式

如果没有前n项和的公式

让你去累加前一千项 比如说

那你手工一个一个去写 去计算

即使你按计算器

那也是太罗嗦的一件事情

但是一旦有了前n项和的公式

那我们就不怕了

用一个公式就可以算出来了

但是当你借助于计算机

来做这样的计算的时候

思路就会不一样

这就是说数值算法

和我们平常人工手算的算法

它是不一样的

在计算机解决

数值计算问题的时候

用的数值算法往往在我们人看来

是特别特别笨的办法

比如说我要累加

数列的前n项的和

比如说1 2 3 4 5 6

就这样一个数列

一直加到1000

大家可能说这个容易

我脱口而出了

这个前n项和的公式太清楚了

我心算就出来了

那么这个问题呢

如果交给计算机去做

你不管记得不记得

不管有没有前n项和公式

那么典型的做法是什么呢

告诉计算机你就加吧

从1开始然后加2 加3 加4

一直加到什么时候呢

最后一项 加到1000就行了

那你说

那么我们就把这么笨的办法

去给到计算机吗

哎 这就是用计算机计算的特点

计算机计算的速度非常快

所以我们恰恰就可以

把这种大量重复同一种方法的

这样的运算交给计算机去做

就是大量重复用同一种方法

去处理 依次处理不同的数据

那么把这件事情告诉计算机

你就重复用这种方法

依次处理数据 从1到1000

每次不长 增值为1

这几件事你告诉程序

在程序里面写清楚

计算机就会给你做

这就是我们在这一章要讲的

循环语句 循环也有几种

那么在这一章我们会看到

程序里面

也就是C++语言的语法规则里面

预定义好了有那么几种

基本数据类型

我们叫它基本类型

也叫预定义类型

比如说我们刚才说了

能表示整数 实数 字符

逻辑值真假

好象有这些做计算

似乎就没问题了

可是大家想想你如果想表示

自然界中的很多事物的话

很多事物是不那么简单

就用这几个整数

实数就可以表示的

你拿什么来表示我这个人

所以仅仅这些预定义好的类型

是不足以让我们能够描述

现实中的问题

和解决问题的方法的

所以我们很多时候

需要让这个程序员有一点权限

是不是我可以自己定义

新的数据类型

我定义一个表示杯子的数据

定义一个表示人的数据类型

可不可以呀 可以

这个会是后续章节要讲的

那么在这一章

我们先小小体验一下

定义一个什么呢

定义一个枚举类型

也就是说我觉得现有的类型

都不太符合我的需要

那如果我说的清楚

我的新类型的所有可取值

都是什么

在这种情况下

我就可以把所有的可取值

都列出来 告诉系统

这就是我自己定义的一种新类型

这就是我们这一章要讲的

枚举类型

那么这一章呢

也是我们开始真的动手

自己写程序的第一章内容

所以在这一章学完了以后

大家要开始做在线的编程题了

你要自己写程序

那么到系统上提交

然后会得到一个如果是正确的话

得到一个正确的评分

如果有错误的话

会反馈给你错误信息

或者你得不到满分

可以实践一下

然后我们的实验指导书

也就是C++语言程序设计

第四版的学生用书实验2

是大家要完成的任务

大家跟着这个实验步骤开始动手去写程序

另外在我讲课过程中

我也会大家演示

在实际的编译环境中

是怎么样建立一个项目

怎么样去编译

怎么样去运行调试

在这个环境中观察它内存的

变量的情况

希望大家看到了以后

回去也模仿这样的方式

把这些例题 你自己做的习题

单步调试一下

观察一下内存的状态

这样在我们接触

并不难的程序的时候

很简单的程序的时候

你把这些技术 技巧都学会

非常有助于以后的章节中

你学习更难的 更复杂的程序

好 这一章的主要内容和要点

和学习方法的建议就是这些

C++语言程序设计基础课程列表:

第1章 绪论

-导学

--第1章导学

-计算机系统简介

--计算机系统简介

--计算机系统简介 测试题

-计算机语言和程序设计方法的发展

--计算机语言和程序设计方法的发展

--计算机语言和程序设计方法的发展 测试题

-面向对象的基本概念

--面向对象的基本概念

--面向对象的基本概念 测试题

-程序的开发过程

--程序的开发过程

--程序的开发过程 测试题

-信息的表示和储存

--计算机中的信息与存储单位

--计算机的数字系统

--数据的编码表示

--信息的表示和储存 测试题

-实验指导

--实验一:VS开发环境介绍

第2章 C++简单程序设计(一)

-导学

--第二章导学

-C++语言概述

--C++的特点和程序实例

--C++字符集和词法记号

--C++语言概述 测试题

-基本数据类型、常量、变量

--基本数据类型、常量、变量

--程序举例

--基本数据类型、常量、变量 测试题

-运算与表达式

--算术运算与赋值运算

--逗号运算、关系运算、逻辑运算和条件运算

--Sizeof运算、位运算

--运算优先级、类型转换

--运算与表达式 测试题

-实验二:简单程序设计(上)

--实验二:简单程序设计(上)

第2章 C++简单程序设计(二)

-数据的输入和输出

--数据的输入和输出

--数据的输入和输出 测试题

-选择结构

--if语句

--switch语句

--选择结构 测试题

-循环结构

--循环结构——while语句

--do-while语句

--for语句

--嵌套的控制结构、其他控制语句

--循环结构 测试题

-自定义类型

--自定义类型

--自定义类型

-第2章小结

--第二章小结

-实验二:C++简单程序设计(下)

--实验二C++简单程序设计(下)

第3章 函数

-导学

--导学

-函数定义

--函数定义

--函数定义 测试题

-函数调用

--函数调用(例3-1)

--例3-2

--例3-3

--例3-4

--例3-5

--例3-6

--函数调用 测试题

-嵌套与递归

--函数的嵌套调用(例3-7)

--函数的递归调用(例3-8)

--例3-9

--例3-10

--嵌套与递归 测试题

-函数的参数传递

--函数的参数传递

--函数的参数传递 测试题

-引用类型

--引用类型(例3-11)

--引用类型 测试题

-含有可变参数的函数

--含有可变参数的函数

--含有可变参数的函数 测试题

-内联函数

--内联函数(例3-14)

--内联函数 测试题

-constexpr函数

--constexpr函数

--CONSTEXPR函数课后习题

-带默认参数值的函数

--带默认参数值的函数

--默认参数值例(3-15)

--带默认参数值的函数 测试题

-函数重载

--函数重载(例3-16)

--函数重载 测试题

-C++系统函数

--C++系统函数(例3-17)

--C++系统函数习题

-第3章小结

--第三章小结

-实验三(上)函数的应用

--实验三(上)函数的应用

-实验三(下)函数的应用

--实验三(下)函数的应用

第4章 类与对象

-导学

--导学

-面向对象程序的基本特点

--面向对象程序的基本特点

--面向对象程序的基本特点 测试题

-类和对象

--类和对象的定义

--类和对象的程序举例

--类和对象 测试题

-构造函数

--构造函数基本概念

--构造函数例题(1)——例4-1

--构造函数例题(2)——例4-2

--委托构造函数

--复制构造函数

--复制构造函数调用举例

--构造函数 测试题

-析构函数

--析构函数

--析构函数 测试题

-类的组合

--类的组合

--类的组合程序举例

--前向引用声明

--类的组合 测试题

-UML简介

--UML简介

--UML简介课后习题

-结构体与联合体

--结构体(例4-7)

--联合体(例4-8)

--结构体与联合体 测试题

-枚举类

--枚举类

--枚举类 测试题

-第4章小结

--第四章小结

-实验四(上)

--实验四(上)

-实验四(下)

--实验四(下)

第5章 数据的共享与保护

-导学

--导学

-标识符的作用域与可见性

--标识符的作用域与可见性

--标识符的作用域与可见性 测试题

-对象的生存期

--对象的生存期

--对象的生存期 测试题

-类的静态成员

--静态数据成员(例5-4)

--静态函数成员(例5-5)

--类的静态成员 测试题

-类的友元

--类的友元(例5-6)

--类的友元 测试题

-共享数据的保护

--共享数据的保护(例5-7)

--共享数据的保护 测试题

-多文件结构和预编译命令

--多文件结构和预编译命令(例5-10)

--多文件结构和预编译命令 测试题

-第5章小结

--小结

-实验五

--实验五

第6章 数组、指针与字符串(一)

-导学

--导学

-数组的定义与初始化

--数组的定义与使用

--数组的储存与初始化

--一维数组应用举例

--数组的定义与初始化 测试题

-数组作为函数的参数

--数组作为函数参数(例6-2)

--数组作为函数的参数 测试题

-对象数组

--对象数组

--对象数组 测试题

-基于范围的for循环

--基于范围的for循环

-指针的定义和运算

--指针的概念、定义和指针运算

--指针的初始化和赋值

--指针的算术运算、关系运算

--指针的定义和运算 测试题

-综合实例

--综合实例

-实验六(上)

--实验六上

第6章 数组、指针与字符串(二)

-指针与数组

--用指针访问数组元素

--指针数组

--指针与数组 测试题

-指针与函数

--以指针作为函数参数

--指针类型的函数

--指向函数的指针

--指针与函数 测试题

-对象指针

--对象指针

--对象指针 测试题

-动态内存分配

--动态分配与释放内存

--申请和释放动态数组(一)

--申请和释放动态数组(二)

--动态内存分配 测试题

-智能指针

--智能指针

-vector对象

--vector对象

--vector对象 测试题

-对象复制与移动

--深层复制与浅层复制

--移动构造

--对象复制与移动 测试题

-字符串

--C风格字符串

--string类

--字符串 测试题

-第6章小结

--第六章小结

-综合实例

--综合实例

-实验六(下)

--实验六(下)

第二章导学笔记与讨论

也许你还感兴趣的课程:

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