描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302612704
图书特色
• 面向信息学竞赛初学者。本书从零基础开始,降低读者的学习难度,注重讲解信息学竞赛中的易错点,设计了大量对比例题,帮助读者加强对基础知识的理解。
• 语言描述通俗易懂。本书通过详尽的知识点和算法讲解,帮助初学者掌握信息学竞赛的基础知识和常用解题方法,形成编程思维和计算思维。
• 注重解题过程,寻找上佳方案。本书注重对信息学竞赛题目解题过程的讲解,为读者逐步呈现如何从已知条件入手寻找解决方案,如何选择方案,在调试中如何添加调试用的代码,分析输出的调试信息,从信息中寻找解决问题的方法。
本书面向零基础的信息学竞赛初学者。全书共6章,主要讲解C 编程语言基础和算法知识。第1章C 语言基础,主要讲解数据类型、变量、常量、数据溢出、数据的输入和输出等;第2章程序设计结构,主要讲解顺序、分支和循环3大结构;第3章数组和字符串,主要讲解C 的数组基础知识及字符串应用;第4章函数和结构体,主要讲解自定义函数的使用、结构体的定义和应用;第5章基础算法,主要讲解算法的描述方法,以及入门算法、递推和递归算法、排序算法和数值处理方法;第6章进阶算法,主要讲解查找算法中的顺序查找和二分查找,搜索算法中的深度优先搜索和广度优先搜索,贪心策略的应用,动态规划方法的应用。 本书内容通俗易懂,通过详尽的知识点和算法讲解,帮助初学者掌握信息学竞赛的基础知识和常用解题方法,形成编程思维和计算思维。本书可作为师范类院校编程专业的教学用书,也可以作为中小学信息技术领域教师从事编程教学的培训用书和信息学竞赛初学者的入门教材。
第1章 C 语言基础 1
1.1 编程语言 1
1.1.1 集成开发环境 1
1.1.2 C 语言的基本结构 2
1.1.3 调试程序 3
1.2 数据类型和运算 4
1.2.1 常用数据类型 4
1.2.2 整数运算 6
1.2.3 浮点数运算 8
1.3 变量、常量和函数 9
1.3.1 变量 9
1.3.2 常量 19
1.3.3 函数 19
1.4 输入和输出 20
1.4.1 标准输入输出流 20
1.4.2 重定向语句 21
1.4.3 scanf语句和printf语句 22
1.4.4 快速读取 24
【思考练习】 26
第2章 程序设计结构 29
2.1 顺序结构 29
2.1.1 数据类型取值范围 29
2.1.2 数据类型强制转换 31
2.1.3 编程实例及技巧 34
2.2 分支结构 39
2.2.1 关系运算符 39
2.2.2 浮点数的关系运算 40
2.2.3 逻辑运算符和逻辑表
达式 42
2.2.4 if语句 43
2.2.5 if语句编程实例及技巧 46
2.2.6 嵌套分支和多重分支 49
2.2.7 多重分支编程实例及
技巧 51
2.2.8 switch-case语句 53
2.3 循环结构 55
2.3.1 for语句 55
2.3.2 while语句 61
2.3.3 do…while语句 65
2.3.4 循环结构编程实例及
技巧 67
2.4 多重循环 73
2.4.1 双重循环分析和实例 74
2.4.2 break语句和continue
语句 76
2.4.3 多重循环实例 78
【思考练习】 82
第3章 数组和字符串 87
3.1 一维数值 87
3.1.1 数组的声明 87
3.1.2 数组的初始化 89
3.1.3 数组应用实例 91
3.2 字符数组和字符串 101
3.2.1 字符信息的读取 101
3.2.2 字符数组和字符串应用
实例 106
3.2.3 多维数组及应用实例 119
【思考练习】 126
第4章 函数和结构体 131
4.1 自定义函数 131
4.1.1 函数声明 131
4.1.2 函数的参数传递 132
4.1.3 函数应用实例 134
4.2 结构体 151
4.2.1 结构体的定义 151
4.2.2 结构体的实例 152
4.2.3 运算符重载 155
4.2.4 运算符重载实例 160
【思考练习】 168
第5章 基础算法 171
5.1 算法描述 171
5.2 入门算法 173
5.2.1 枚举 173
5.2.2 模拟 183
5.3 递推和递归 195
5.3.1 递推 195
5.3.2 递归 201
5.3.3 回溯 205
5.4 排序 219
5.4.1 冒泡排序 219
5.4.2 选择排序 222
5.4.3 插入排序 227
5.5 数值处理 231
5.5.1 高精度加法 231
5.5.2 高精度减法 234
【思考练习】 236
第6章 进阶算法 241
6.1 查找 241
6.1.1 顺序查找 241
6.1.2 二分查找 244
6.2 搜索 246
6.2.1 深度优先搜索 246
6.2.2 广度优先搜索 250
6.3 贪心策略和动态规划 253
6.3.1 贪心策略 253
6.3.2 动态规划 259
【思考练习】 278
参考文献 283
随着科学技术的发展,信息技术与人们的社会生活已经深度融合,物联网、云技术、人工智能等技术给人类社会带来了翻天覆地的变化,同时也带来了严峻的挑战。
信息学竞赛以算法和数据结构为核心,要求学生能运用数学知识构建模型,并采用计算机程序设计语言编写程序来解决实际问题。其主要内容包括计算机基础和编程语言基础、枚举算法、模拟问题求解、递推算法、递归算法、回溯算法、排序算法、高精度数值处理算法、查找算法、搜索算法、贪心策略、动态规划等。
本书面向零基础的信息学竞赛初学者,详尽讲解了程序的运行过程和算法的基础思想,帮助初学者完成从0到1的过程;以历年信息学竞赛真题为例,帮助初学者提升编程能力,使初学者形成计算思维,培养初学者良好的编程习惯,为后续进阶学习奠定扎实的基础。全书共分为6章,第1章为C 语言基础,主要讲解数据类型、变量、常量、数据溢出、数据的输入和输出等;第2章为程序设计结构,主要讲解顺序、分支和循环3大结构;第3章为数组和字符串,主要讲解C 的数组基础及字符串应用;第4章为函数和结构体,主要讲解自定义函数的使用、结构体的定义和应用;第5章为基础算法,主要讲解算法的描述方法,以及入门算法、递推和递归算法、排序算法和数值处理方法;第6章为进阶算法,主要讲解查找算法中的顺序查找和二分查找,搜索算法中的深度优先搜索和广度优先搜索,贪心策略的应用,动态规划方法的应用。
本书语言通俗,通过详尽的知识点和算法讲解,帮助初学者掌握信息学竞赛的基础知识和常用解题方法。
本书可作为师范类院校编程专业的教学用书,也可以作为中小学信息技术教师从事编程教育的培训用书,以及信息学竞赛初学者的入门教材。
由于编者水平有限,书中难免存在不足之处,敬请各位同行和读者批评、斧正。
本书免费提供教学大纲、教学课件、案例源代码、微课视频及思考练习参考答案,读者可扫前言二维码获取教学大纲、教学课件、案例源代码、微课视频、思考练习和参考答案等学习。
编 者
2022年5月
评论
还没有评论。