描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302584636
本书是一本关于信息学竞赛入门的图书,全书共包括计算机程序设计C 语言和基础数据结构及基础 算法两篇,共16章。计算机程序设计C 语言包括C 语言编程入门、顺序结构、选择结构、循环结构、数 组、字符串、函数与函数递归、结构体与文件;基础数据结构及算法包括队列、栈、简单的排序、顺序查找与 二分查找法、枚举法、贪心法、递推以及常用库函数。
本书是一本关于信息学竞赛入门的图书,全书包括计算机程序设计C 语言和基础数据结构及基础算法两篇,共16章。篇包括C 编程入门、顺序结构、选择结构、循环结构、数组、字符串、函数与函数递归、结构体与文件; 第二篇包括队列、栈、简单的排序、顺序查找与二分查找、枚举算法、贪心法、递推以及常用库函数。本书语言描述通俗易懂,通过知识讲解努力帮助读者形成编程思维和计算思维,提升创造力、想象力和分析问题、解决问题的能力。本书可作为信息学入门学习用书,也可为开展编程教育的中小学教师提供参考。
篇计算机程序设计C 语言
第1章C 编程入门
1.1C 程序设计语言简介
1.2C 语言下载和安装
1.3认识DevC 界面
1.4程序框架
1.5基础语法
1.5.1标识符
1.5.2C 的关键字
1.5.3常量和常变量
1.5.4变量
1.5.5变量类型
1.5.6typedef声明
1.5.7表达式书写
1.5.8输入/输出流
1.5.9scanf输入语句
1.5.10printf输出语句
1.6基础题目
1.6.1Hello World
1.6.2算术运算
1.6.3输入/输出运算
1.6.4交换两个变量的值
1.6.5用函数交换两个变量的值
第2章顺序结构
2.1顺序结构的定义
2.2基础题目
2.2.1计算面积
2.2.2表达式
2.2.3数字拆分
2.2.4计算售价
2.2.5立方与平方
2.2.6分钱游戏
2.2.7鸡兔同笼
2.3顺序结构习题
第3章选择结构
3.1选择结构的含义
3.1.1关系表达式
3.1.2逻辑表达式
3.1.3if 语句格式
3.1.4问号表达式
3.1.5switch语句
3.2选择结构例题
3.2.1两个整数求值
3.2.2三个整数求值
3.2.3三个数排序
3.2.4分段函数
3.2.5判断闰年
3.2.6四则运算
3.2.7征收税金
3.3选择结构习题
3.3.1邮件收费
3.3.2三角形面积
3.3.3重新排序
3.3.4运费
3.3.5成绩
3.3.6奖金
第4章循环结构
4.1for语句
4.2while循环结构
4.3dowhile循环结构
4.4break和continue语句
4.5循环的嵌套
4.6循环结构例题
4.6.1连续n个数
4.6.2求和
4.6.3打印单行
4.6.4打印矩形
4.6.5打印三角形
4.6.6值
4.6.7随机数
4.6.8斐波那契数列
4.6.9津津的储蓄计划(NOIP 2004 T1)
4.6.10数字反转
4.6.11角谷猜想
4.6.12金币
4.6.13画矩形
4.6.14第n小的质数
4.6.15交替
4.6.16四位数
4.6.17扑克牌
4.6.18质数
4.6.19公约数
4.6.20体操队
4.6.21倍数
4.6.22末两位
4.6.23尼科彻斯定理
4.6.24猜价格
4.6.25小公倍数
4.6.26截钢管
4.6.27成绩表
4.7习题
第5章数组
5.1一维数组
5.2访问数组
5.3多维数组
5.4数组例题
5.4.1统计个数
5.4.2总分及平均分
5.4.3成绩表
5.4.4约瑟夫问题
5.4.5素数基本筛法
5.4.6颜色球
5.4.7商店
5.4.8矩阵乘法
5.4.9扫雷游戏
5.4.10打印图形
5.4.11回形填数
5.4.12幻方
5.4.13工作效益
5.5数组习题
第6章字符串
6.1字符
6.2字符数组
6.3字符数组输入及输出
6.4字符串处理函数
6.5string类
6.6字符串例题
6.6.1列表
6.6.2数字之和
6.6.3Vigenere密码
6.6.4忽略大小写字符串比较
6.6.5ISBN号码
6.6.6回文串
6.6.7行程编码压缩算法
第7章函数与函数递归
7.1函数的定义
7.2函数的申明
7.3函数的三种参数传递方式
7.4数组作为函数参数
7.5inline()内联函数
7.6函数的递归
7.7函数与递归练习
7.7.1阶乘
7.7.2公约数
7.7.3汉诺塔
7.7.4全排列
7.7.5组合
7.7.6排列——括号配对
7.7.7组合例题
7.7.8螺旋矩阵
7.7.9匹配的矩阵
7.7.10回文质数
7.7.11铺骨牌问题
7.7.12集合划分问题
7.7.13计算交点数
第8章结构体与文件
8.1结构体
8.1.1什么是结构体
8.1.2结构体使用技巧
8.1.3经典例题
8.2文件输入和输出
8.2.1输入/输出重定向
8.2.2文件输入/输出流
8.2.3快速读入
第二篇基础数据结构及基础算法
第9章队列
9.1队列的定义
9.2顺序队列的基本运算
9.2.1一维数组实现队列数据元素的基本运算
9.2.2STL 中队列的定义及基本运算
9.3循环队列
9.4双端队列
9.5队列的应用
9.5.1排队问题
9.5.2的小岛
9.6队列练习
9.6.1小美的QQ号
9.6.2游乐园排队
9.6.3海港(NOIP 2016普及组)
9.6.4机器翻译(NOIP 2010提高组)
第10章栈
10.1栈的定义
10.2栈的基本运算
10.2.1用一维数组顺序存储的方式实现栈中数据元素的基本运算
10.2.2STL中栈的定义及其基本运算
10.3栈的基本模拟应用
10.3.1仓库商品数据分析
10.3.2洗盘子
10.4栈和递归
10.5栈练习
10.5.1括号匹配游戏
10.5.2表达式求值(NOIP普及组2013)
10.5.3表达式转换
第11章简单的排序
11.1冒泡排序算法
11.1.1车厢重组
11.1.2一劳永逸
11.2插入排序算法
11.2.1援手相助
11.3选择排序算法
11.3.1n个数排序
11.4排序小结
11.4.1分数线划定(NOIP 2009 普及组 第二题)
11.4.2明明的随机数(NOIP 2006 普及组 题)
11.5排序练习题
11.5.1成绩排序
11.5.2插入排序
11.5.3奖学金(NOIP 2007 普及组 题)
11.5.4双调序列
第12章顺序查找与二分查找
12.1顺序查找的思想
12.2二分查找的思想
12.3二分查找法例题
12.3.1二分查找法1
12.3.2二分查找法2
12.4二分查找法答案
12.5二分查找法答案例题
12.5.1木材分割
12.5.2跳石头(NOIP 2015)
12.6二分查找法总结
12.7二分查找法习题
12.7.1二分查找法3
12.7.2一元三次方程求解
12.7.3长上升子序列2
12.7.4打包
第13章枚举算法
13.1枚举算法简介
13.1.1枚举算法基础
13.1.2枚举算法框架结构
13.2枚举算法实例讲解
13.3枚举算法经典题目
13.3.1孙子算经
13.3.2截钢管
13.3.3水仙花数
13.3.4百鸡百钱问题
13.3.5求守形数
13.3.6网袋问题
13.3.7数字三角形
13.4枚举算法练习题
第14章贪心法
14.1贪心法基本思想
14.2贪心问题的性质
14.3贪心法例题
14.3.1活动安排问题
14.3.2均分纸牌
14.3.3多位数连接
14.3.4删数问题
14.3.5排队打水1
14.3.6排队打水2
14.3.7背包问题
14.3.8合并果子
14.4贪心法总结
14.5贪心算法练习
14.5.1矩阵取数
14.5.2线段覆盖
14.5.3混合牛奶
14.5.4游客分组
14.5.5加油问题
14.5.6纪念品分组(NOIP 2007 普及组)
14.5.7排座椅(NOIP 2008 普及组)
14.5.8旅行家的预算(NOIP 1999 提高组)
第15章递推
15.1基本思想
15.2递推与递归比较
15.3递推法分类及解决递推问题的一般步骤
15.4应用场景
15.5递推法练习题
15.5.1猴子吃桃子1
15.5.2猴子吃桃子2
15.5.3上楼梯问题
15.5.4切煎饼
15.5.5沙漠储油点
15.5.6实数数列(NOIP 1994)
15.5.7守望者的逃离
15.5.8栈
第16章常用库函数
16.1概念
16.2输入/输出函数
16.2.1C语言的基本输入/输出函数
16.2.2C 语言的基本输入/输出函数
16.3字符串处理函数
16.4算法函数
16.5数学函数
参考文献
随着以计算机技术为基础的现代信息技术逐步深入到社会生活的方方面面,利用计算机程序解决问题对现代科技发展的推动作用日益凸显。计算机软硬件核心技术对我国科技发展十分重要,特别是近年来科技领域国际分工出现的新情况,让我们感受到,必须在关键领域下功夫,力争实现整体科技水平从跟跑向并跑、领跑的战略性转变。要实现这一转变,我们需要从基础学科、基础教育抓起。
学习计算机编程是步入信息技术领域的关键一步,也是了解计算机思维的重要入口,是中小学生了解计算机世界的一个良好载体。本书旨在为中小学生学习计算机编程,初探信息学竞赛提供系统指导,其特点是从学习者的角度出发,尽量避免片面强调学术性和全面性,通过精炼的知识要点,使零基础的学习者能够读懂掌握计算机编程。本书还考虑了中小学生学习基础学科知识内容的范围,强调编程与中小学数学思维相结合,增强了编程的趣味性和实用性,可以更好地引导初学者循序渐进地学习与编程相关的语法和算法知识,从而有效提升编程实践能力和计算思维能力,为后续深入学习算法和人工智能相关知识奠定良好的基础。
本书是信息学名师工作室教师集体智慧的结晶,凝聚了多位老师的心血。本书由清华大学计算机科学与技术系副教授王宏,原北京航空航天大学计算机学院教授、博士生导师尹宝林,北京航空航天大学计算机学院硕士生导师赵启阳,北京大学信息科学技术学院副教授蒋婷婷,清华大学计算机科学与技术系助理研究员韩文弢担任顾问。由北京市第八十中学贾志勇、中国人民大学附属中学叶金毅、首都师范大学附属中学杨森林、北京师范大学附属实验中学胡伟栋担任主编,具体编写分工如下: 第1、2、3、8、13章由贾志勇编写; 第4、7章由叶金毅编写; 第5、6章由中国人民大学附属中学谷多玉编写; 第9章由首都师范大学附属中学孙梦嫽编写; 第10章由杨森林编写; 第11章由北京市广渠门中学李天轶编写; 第12章由北京师范大学附属实验中学韩冬兵编写; 第14章由北京师范大学附属实验中学郭培培编写; 第15、16章由中国人民大学附属中学佟松龄编写。全书由贾志勇统稿,胡伟栋校正,叶金毅、杨森林以及北京青少年科技中心张军、张珊负责本书课件以及相关教学资源制作。
由于编者水平有限,书中难免存在不足之处,敬请各位同行和广大读者批评、指正。
编者
2021年6月
本书勘误及教学资源更新
评论
还没有评论。