零基础轻松学C++:青少年趣味编程:全彩版(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-26 18:27:09

点击下载

作者:快学习教育

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

零基础轻松学C++:青少年趣味编程:全彩版

零基础轻松学C++:青少年趣味编程:全彩版试读:

前言

近些年来,人工智能(AI)、虚拟现实(VR)、增强现实(AR)、区块链、物联网等热点技术层出不穷,而编程则是这些技术的核心与基石。可以预见的是,编程在未来将成为每个受过教育的人必备的一项基本素质。作为未来世界的创造者,青少年越早开始学习编程,可以越快形成与计算机相近的“计算思维”,从而游刃有余地使用数字设备和软件来学习和工作,在竞争中拥有更大的主动权。

要学习编程,首先就得选择一种编程语言。当前流行的编程语言有很多,如C++、Python、Java等。C++是一种面向对象的高级编程语言,具有语法结构严谨而清晰、功能灵活而强大、运行效率高等优点,比较适合青少年学习。目前,C++在桌面应用软件、数据库系统、服务器后台、网络通信程序等的开发中都得到了广泛应用,全国青少年信息学奥林匹克竞赛(NOI)也将C++列为指定的编程语言。因此,学习C++也具有很高的实用价值。◎内容结构

本书共8章,可划分为2部分。

第1部分为第1章,主要讲解C++编程的基础知识和基本操作,如编程环境的配置,代码的输入、编译与运行等。

第2部分为第2~8章,依次讲解了变量、数据类型、运算符、分支语句、循环语句、数组、内置函数、自定义函数、指针、类与对象等C++编程的核心知识,并通过丰富的案例引导读者加深理解。◎编写特色

★由浅入深,轻松入门

本书采用由浅入深、循序渐进的思路来编排内容,书中的代码都配有详尽的注释,并对代码编写的要点和难点进行总结和点拨,让零基础的读者也能轻松入门,并快速建立起学习的信心。

★直观清晰,生动有趣

本书以思维导图的方式,直观地展示知识的架构,清晰地梳理知识的脉络,凝练地总结知识的精髓,增强了内容的生动性,降低了理解的难度。

★案例典型,实用性强

为了提高青少年的学习兴趣,书中设计了丰富的案例,如方程求根、制作九九乘法表、成绩排序、猜拳游戏、竞选计票等。这些案例与青少年的学习和生活息息相关,具备较强的典型性和实用性,有心的读者通过举一反三,还能自己编写出更多有趣的程序,达到学以致用的目的。◎读者对象

本书适合具备基本的数学知识和一定的计算机操作技能的中小学生阅读,也可作为青少年编程培训机构及青少年编程兴趣班的教材使用。

由于编者水平有限,本书难免有不足之处,恳请广大读者批评指正。除了扫描二维码关注公众号获取资讯以外,也可加入QQ群910607582与我们交流。编者2020年1月

如何获取学习资源

步骤1:扫描关注微信公众号

在手机微信的“发现”页面中点击“扫一扫”功能,如右一图所示,进入“二维码/条码”界面,将手机摄像头对准右二图中的二维码,扫描识别后进入“详细资料”页面,点击“关注公众号”按钮,关注我们的微信公众号。步骤2:获取学习资源下载地址和提取密码

点击公众号主页面左下角的小键盘图标,进入输入状态,在输入框中输入5位数字“64442”,点击“发送”按钮,即可获取本书学习资源的下载地址和提取密码,如右图所示。步骤3:打开学习资源下载页面

在计算机的网页浏览器地址栏中输入前面获取的下载地址(输入时注意区分大小写),如右图所示,按【Enter】键即可打开学习资源下载页面。步骤4:输入密码并下载文件

在学习资源下载页面的“请输入提取密码”文本框中输入前面获取的提取密码(输入时注意区分大小写),再单击“提取文件”按钮。在新页面中单击打开资源文件夹,在要下载的文件名后单击“下载”按钮,即可将其下载到计算机中。如果页面中提示选择“高速下载”还是“普通下载”,请选择“普通下载”。下载的文件如果为压缩包,可使用7-Zip、WinRAR等软件解压。

提示

读者在下载和使用学习资源的过程中如果遇到自己解决不了的问题,请加入QQ群910607582,下载群文件中的详细说明,或找群管理员提供帮助。第1章 初识C++

C++是一种面向对象的高级编程语言,在各行各业都有着广泛应用。本章将带领大家迈入C++编程世界的大门。首先介绍一种常用的C++编译器Dev-C++的工作界面和环境配置,然后通过一个简单的实例程序引导大家熟悉代码的输入、编译与运行等编程基本操作,此外还会讲解C++程序的基本结构、编程错误的种类、ASCII码等编程基础知识。001 孩子为什么要学编程

近年来,得益于人工智能的迅猛发展,编程教育在世界范围内获得了广泛关注。随着国家层面的重视和相关政策的出台,针对青少年的计算机编程教育蓬勃兴起。但是对于孩子为什么要学习编程,很多家长还是存在疑惑。下面就从三个方面来说一说学习编程对孩子成长的好处。编程能培养逻辑思维能力

编程最重要的就是梳理逻辑关系,将一个大问题分割成多个小问题来“各个击破”。在这个过程中,孩子需要思考如何简化问题、哪些问题是需要优先解决的、不同问题之间的内在联系是什么,从而锻炼了他们的观察、分析、判断和表达思路的逻辑思维能力。编程能锻炼多学科知识的综合应用能力

学习编程能促进孩子学习其他学科。为了解决一个编程问题,孩子往往需要学习多门学科的知识,并进行综合应用。例如,为了通过编程在计算机屏幕上逼真地展现一架纸飞机的飞行轨迹,孩子需要学习关于物体运动规律的物理知识,并运用数学知识推导纸飞机在屏幕上的位置随时间变化的关系。这种寓教于乐的形式能够很好地激发孩子的学习热情,增强他们学习的主动性。编程能提升专注力

在编程时,哪怕输错一个字母,程序都不能正常运行。即使能够成功运行,运行结果也可能和自己的设想完全不同。此时就需要孩子细心和耐心地寻找错误并改正。在这个过程中,孩子的专注力和抗挫折能力会得到很大提升。

可以预见的是,在未来社会,越来越多的行业都将离不开编程。让孩子学习编程并不代表孩子以后就一定要当程序员或软件工程师,它的主要目的是为孩子打开一扇逻辑思维的大门,培养孩子多方面的能力,在竞争中拥有更大的主动权。002 为什么要学C++

如果你想让计算机按照你的要求去做事,首先就需要能够与计算机交流。人类之间的交流通过汉语、英语等语言来完成,而人类与计算机交流则必须依赖计算机能够理解的语言——编程语言。简单来说,编程语言是我们用于控制计算机的一组指令,它和人类的语言一样,也有固定的词汇和语法。

编程语言有很多种,如C语言、Python、Java等。C++是在C语言的基础上发展而来的一种面向对象的高级编程语言,具有语法结构严谨而清晰、功能灵活而强大、运行效率高等优点。用C++编写的代码可以在Windows、macOS、UNIX、Linux等几乎所有的操作系统上编译和运行。目前,C++在桌面应用软件、数据库系统、服务器后台、网络通信程序等的开发中都得到了广泛应用,全国青少年信息学奥林匹克竞赛也将C++列为指定的编程语言。003 认识C++编译器的界面

计算机内部只能识别和执行由0和1组成的二进制指令。用C++编写好程序代码后,还必须将代码转换为二进制指令,才能交给计算机去执行。这个转换的过程就是编译,实现编译的软件就是编译器。

C++的编译器有很多,本书推荐使用Dev-C++。Dev-C++是一款免费的C++编译器,它界面简洁,调试功能完备,提供的语法加亮显示功能可以帮助减少编辑错误,非常适合C++初学者使用。

为了在编程时能更加得心应手,我们先来了解一下Dev-C++的界面各组成部分的名称和功能,如下图和下表所示。004 配置C++的编程环境

在开始使用Dev-C++编程之前,可以按照个人的使用习惯,对Dev-C++的编程环境进行配置。

打开Dev-C++,执行“文件>新建>源代码”菜单命令或按【Ctrl+N】组合键,新建一个源代码文件,可看到代码编辑区默认的背景颜色为白色,代码的显示字号也较小。如果想要改变这些元素的外观,①可单击“工具”菜单,②执行“编辑器选项”命令,如下图所示。

打开“编辑器属性”对话框,①单击“显示”标签,②在展开的选项卡中可以设置程序代码的字体和大小,如下左图所示。

①单击“语法”标签,在展开的选项卡中可以设置程序代码中的各种语法元素的前景颜色、背景颜色及样式(黑体、斜体、下划线)。②这里在左上角的列表框中选中“Space”选项,它指的是代码编辑区的空白区域,③单击“背景”右侧的下拉按钮,④在展开的列表中单击要设置的背景颜色,这里选择“Silver”选项,如下右图所示。完成后单击“确定”按钮。

随后可看到如下图所示的设置效果。如果想要恢复设置前的效果,可通过以上方法重新设置。005 编写一个简单的C++程序

完成Dev-C++的编程环境配置后,下面从一个简单的C++程序入手,带领大家学习在Dev-C++中编程的基本操作。

启动Dev-C++,①单击“文件”菜单,②执行“新建>源代码”命令,如下图所示。

①在代码编辑区中输入如下图所示的程序代码,这段代码的功能很简单,它会在屏幕上输出“Hello World!”的文字。输入代码后,②单击工具栏中的“保存”按钮,或者按【Ctrl+S】组合键,保存编写的程序。

①在打开的“保存为”对话框中设置好程序的保存位置,②在“文件名”文本框中输入程序名称,③“保存类型”保持默认的“C++source files(*.cpp;*.cc;*.cxx;*.c++;*.cp)”选项不变,④最后单击“保存”按钮,如下图所示。

保存程序文件后,单击窗口右上角的“关闭”按钮,关闭该窗口,然后在保存位置双击该程序文件,在Dev-C++中打开程序文件,效果如下图所示。

在代码编辑区输入上述代码时,需要注意以下几点。

①代码中的标点和符号,如冒号、括号等,都必须在英文状态下输入。输入英文字母时注意区分大小写。

②C++没有强制要求在代码中使用缩进,但是本书建议使用缩进,如第5~7行代码,这样可以让代码的层次结构更加清晰,便于其他人阅读和理解。可以按【Tab】键或空格键实现缩进,但是同一个程序的缩进方式应统一,不要将【Tab】键和空格键混用。

③同样为了便于其他人阅读和理解代码,还可以为代码添加注释。第5行代码即为单行注释,以“//”开头。注释可以添加在一行代码的上方或后方。

④在变量和运算符之间最好加一个空格,这样做也是为了提高代码的可读性。

⑤大多数语句以分号“;”结尾,输入时注意不要遗漏。006 理解C++程序的基本结构

一般情况下,一个C++程序的基本结构由以下3部分组成:

·头文件

·命名空间

·主函数

下面对这3个组成部分进行简单介绍。头文件

在上一节编写的程序中,第1行代码“#include”是编写主函数前必须输入的一行代码,因为它在C++程序的开头,所以称为“头文件”。它是一条编译预处理命令,其中,#include的作用是查找和调用库,<>内为要查找和调用的库的名称。这行代码的作用是告知编译器此程序包含iostream库,这个库用于支持输入和输出操作,本书后面的案例会多次用到这个库。

除了iostream,C++还提供了多种类型的库,如ctime、cmath、cstring等,不同的库包含不同的对象,用于实现不同的操作。如果程序中的对象分别来自不同的库,那就必须在程序的开头调用相应的库,再继续编写其他代码。这就像是想要在程序中使用某个工具,首先就需要告诉编译器这个工具装在哪个箱子里。命名空间

在上一节编写的程序中,第2行代码“using namespace std;”也是编写主函数前必须输入的一行代码,它常常位于头文件的下方。它的作用是告诉编译器要使用标准命名空间。命名空间(namespace)是一个用于避免大型项目中命名冲突的机制。一个中型或大型软件往往由多名程序员共同开发,会使用大量的变量和函数。程序员们各自测试自己编写的代码或许都能正常运行,但将它们结合到一起却不可避免地会出现变量或函数的命名冲突。为了解决合作开发时的命名冲突问题,C++引入了命名空间的概念。

std是standard的缩写,意思是“标准命名空间”。第6行代码中的对象cout被定义在标准命名空间的iostream库中,要想让编译器找到并调用对象cout,就必须使用第1行代码调用头文件,用第2行代码指定命名空间。主函数

完成库的调用并指定命名空间后,就可以开始编写程序的执行代码,也就是主函数。主函数指的是包含一个语句块和若干语句的程序结构。每个C++程序都是从一个主函数开始执行的。

在上一节编写的程序中,第3~8行代码就是主函数,这个主函数包含一个语句块,语句块以左大括号“{”开始(第4行),以右大括号“}”结束(第8行)。一个语句块可包含若干语句,根据C++的语法,凡是能实现某种操作并且最后以分号结束的都是语句。第6行和第7行代码就是两条语句,第5行代码不是语句而是注释。这两条语句和注释的具体含义会在后面详细讲解。需要注意的是,语句块内的每条语句都必须以一个分号“;”作为结尾,这个分号是语句终止符。

下面介绍主函数的一些知识点。(1)输入与输出

C++中的输入与输出可以看成一连串的数据流。输入可以看成从键盘输入程序中的一串数据流,而输出则可以看成从程序中输出一串数据流到指定设备(一般为显示器)中。在编写C++程序时,如果需要输入和输出数据,就需要引入iostream库,iostream是input/output stream的缩写,意思是“输入输出流”。iostream库包含了用于输出的对象cout和用于输入的对象cin。

在上一节编写的程序中,第6行代码就使用了对象cout从程序中输出指定信息到显示器上。cout后的“<<”是流插入运算符,运算符后面为要显示在显示器上的内容,该内容为字符串或表达式,如果为字符串就必须包含在引号内。因此,第6行代码表示在显示器上输出字符串内容“Hello World!”。类似地,要输入信息,就要用到对象cin及流提取运算符“>>”。

尽管对象cin和cout不是C++的语句,但是在不致混淆的前提下,为了叙述方便,我们常常把由对象cin和流提取运算符“>>”实现输入的语句称为输入语句或cin语句,把由对象cout和流插入运算符“<<”实现输出的语句称为输出语句或cout语句。使用两个对象编写代码时都要遵循一定的格式。

·cout语句的一般格式为:

cout<<表达式1<<表达式2<<…<<表达式n;

cout语句一般格式中的表达式可以是由运算符、括号、数值对象或变量等多个元素组成的运算式,也可以是变量或字符串。

·cin语句的一般格式为:

cin>>变量1>>变量2>>…>>变量n;

cin语句一般输入的是一个或多个变量的值,这个值可以是数值,也可以是字符串。(2)return 0

在上一节编写的程序中,第7行代码中的return语句用来退出程序,一般放在主函数的末尾。0是返回值,表示程序成功退出。如果不编写该语句,在有些编译器中,程序也可以运行,但是在有些编译器中则不能运行。为了让程序在所有编译器中都能运行,加上该语句是很有必要的。(3)注释

在上一节编写的程序中,第5行代码是一条单行注释,而不是程序的语句,在编译程序时会被编译器忽略,不会影响程序的运行结果。注释用于说明某一行或某几行代码是用来干什么的,能帮助人们更容易地理解程序。

单行注释以双斜线“//”开始,可以单独占据一行书写,也可以书写在一行代码的最后,但不能放在代码的前面,因为这样编译器就会把这一行代码都作为注释看待。

在调试程序时可以利用注释来定位错误代码。例如,调试时初步怀疑错误是某一部分代码导致的,就可以利用“//”将这部分代码转换为注释,如果再次运行时错误消失,则说明这部分代码确实有问题。007 编译、运行C++程序

编写好程序并保存后,要想运行程序并得到结果,还得通过编译功能把代码转换成可执行文件(*.exe)。如下图所示,①单击“运行”菜单,②执行“编译”命令,或者按【F9】键,即可开始编译程序。

如果编译过程中未发生错误,①输出标签页会自动切换至“编译日志”选项卡,②在该选项卡下会显示该程序的文件名、编译结果、编译时间等信息。③随后单击“运行”菜单,④执行“运行”命令,如下图所示,或者按【F10】键,即可运行编译得到的可执行文件。

在自动打开的可执行文件窗口中可看到程序的运行结果,如下图所示。

以上先编译后运行的流程是运行代码的标准流程。如果代码较长或较复杂,按照标准流程先编译后运行是很有必要的。如果代码比较简单,①可以单击“运行”菜单,②执行“编译运行”命令,或者按【F11】键,一次性完成代码的编译和运行操作,如下图所示。008 了解编程错误

前面介绍的程序比较简单且代码无误,只要输入正确,在编译和运行后,就能看到预想的运行结果。但是,随着学习的深入,我们编写的程序会越来越复杂,出现错误是难免的,对于有经验的编程者来说也是如此。

初学者在编程中遇到的错误主要分为语法错误和逻辑错误两类。下面就来看看这两类错误的区别及更正方法。语法错误

通过编译器的编译功能发现的错误就称为语法错误。例如,输错了对象、符号,遗漏了必要的分号,使用了左括号却没有添加右括号,或者应用了编辑器不能识别的函数等。通常编译器都会告诉我们这些错误的具体位置及出错的原因。下面就来学习语法错误的查看和更正方法。

①在Dev-C++编译器中执行“运行>编译”命令后,输出标签页会自动切换至“编译器”选项卡,在选项卡名称的右侧会显示程序编译过程中出现的错误数量,②在该选项卡下会显示错误所在的行列号及出错的原因,③代码编辑区中会高亮显示出错的某行代码,如下图所示。可以看到,图中的程序在编译过程中出现了5个错误,在选项卡下可看到具体的错误信息。

通过仔细分析可以发现,虽然显示的错误有5个,但是实际上只有2个错误:第1个错误是第2行代码的末尾遗漏了分号,第2个错误是第6行的字符串“Hello World!”遗漏了右侧的引号。也就是说,有时一个错误会连带导致许多行代码都出现编译错误。因此,在更正错误时最好从最顶端的错误开始,也许就能同时更正一些后续发生的连带错误,从而在一定程度上减少工作量。逻辑错误

逻辑错误是指程序没有语法错误,可以顺利地编译和运行,但是运行结果不符合编程者的预期。以计算5除以2为例,根据我们已经掌握的数学知识,很容易就能算出结果是2.5。下面用C++编写一个程序来完成计算,如下图所示。

保存程序文件,按【F11】键,运行结果如下图所示。

可以看到程序正常运行结束,但是输出的计算结果为2,与我们预想的计算结果2.5不符,这种情况就是程序中存在“逻辑错误”。出现错误的原因是在C++中,两个整数相除的结果只保留整数部分,小数部分会被丢弃。为了得到正确的结果,需要更改变量a和b的数据类型,即将第5行代码改为“float a,b”。

通常情况下,我们根据编译器的提示很容易就能找到并更正语法错误,但是找到逻辑错误就不那么容易了,需要我们在学习中多多反思并积累经验。009 ASCII码

计算机内部的数都是用二进制数字(由许多0和1组成的一串数字)表示的,把一个数映射到它的二进制码的过程称为编码,大多数计算机使用的编码是ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)。

下表所示为部分可显示的字符(包括英文字母、数字和符号等)的ASCII码。一个字符的ASCII码由字符所在的行号和列号组成。例如,大写字母A位于第6行第5列,因此其ASCII码为65。

这里只是简单认识一下ASCII码,在第38页将会讲解ASCII码的用途。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载