图书目录

第一部分? 编程基础 

第 1 章 GESP 介绍与二进制 / 2 

1.1 GESP 介绍 / 2 

1.1.1 什么是 GESP / 2 

1.1.2 GESP 的语言和级别 / 3 

1.1.3 GESP 的考试频次和题目安排 / 4 

1.1.4 为什么要参加 GESP 认证考试 / 4 

1.2 二进制 / 4 

1.2.1 感受二进制 / 5 

1.2.2 数码和基数 / 5 

1.2.3 二进制表示 / 6 

1.2.4 二进制转十进制 / 6 

1.2.5 常见的二进制数 / 8 

1.3 八进制和十六进制 / 9 

课后作业 / 9 

延伸阅读:二进制数是一类特殊的数吗 / 10 

第 2 章 计算机基础知识 / 11 

2.1 计算机组成部分 / 11 

2.1.1 五大部件 / 11 

2.1.2 图灵机模型 / 13 

2.1.3 冯·诺依曼体系结构 / 14 

2.2 计算机的发展历史 / 14 

2.2.1 机械计算器 / 15 

2.2.2 电子计算机 / 15 

2.2.3 冯·诺依曼体系结构的计算机 / 15 

2.3 计算机的数据存储 / 16 

课后作业 / 17 

延伸阅读:什么叫便携性 / 18 

第 3 章 程序的基本概念 / 19 

3.1 软件的概念 / 19 

3.1.1 软件的分类 / 19 

3.1.2 软件和程序的区别 / 20 

3.1.3 软件不能干什么 / 21 

3.2 程序设计语言 / 22 

3.2.1 机器语言 / 23 

3.2.2 汇编语言 / 23 

3.2.3 高级语言 / 23 

3.3 编写程序的过程 / 24 

3.3.1 编辑代码 / 24 

3.3.2 编译 / 25 

3.3.3 运行 / 25 

3.3.4 调试 / 25 

3.4 集成开发环境 / 26 

课后作业 / 27 

延伸阅读:聊天软件为什么能叫机器人 / 27 

延伸阅读:算盘为什么不是现代计算机的鼻祖 / 27 

第 4 章 程序基本语句 / 29 

4.1 使用 DevC++ / 29 

4.1.1 打开 DevC++ / 30 

4.1.2 创建文件 / 30 

4.1.3 保存文件 / 31 

4.1.4 输入代码 / 31 

4.1.5 编译代码 / 31 

4.1.6 运行程序 / 32 

4.2 分析代码 / 32 

4.2.1 头文件 / 32 

4.2.2 名字空间 / 33 

4.2.3 主函数 / 33 

4.2.4 输出语句 / 34 

4.2.5 返回语句 / 34 

4.2.6 字符串 / 34 

4.2.7 语法规则 / 35 

4.3 输出语句 / 35 

4.3.1 基本用法 / 35 

4.3.2 换行符 / 35 

4.3.3 链式调用 / 36 

4.3.4 输出算式的值 / 36 

4.4 注释语句 / 37 

课后作业 / 38 

延伸阅读:cout 是一个函数吗 / 38 

第 5 章 体验编程流程 / 39 

5.1 程序解决问题的步骤 / 40 

5.2 解答编程题的流程 / 40 

5.2.1 审题 / 41 

5.2.2 确定算法和程序结构 / 41 

5.2.3 用自然语言描述代码 / 41 

5.2.4 写代码 / 42 

5.2.5 用样例数据测试 / 43 

5.2.6 调试 / 43 

5.3 代码解释 / 43 

5.4 常见的编译错误 / 44 

课后作业 / 45 

编程基础总结 / 46 

课后作业 / 49 

第二部分? 算术运算 

第 6 章 基本算术运算 / 51 

6.1 加减乘除余 / 51 

6.2 详解除法运算 / / 54 

6.3 详解求余运算 % / 54 

6.4 / 和 % 的应用 / 55 

课后作业 / 56 

第 7 章 基本数据类型 / 57 

7.1 数值型数据类型 / 57 

7.1.1 整型 / 58 

7.1.2 长整型 / 58 

