图书目录

目录

第1单元编程如此简单——轻松指挥计算机1

第1.1关认识C语言1

知识点1.1.1程序设计语言1

知识点1.1.2认识C程序4

引导任务1.1.1永远的经典 hello,world5

引导任务1.1.2为什么我的眼里常含泪水7

知识点1.1.3C语言编译原理和集成开发环境9

闯关任务1.1.3乡愁12

第1.2关简单计算、程序调试13

知识点1.2.1简单计算和输入输出13

引导任务1.2.1A+B14

闯关任务1.2.2A+B+C16

知识点1.2.2程序调试16

第1.3关小试牛刀、初试锋芒21

闯关任务1.3.1爱心传递21

习题121

第2单元数据——程序操作的对象22

第2.1关数据类型22

知识点2.1.1认识数据类型22

引导任务2.1.1认识数据类型26

闯关任务2.1.2无符号整型27

第2.2关整型数据、常量和变量27

知识点2.2.1常量和变量27

知识点2.2.2整型数据29

引导任务2.2.1两个100年31

引导任务2.2.2整型常量31

闯关任务2.2.3答题时间33

引导任务2.2.4勾股定理33

闯关任务2.2.5鸡兔同笼34

闯关任务2.2.6神奇的平方数34第2.3关实型数据35

知识点2.3.1实型常量35

引导任务2.3.1麦子丰收了35

引导任务2.3.2父亲的工资36

闯关任务2.3.3男性标准体重37

第2.4关字符型数据37

知识点2.4.1ASCII码38

知识点2.4.2字符型数据39

引导任务2.4.1字符型实质上是整型41

闯关任务2.4.2英文字母变换42

第2.5关标准输入输出——顺序结构43

知识点2.5.1标准输出函数printf()43

知识点2.5.2标准输入函数scanf()47

引导任务2.5.1海伦公式47

闯关任务2.5.2多项式的值48

知识点2.5.3专门的字符输入输出函数49

第2.6关scanf()函数进阶51

知识点2.6.1scanf()函数进阶51

引导任务2.6.1四数之和57

闯关任务2.6.2隔三差五58

习题258

第3单元运算符和表达式——数据操作59

第3.1关算术运算59

知识点3.1.1运算符和表达式59

知识点3.1.2基本算术运算62

引导任务3.1.1简单算术62

引导任务3.1.2苹果装盘63

知识点3.1.3自增自减运算符++、- -65

引导任务3.1.7天增岁月人增寿67

引导任务3.1.8奇怪的加法68

第3.2关赋值运算70

知识点3.2.1赋值运算70

引导任务3.2.1生意兴隆通四海71

闯关任务3.2.2动态考核72

第3.3关关系运算72

知识点3.3.1关系运算72

引导任务3.3.1硕人其颀73

闯关任务3.3.2牵黄擎苍亲射虎,老夫聊发少年狂74

闯关任务3.3.3大米装袋74

第3.4关条件运算75

知识点3.4.1条件运算75

引导任务3.4.1人体发热75

引导任务3.4.2两个数中的最大值76

第3.5关逻辑运算和逗号运算77

知识点3.5.1逻辑运算77

引导任务3.5.1闰年78

知识点3.5.2逻辑短路81

知识点3.5.3逗号运算符82

第3.6关常用数学函数82

知识点3.6.1常用数学函数82

引导任务3.6.1人口增长模型84

闯关任务3.6.2输出函数值85

知识点3.6.2随机数85

习题387

第4单元选择结构——鱼还是熊掌88

第4.1关if语句——单分支和双分支88

知识点4.1.1C语句和程序结构88

知识点4.1.2if语句——单分支和双分支90

引导任务4.1.1绝对值90

引导任务4.1.2奇数偶数92

引导任务4.1.3数字判别94

闯关任务4.1.4英文字母判别95

引导任务4.1.5两个数排序96

引导任务4.1.6三个数排序97

闯关任务4.1.74个数排序98

闯关任务4.1.85个数排序98

第4.2关if语句嵌套和多分支98

知识点4.2.1if语句嵌套和多分支98

引导任务4.2.1整数符号100

引导任务4.2.2超市促销102

引导任务4.2.3一元二次方程(2)105

第4.3关switch结构106

知识点4.3.1switch结构106

引导任务4.3.1输出分数成绩107

第4.4关挑战选择结构109

习题4109第5单元循环结构——程序段重复执行110

第5.1关认识循环110

知识点5.1.1三种循环语句110

引导任务5.1.1从1加到N112

知识点5.1.2循环控制语句118

引导任务5.1.2找奇数118

引导任务5.1.3素数判断122

第5.2关挑战单层循环125

第5.3关多层循环125

知识点5.3.1循环嵌套125

引导任务5.3.1九九乘法表126

引导任务5.3.2输出每个数的所有真约数128

引导任务5.3.3区间内素数130

第5.4关处理多组数据133

知识点5.4.1确定组数的多组数据133

引导任务5.4.1奥运奖牌计数133

知识点5.4.2多组数据以特定值结束输入134

