写在前面 · 前言与 Dev-C++ 准备课
小学生 C++ 创意编程
6 大部分 · 85 课 · 全书 730 页
图文按原书顺序重排;方括号标注为原书页码


COPYRIGHT
出版时间:2024年1月
内容简介
C++是信息学奥赛指定的编程语言。本书以通俗易懂的方式深入浅出地介绍了C++编程语言,适合作为小学生学习的教材类读物。
本书的特点在于紧密结合生活,将算法融入其中。精心挑选了100多个案例,旨在逐步引导读者掌握编程技巧。书中的案例难度梯度设计合理,既能够满足孩子的挑战欲,又能让他们在完成任务后获得内在的成就感。本书以逻辑思维、算法思考为核心,旨在激发孩子对编程的学习兴趣,并建立编程带来的成就感;采用多种教学模式,提供多种学习方法,让孩子真正感知程序设计,理解编程,提升思维。本书涵盖了C++中的各个知识点,包括指针等高级主题,解决了C++学习难、难入门的局面。同时本书还配备了大量练习题,辅助读者进行手动实验,从而达到举一反三、助力竞赛的目的。
本书适合四年级以上小学生阅读,可作为各类竞赛、等级考试、信息学奥赛的入门教材,同时也可供编程教育工作者选作教材和参考书。
作者简介
放空教学法开创者
杭州市科普作家协会会员
10万多册少儿编程畅销书作者
中国计算机学会GESP技术委员
青少年人工智能核心素养测评技术委员
年度国际人工智能教育行业杰出贡献人物
推荐序
Recommendation
少儿编程不仅仅是学习一门技术,更重要的是开拓思维方式,引领孩子打开人工智能世界的大门。果果老师的书籍不仅符合少儿编程的初衷,更为孩子们提供了一种循序渐进的学习方式。
果果老师对于少儿编程的理解和研究让我深感钦佩。他致力于让更多的孩子通过编程触达科技,用独特的方式启发孩子们的学习兴趣。果果老师此次编写的3本书都精心设计,以兴趣、知识和思维为核心,促进孩子们在编程学习中培养自主思考的能力和创造力。
这3本书都采用了教材式的编写方式,以项目制的教学模式为孩子们提供了丰富的实战练习。在项目结束后,还提供了大量的练习题,鼓励学生创新实践,让他们在编程学习中有更多的创新思考和实践的空间。
果果老师的编程书籍不仅传授知识,更是启发孩子们探索世界和未知领域的钥匙。这些书籍将为学习者带来全新的编程体验,让孩子们在这个人工智能改变世界的时代转型中立于不败之地。
王江有
全国工商联教育商会人工智能教育专委会主任
民进中央教育委员会委员
小码王教育集团创始人CEO
读书笔记
Reading notes
前言
Preface
在如今这样一个科技高速发展的时代,各行各业已经离不开程序设计,少不了编程。对于中小学生而言,了解程序设计、掌握编程、提升思维、运用编程工具分析和解决问题已经是一件越来越重要的事情了。
近年来,中国计算机学会每年都会举行“全国青少年信息学奥林匹克竞赛(NOI)”,旨在向青少年普及计算机科学知识,给学校的信息技术教育课程提供新的内容和思路,给那些有才华的学生提供相互交流和学习的机会,通过竞赛和相关的活动培养和选拔优秀计算机人才。
目前,市面上用于学习C++的教材特别多,但大部分更适合编程人员、大学生或具有扎实基础的中学生。我一直认为“少儿编程绝不是成人编程教育的缩减版”,更不是挑选一些简单的知识和技巧给中小学生,而是需要精心筛选课程内容,并且要做到以下几点:
1.激发学习兴趣:案例挑选、课程设计都需具有趣味性,让兴趣来做最好的老师。例如会跳舞的机器人、可以关机的黑客技术等。好奇心可以激发大脑产生θ波,让学习质量大大提升。
2.满足内在成就感:学习有时候真的充满挑战,需要不断地探索未知,重复地刷题解题。那么应该如何让孩子坚持呢?我构建了120%难度梯度理论,就是为了既满足孩子的挑战欲,又满足他们的成就感。
如果难度梯度低于100%,学习者会觉得太简单,学习没意义,因为自己都会了。但是如果难度梯度超过120%,学习者又会感觉难度太大,这是一座无法逾越的大山。本书精心挑选了100多个案例,经过长时间的打磨和调整,将整个学习过程的难度梯度控制在100%~120%,目的是让学习者始终保持对学习的热情和兴趣。
3.提升思考质量:我常常告诫学生们:“知识不够,思维来凑。”因为知识是无穷无尽的,每门语言都有数不清的函数和说不尽的模块。如果要等所有知识都掌握到位才能解决问题,那什么时候才是个头呀。在现有的知识范围内解决问题,关键在于有良好的思考能力,运用这种思考能力再次回溯知识,总结经验。本书中的许多问题都先用已学知识来思考如何解决,然后探索新的解决方案。
4.掌握学习方法:从Scratch、Python到C++,我一直强调学习方法,主张知识不是老师灌输的,而是我们共同探索的。遇到看不懂的错误和程序时,不妨先尝试“翻译助力学习法”,或许瞬间就会豁然开朗;遇到相似的内容,运用“对比学习”总结归纳相同之处,找出差异,再通过“测试总结”进行自我学习;学会应用“图解法”,将抽象的问题具象化。信息的发达对于我们探索出属于自己的自主学习方法至关重要。
按照这样的路径学习:记录思考、怎么想的、为什么呢、寻找问题、明确问题、描述问题、分析问题、得出解决方法、尝试解决方法、验证解决方法、总结收获。
学习编程的一个特别大的好处就是可以不断地进行探索和尝试。
5.培养思维力:将各种思维方式融入学习和思考过程中:描述性思维、比较性思维、类比性思维、分类性思维、整体分析思维、因果关系思维、发散性思维、程序性思维、计算性思维、批判性思维……
虽然书中并未逐一分析和讲解这些思维方式,但在视频讲解和分析中会将它们融入其中。
学习C++编程不仅仅是为了参加竞赛,应该在学习过程中兼顾以上5个方面,更确切地说应该是做到以上5个方面比学习知识更重要。
知识宛如浩瀚的海洋,我们需要学会游泳的技能,这样才能在知识的海洋中畅游。因此,我编写了这本学习教材,适合广大对C++有热情
但又被其“难度”所阻挡的中小学生。希望通过学习本书,读者不仅能够掌握C++编程的基础知识,还能提升自己的逻辑思维和算法思考能力。
编者,于杭州
2023年12月
第1部分 初识 C++ —— 顺序结构
第一部分
初识C++
——顺序结构
准备课
轻、便、快的C++学习神器(运用Dev-C++)

