C++案例趣学
上QQ阅读APP看书,第一时间看更新

前 言

近几年来,青少年编程教育在世界各国开展得如火如荼。在国内,青少年编程教育方兴未艾,如星星之火一般在祖国大地上蔓延开来。人们逐渐意识到在人工智能技术飞速发展的今天,编程应该成为一种必备的技能。

本书属于信息学竞赛编程入门读本。信息学主要是指利用计算机及其程序设计来分析问题、解决问题的学科,信息学竞赛则是以信息学尤其是编程相关知识为基础的中小学学科竞赛活动。

本书以生动幽默的语言,通过大量的实例,讲述了C++语言面向过程部分的基本语法知识。全书分为22课和1个附录。第1~3课简述了C++基本语法包括程序框架、数据定义和输入/输出等;第4~6课涉及了各种运算符及表达式;第7~12课阐述了选择和循环程序结构;第13~15课讨论了数组类型及其应用;第16~18课举例说明了字符数组与字符串以及文件操作;第19~20课探讨了函数及其应用;第21课解释了结构体及其应用;第22课介绍了类和对象。附录说明了C++集成开发环境——Dev-C++的安装和使用。

本书与传统信息学竞赛类教材相比,具有如下特点。

(1)语言通俗易懂,内容风趣幽默,难度适中,既有知识性,又注重趣味性,适合中小学生入门学习。

(2)在内容组织上,打破传统编程教材分章模式,按知识点组织课程,将课程分为知识讲解和实例练习两种,在形式上更接近中小学师生教与学的习惯。

(3)知识讲解通过实际例题介绍知识,从具体到抽象,符合中小学生的认知特点。书中每一节的知识讲解都分为如下六个部分。

① “看一看”部分通过漫画和故事形式描述例题,引起读者兴趣。

② “想一想”部分针对本课知识提出问题,启发读者思考。

③ “做一做”部分给出例题源程序,指导读者实践。

④ “听一听”部分结合例题和图示讲解内容,引领读者构建知识。

⑤ “总结”部分使用简单语句建立知识框架,辅助读者梳理所学。

⑥ “练一练”部分根据本节课程列举相关习题,引导读者复习。

(4)实例练习紧随相关知识讲解之后,用以帮助读者巩固相关知识的学习。

(5)书中例题都分为问题描述、数学分析、算法说明和程序实现4个步骤,循序渐进讲解了例题,符合程序设计的思维方式。

(6)书中练习题在配套资源包中都有源代码及相关说明,可供教师备课和学生自学。

本书主要适用于9~16岁学生,既可以作为学生自学的读本,又可以作为教师教学的参考,还可以作为学校或机构信息学竞赛的培训教材。

如果把本书当作信息学竞赛的培训教材,那么可以根据不同学生的年龄作如下课时安排。

(1)对于9~12岁(小学中、高年级)的学生,建议将“练一练”部分作为课堂内容完成,每一课的教学时间为180分钟(4课时)。如果每周安排2课时,共44个教学周完成。

(2)对于12~16岁(初中以上)的学生,建议将“练一练”部分作为课后作业完成,每一课的教学时间为90分钟(2课时)。若每周安排2课时,共22个教学周完成。

本书在编写和出版期间得到了多方人士的支持和帮助。中国科学院自动化研究所孙哲南研究员总体策划了本项目的实施并审阅了全部书稿。北京市西城区教育研修学院的石沙老师、林志奕老师、熊雪亭老师以及北京教育学院石景山分院的牛静老师帮助联系了各位顾问,并请各位顾问审阅了书稿内容。

在成书过程中,上海它趣教育科技有限公司的李丽、牛宏伟等完成了书中漫画的绘制,王舜谦、张思琪等完成了文字的初次校对工作,苏鹤年等完成了部分程序代码的校对工作;天津中科智能识别产业技术研究院有限公司的矫金鑫、庞晓静、梁颜铭、秦蓉等整理了书中的程序代码,完成了配套资源包的开发以及图书的校对工作。

本书是在中国科学院自动化研究所智能感知与计算研究中心、天津中科智能识别产业技术研究院有限公司等单位的领导关怀和鼓励下出版的。此外,本书的出版离不开人民邮电出版社吴晋瑜编辑的大力支持和协助。

在此谨对所有支持和协助本书编写和出版的人员表示最诚挚的敬意和最衷心的感谢。

由于时间仓促,加之作者水平有限,书中疏漏之处在所难免,希望各位专家和广大读者批评指正。另外,书中部分例题和练习来源于信息学奥林匹克竞赛试题并稍作改动,特此说明。

张 森

于中国科学院自动化研究所