7.1.3 单精度型 / 59 

7.1.4 双精度型 / 59 

7.1.5 浮点数相除 / 59 

7.1.6 如何选择类型 / 59 

7.2 非数值型数据类型 / 60 

7.2.1 字符型 / 60 

7.2.2 布尔型 / 62 

7.3 常数的数据类型 / 62 

课后作业 / 63 

延伸阅读:计算机中的实数 / 64 

第 8 章 运算规则 / 65 

8.1 表达式 / 65 

8.2 优先级 / 65 

8.3 类型自动转换 / 67 

8.4 sizeof 操作符 / 68 

课后作业 / 69 

延伸阅读:测试样例数据的重要性 / 69 

第 9 章 变量的定义与使用 / 71 

9.1 变量的定义 / 71 

9.1.1 什么是变量、常量、常数 / 71 

9.1.2 定义变量 / 72 

9.1.3 变量命名规则 / 73 

9.1.4 关键字 / 73 

9.1.5 定义常量 / 73 

9.2 变量的使用 / 74 

9.2.1 赋值语句 / 74 

9.2.2 变量的初始化 / 75 

9.2.3 再谈赋值语句 / 76 

课后作业 / 77 

第 10 章 输入语句 / 78 

10.1 cin(C++ 风格) / 78 

10.1.1 基本语法 / 78 

10.1.2 串联使用 >> / 78 

10.1.3 数据不一致的情形 / 79 

10.2 scanf(C 风格) / 80 

10.3 通用头文件 / 81 

课后作业 / 82 

延伸阅读:时刻和时间段的区别 / 83 

第 11 章 输出语句 / 85 

11.1 输出语句的作用 / 85 

11.2 cout(C++ 风格) / 86 

11.2.1 基本语法 / 86 

11.2.2 串联使用 << / 86 

11.2.3 字符串 / 87 

11.3 printf(C 风格) / 87 

11.3.1 格式符:%d / 88 

11.3.2 格式符:%c / 89 

11.3.3 格式符:%f / 90 

11.3.4 多个格式符一起使用 / 90 

11.3.5 格式符:%% / 91 

11.3.6 进制格式符 / 91 

11.4 特殊符号 / 92 

11.5 临时变量 / 93 

11.6 使用输出语句调试 / 94 

课后作业 / 95 

第 12 章 高级算术运算 / 96 

12.1 复合赋值运算符 / 96 

12.2 自增 / 自减运算符 / 97 

12.3 赋值语句串联 / 98 

12.4 逗号运算符 / 100 

12.5 变量重复使用 / 101 

课后作业 / 101 

延伸阅读:后 ++ 和后 -- / 102 

第 13 章 算术运算应用 / 104 

13.1 位数拆分 / 104 

13.2 时间转换 / 105 

13.3 最小的倍数 / 107 

课后作业 / 108 

算术运算总结 / 110 

课后作业 / 115 

第三部分? 分支语句 

第 14 章 if-else 分支语句 / 118 

14.1 分支语句简介 / 119 

14.2 关系运算符 / 120 

14.3 关系表达式 / 120 

14.4 单分支、双分支和多分支 / 121 

14.5 问号表达式 / 124 

14.6 中途退出程序 / 124 

14.7 延迟定义变量 / 125 

课后作业 / 126 

延伸阅读:能使用中文编写代码吗 / 126 

第 15 章 分支语句应用以及逻辑运算符“与” / 128 

15.1 最值计算 / 128 

15.2 水仙花数判断 / 129 

15.3 优等生判断 / 130 

15.4 逻辑运算符:与 / 130 

15.5 回文数判断 / 131 

课后作业 / 132 

延伸阅读:有趣的自幂数 / 133 

第 16 章 逻辑运算符“或”和“非” / 134 

16.1 k 幸运数判断 / 134 

16.2 逻辑运算符:或 / 134 

16.3 特长生判断 / 135 

16.4 逻辑运算符:非 / 136 

16.5 逻辑运算符总结 / 136 

16.5.1 优先级 / 136 

16.5.2 短路特性 / 137 

