本书会先介绍信息学竞赛的环境, 具体项目等, 接着从零基础出发, 介绍从信息学竞赛角度如何去理解信息学竞赛所用的与电脑沟通语言-C++的基础知识, 之后分两个部分介绍了信息学竞赛的初级知识点, 通过层层递进的例题, 完善的OJ (在线判题系统) 系统, 带领学生一步步的通过足量的训练掌握初级竞赛所需的知识和技能。内容安排主要有: 本机环境, 网络提交, C++基本操作, 编程实践, if语句, 计算解题核心--循环, 数组, 贪心解题思路, 可变重数“循环”-搜索, 从已知“转移”到未知-动态规划, 奇妙构思的数据存储, 无处不在的图, 其他技巧, 挑战环节等。
李曙,中国计算机学会(CCF)会员,南京外国语学校信息学教研组组长,信息学竞赛负责人,专职于信息学竞赛的教学和带队工作。2014年在CCF纪念NOI创建30周年评奖活动中获得个人奖项类荣誉——钻石教练奖;2016年获得美国苹果公司开发者大会WWDC2016教育者奖学金,辅导学生获得2次WWDC奖学金;被评为苹果杰出教育工作者(ADE2017);2018、2019年连续两年获得CCF杰出演讲者称号。多年来,南京外国语学校学生获得国际信息学奥林匹克竞赛(IOI)金牌7枚,全国信息学奥林匹克竞赛(NOI)金牌30余枚。
第一章 C++语言入门
1.1 C++语言程序简单实例
1.2 Dev-C++的使用
1.2.1 Dev-C++的配置
1.2.2 Dev-C++的编译与调试
1.3 在线评测系统的使用
第二章 输入输出
2.1 流式输入输出
2.1.1 cin的使用
2.1.2 cout的使用
2.1.3 自定义变量的流式输入输出
2.2 标准输入输出
2.2.1 scanf的使用
2.2.2 printf的使用
2.2.3 printf格式控制
第三章 变量和常量与顺序结构
3.1 变量
3.1.1 变量的声明
3.1.2 变量的赋值
3.1.3 全局变量
3.1.4 变量的生命周期
3.1.5 常见的基础变量类型
3.1.6 变量的类型转换
3.2 常量
3.3 顺序结构
第四章 分支结构
4.1 if语句的使用
4.2 关系运算符和关系表达式
4.3 逻辑运算符和逻辑表达式
4.4 综合训练
第五章 循环结构
5.1 for循环
5.2 while循环
5.3 多重循环的应用
第六章 数组
6.1 一维数组
6.1.1 一维数组的初步介绍
6.1.2 一维数组的细节
6.1.3 一维数组的应用
6.1.4 排序知识补充
6.2 二维数组
……
第七章 简单字符串
第八章 复杂字符串
第九章 经典算法与实战