学习C++,我们将进入一个全新的领域。与计算机交朋友,在应用数学的海洋里遨游,探寻发明者的智慧结晶。别觉得C++很难,其实你早已是一个编程高手,面对如此复杂的上学指令,你每天都游刃有余地执行着,不是吗?
上学指令:
你多厉害呀,既能编写命令,又能执行命令。
只是现在的计算机还不够智能,它没办法理解我们说的话。下面的两段对话,就能把计算机绕晕了。
我:你等等,我先去方便一下。
计算机:方便是什么意思?
我:方便就是上厕所的意思。
计算机:我懂了!
我:我方便的时候,你随时过来。
计算机:不太好吧,你上厕所的时候我过来太不文明了吧!
我:额~这里说的“方便”是我有时间的意思。
计算机:什么情况,我懵圈了。
因此,与计算机沟通需要借助编程语言。那么,如何将编程语言传达给计算机呢?这就需要使集成开发环境,在其中写入编程语言,经过编译转换成计算机能够看懂的命令,然后运行。
Dev-C++就是这样一个集成开发环境,运用它可以实现C++程序的编辑、编译、运行和调试。如果你的计算机中还没有安装这个软件,记得先下载并安装。
Dev-C++的安装
1双击运行Dev-C++安装包。
2等待安装程序加载。
3加载完成后,选择安装环境的语言,默认为English。
4单击“I Agree”按钮接受许可协议,进入下一步。
5单击“Next”按钮,继续下一步。
6选择该集成开发环境要安装的磁盘位置,这里我将该软件安装在D盘。
7单击“Install”按钮后,等待安装进行。
8单击Finish按钮完成安装,并打开Dev-C++。
9进入软件界面后选择语言,这里我选择的是“简体中文/Chinese”,然后单击Next按钮。
10这里可以调整字体和风格,通常习惯使用默认状态,直接单击Next按钮,进入下一步。
11一切完成,单击OK按钮开始编程。
12进入编程界面,它长这样。
我的欢迎程序
尝试着创建C++源文件,编写一个程序。编程学习过程中,能够让程序正常运行至关重要,如果程序卡住了,不要着急往下学习,先解决程序问题。理解知识和实操编程两者相辅相成,缺一不可。
1依次单击“文件”→“新建”→“源代码”。
2在光标闪烁的位置输入代码。
3输入以下代码,这里不用理解代码的含义,照着敲一敲,感受一番,先成功运行第一个C++程序。
注意
代码中的符号,要在英文格式下输入!
4运行程序之前必须保存程序文件(也称为源代码文件或源程序文件),单击“文件”→选择“保存”或“另存为”,将程序文件命名为welcome.cpp并保存到计算机中。
5源代码文件保存后,依次单击“运行”→“编译运行”,对源代码进行编译运行。
此时一共进行了两步,一步是编译,一步是运行。我们也可以将它拆开,先编译再运行。
敲黑板
编写完代码后,单击编译运行,查看程序结果。
源程序文件编译后会生成一个.exe文件,运行的就是这个.exe文件。
注意
每次修改代码后,运行程序前都需要编译。
6程序运行效果。