16.6 闰年判断 / 138 

课后作业 / 139 

延伸阅读:闰年是怎么形成的 / 139 

第 17 章 布尔数据类型 / 141 

17.1 组合招生政策 / 141 

17.2 布尔型(bool) / 142 

17.3 bool 变量的值 / 142 

17.4 逻辑表达式 / 142 

17.5 非 0 即为真 / 144 

课后作业 / 145 

第 18 章 数据类型转换 / 147 

18.1 强制类型转换 / 147 

18.1.1 强制类型转换与精度无关 / 148 

18.1.2 强制类型转换会丢失数据 / 149 

18.2 隐式类型转换 / 149 

18.2.1 赋值时的隐式类型转换 / 149 

18.2.2 表达式中的隐式类型转换 / 152 

18.2.3 两种类型的转换同时发生 / 154 

18.2.4 转换发生的时机 / 154 

课后作业 / 155 

第 19 章 分支结构应用 / 157 

19.1 字母大小写转换 / 157 

19.2 字母循环平移加密 / 158 

19.3 数字字符转数值 / 160 

19.4 招生政策 2.0 / 162 

课后作业 / 163 

延伸阅读:为什么需要数字字符 / 164 

第 20 章 switch 分支语句 / 165 

20.1 switch 的一般写法 / 166 

20.2 省略 break / 168 

20.3 switch 应用 / 169 

20.3.1 求每月天数 / 170 

20.3.2 求奖金数目 / 171 

课后作业 / 172 

分支语句总结 / 173 

课后作业 / 177 

第四部分? 循环语句 

第 21 章 for 循环语句 / 179 

21.1 循环 / 179 

21.2 for 循环语句的语法规则 / 179 

21.3 循环变量的作用范围 / 181 

21.4 for 循环应用:求个数 / 182 

课后作业 / 184 

第 22 章 for 循环基本应用 / 185 

22.1 求和 / 185 

22.2 求幂运算 / 186 

22.3 求约数 / 186 

22.4 求最值 / 189 

课后作业 / 190 

第 23 章 for 循环特性 / 191 

23.1 不同的循环方式 / 191 

23.1.1 跳跃循环 / 191 

23.1.2 递减循环 / 192 

23.1.3 指数循环 / 193 

23.2 省略表达式 / 193 

23.2.1 省略表达式 1 / 193 

23.2.2 省略表达式 2 / 194 

23.2.3 省略表达式 3 / 195 

23.2.4 同时省略 / 195 

23.3 循环体中改变循环变量的值 / 195 

23.4 多个循环变量 / 196 

23.5 一次都不执行 / 196 

23.6 空循环 / 197 

23.7 死循环 / 197 

23.8 break 和 continue / 198 

课后作业 / 198 

第 24 章 for 循环高级应用 / 200 

24.1 素数判断 / 200 

24.1.1 常见代码 / 200 

24.1.2 第一次优化 / 201 

24.1.3 第二次优化 / 203 

24.2 完全平方数判断 / 205 

24.3 使用 break 省略表达式 2 / 207 

24.4 break 的应用 / 207 

课后作业 / 208 

延伸阅读:世界上存在最大的素数吗 / 209 

第 25 章 验证和调试代码 / 210 

25.1 用特殊数据测试 / 210 

25.1.1 边界数据 / 211 

25.1.2 完全平方数 / 212 

25.2 减少循环的次数 / 213 

25.3 使用输出语句调试 / 213 

课后作业 / 214 

第 26 章 while 和 do-while 循环 / 215 

26.1 while 循环 / 215 

26.2 求阶乘 / 218 

26.3 do-while 循环 / 218 

26.4 是使用 for 循环还是 while 循环 / 220 

课后作业 / 220 

第 27 章 while 循环应用 / 222 

27.1 倒着显示各个位数 / 222 

27.2 时间轮转 / 223 

27.3 胜利的奖赏 / 225 

课后作业 / 226 

延伸阅读:国王的奖赏 / 226 

循环语句总结 / 228 

课后作业 / 232 

综合练习 / 233 

课后作业参考答案 / 240