引导任务5.4.4输出ASCII码135

引导任务5.4.5水仙花数137

闯关任务5.4.6统计数字和138

闯关任务5.4.7识别整数139

知识点5.4.3多组数据无特定值结束输入139

引导任务5.4.8若干整数的和139

第5.5关循环结构综合训练141

习题5142

第6单元函数——程序模块化143

第6.1关认识函数143

知识点6.1.1库函数143

引导任务6.1.1三角形面积145

闯关任务6.1.2三角函数146

知识点6.1.2自定义函数146

引导任务6.1.3自定义无参函数147

闯关任务6.1.4好好学习,天天向上148

引导任务6.1.5自定义有参函数148

闯关任务6.1.6符号金字塔150

知识点6.1.3函数的调用和声明150

引导任务6.1.7函数返回两个整数的和152

第6.2关设计函数155

引导任务6.2.1两个实数的和155

闯关任务6.2.2实数四则运算156

引导任务6.2.3自然数分类156

引导任务6.2.4短信计费158

第6.3关递归160

知识点6.3.1函数递归160

引导任务6.3.1阶乘161

引导任务6.3.2Fibonacci数列(2)164

引导任务6.3.3最大公约数165

闯关任务6.3.4从1加到n的和167

闯关任务6.3.5连续整数和167

引导任务6.3.6十进制转二进制167

引导任务6.3.9汉诺塔问题169

闯关任务6.3.10汉诺塔移动次数170

第6.4关存储类型和编译预处理171

知识点6.4.1变量的存储类型171

引导任务6.4.1局部变量174

引导任务6.4.2全局变量174

引导任务6.4.3静态局部变量176

知识点6.4.2编译预处理178

引导任务6.4.5合法标识符183

引导任务6.4.6简单密码184

引导任务6.4.7大小写字母互换185

第6.5关函数设计综合训练188

习题6188

第7单元数组——处理批量数据189

第7.1关一维数组189

知识点7.1.1一维数组189

引导任务7.1.1陶陶摘苹果192

引导任务7.1.4Fibonacci数列(3)194

第7.2关数组名作函数参数195

知识点7.2.1数组名作为函数的参数195

引导任务7.2.1最高成绩195

第7.3关数组排序196

知识点7.3.1冒泡排序(Bubble Sort)196

引导任务7.3.1冒泡排序法196

闯关任务7.3.2冒泡排序函数199

知识点7.3.2选择排序(Selection Sort)199

引导任务7.3.3选择排序(Selection Sort)199

闯关任务7.3.4插入排序法201

第7.4关二维数组201

知识点7.4.1二维数组201

引导任务7.4.1数字方阵205

第7.5关字符数组206

知识点7.5.1一维字符数组206

引导任务7.5.1变换大小写208

引导任务7.5.2统计元音209

知识点7.5.2字符串处理函数209

引导任务7.5.6密码测试210

知识点7.5.3二维字符数组214

引导任务7.5.7单词排序215

第7.6关数组编程挑战216

习题7216

第8单元指针——通过地址引用数据217

第8.1关认识指针217

知识点8.1.1认识指针217

引导任务8.1.1两数排序(多组数据)219

知识点8.1.2指针作为函数参数(传地址)221

闯关任务8.1.2三数排序222

知识点8.1.3指向一维数组的指针223

引导任务8.1.3寻找同龄人224

闯关任务8.1.4距离最近226

引导任务8.1.5运用指针实现冒泡法排序226

闯关任务8.1.6运用指针实现选择法排序227

知识点8.1.4指向二维数组的指针和指针数组227

第8.2关指针与字符串230

知识点8.2.1指针与字符串230

引导任务8.2.1字符三角形231

第8.3关动态内存管理与指针进阶233

知识点8.3.1内存分区与动态管理233

引导任务8.3.1无名变量234

引导任务8.3.2无名数组235

知识点8.3.2指针进阶238

引导任务8.3.5查找数据243

引导任务8.3.6动物狂欢244

习题8246

第9单元结构和链表——不同类型数据的组合247

第9.1关结构体247

知识点9.1.1结构体类型247

引导任务9.1.1第一名251

知识点9.1.2结构体指针253

闯关任务9.1.4成绩排名256

第9.2关认识链表257

知识点9.2.1链表257

引导任务9.2.1链表操作——创建、追加和输出258

引导任务9.2.2链表操作——插入、查找和删除261

知识点9.2.2联合体和枚举264

习题9266

第10单元文件——数据持久化267

第10.1关文本文件读写267

知识点10.1.1认识文件267

知识点10.1.2文本文件读写270

引导任务10.1.1文本文件读写271

引导任务10.1.2文件复制273

引导任务10.1.3格式化读写数据273

第10.2关二进制文件读写274

知识点10.2.1数据块读写函数274

引导任务10.2.1向二进制文件写数据276

引导任务10.2.2从二进制文件中随机读数据277

知识点10.2.2状态检测、主函数参数及重定向278

习题10282

附录A本书配套在线资源283

参考文献284