大家好
欢迎继续学习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
是大家要完成的任务
大家跟着这个实验步骤开始动手去写程序
另外在我讲课过程中
我也会大家演示
在实际的编译环境中
是怎么样建立一个项目
怎么样去编译
怎么样去运行调试
在这个环境中观察它内存的
变量的情况
希望大家看到了以后
回去也模仿这样的方式
把这些例题 你自己做的习题
单步调试一下
观察一下内存的状态
这样在我们接触
并不难的程序的时候
很简单的程序的时候
你把这些技术 技巧都学会
非常有助于以后的章节中
你学习更难的 更复杂的程序
好 这一章的主要内容和要点
和学习方法的建议就是这些