C语言程序设计案例教程(慕课版)

作者
王正万 刘日辉 盛魁
丛书名
信息技术人才培养系列规划教材
出版社
人民邮电出版社
ISBN
9787115526793
简要
简介
内容简介 搭建C语言环境、C语言基础、C语言核心技术、C语言常用算法案例、模拟ATM机界面程序、单词背记闯关、学生成绩信息管理系统、企业雇员管理系统、STU火车订票助手、手机通讯云管家、趣味俄罗斯方块游戏、防空大战游戏
目录
第1章 搭建C语言环境\t1


1.1 C语言简介 2


1.1.1 C语言的发展历史 2


1.1.2 C语言的特点 2


1.2 搭建C语言开发环境 3


1.2.1 Dev C++的下载与安装 3


1.2.2 第一个C语言程序 5


1.2.3 C语言程序的基本元素 6


1.3 熟悉Dev C++开发工具 9


1.3.1 Dev C++的主界面 9


1.3.2 菜单栏和工具栏 9


1.3.3 常用快捷键 10


小结 12


习题 12


第2章 C语言基础 13


2.1 数据类型 14


2.1.1 基本类型 14


2.1.2 构造类型 14


2.1.3 指针类型 14


2.1.4 空类型 14


2.2 常量 15


2.2.1 整型常量 15


2.2.2 实型常量 16


2.2.3 字符型常量 17


2.2.4 转义字符 18


2.2.5 符号常量 19


2.3 变量 19


2.3.1 整型变量 19


2.3.2 实型变量 21


2.3.3 字符型变量 21


2.4 表达式与运算符 22


2.4.1 算术运算符 23


2.4.2 自增自减运算符 23


2.4.3 赋值运算符 24


2.4.4 关系运算符 25


2.4.5 逻辑运算符 26


2.4.6 位运算符 26


2.4.7 移位运算符 27


2.4.8 条件运算符 28


2.4.9 运算符的优先级与结合性 28


2.4.10 表达式中的类型转换 29


2.5 选择语句 30


2.5.1 if语句 30


2.5.2 switch语句 34


2.6 循环语句 36


2.6.1 while循环语句 36


2.6.2 do…while循环语句 37


2.6.3 for循环语句 38


2.7 跳转语句 40


2.7.1 break语句 40


2.7.2 continue语句 40


2.8 数组 41


2.8.1 一维数组的定义和引用 41


2.8.2 二维数组的定义和引用 42


2.8.3 字符数组的定义和引用 44


2.8.4 多维数组 46


小结 46


习题 46


第3章 C语言核心技术 49


3.1 函数 50


3.1.1 函数的定义 50


3.1.2 定义与声明 51


3.1.3 函数的返回值 51


3.1.4 函数的参数 51


3.1.5 数组作为函数参数 52


3.1.6 main函数的参数 57


3.2 指针 57


3.2.1 指针的基本概念 57


3.2.2 指针变量 58


3.2.3 指针自增自减运算 59


3.2.4 数组与指针 60


3.2.5 指向指针的指针 62


3.2.6 指针变量作为函数参数 62


3.2.7 返回指针值的函数 63


3.3 结构体 63


3.3.1 结构体类型的概念 63


3.3.2 结构体变量的定义 64


3.3.3 结构体变量的引用 66


3.3.4 结构体类型的初始化 66


3.4 结构体数组 66


3.4.1 定义结构体数组 67


3.4.2 初始化结构体数组 68


3.5 结构体指针 69


3.5.1 指向结构体变量的指针 69


3.5.2 指向结构体数组的指针 70


3.5.3 结构体作为函数参数 72


3.6 共用体 72


3.6.1 共用体的概念 72


3.6.2 共用体变量的引用 73


3.6.3 共用体变量的初始化 73


3.6.4 共用体类型的数据特点 74


小结 74


习题 74


第4章 C语言常用算法案例 78


4.1 排序算法 79


4.1.1 冒泡排序 79


4.1.2 选择排序 80


4.1.3 希尔排序 82


4.2 查找算法 83


4.2.1 顺序查找 83


4.2.2 折半查找 84


4.2.3 哈希查找 85


4.3 经典算法 89


4.3.1 计算贷款利息 89


4.3.2 魔幻方阵 90


4.3.3 进制转换算法 91


4.3.4 爱因斯坦阶梯问题 93


4.4 计算机等级考试算法实例 93


4.4.1 数组的下三角置数 93


4.4.2 查找单链表的节点 94


4.4.3 寻找二维数组的最大值 95


小结 96


习题 96


第5章 模拟ATM机界面程序——


C+循环控制实现 97


5.1 需求分析 98


5.2 系统设计 98


5.2.1 系统目标 98


5.2.2 构建开发环境 98


5.2.3 系统功能结构 98


5.2.4 业务流程图 99


5.2.5 系统预览 99


5.3 技术准备 100


5.4 公共类设计 101


5.5 欢迎模块设计 102


5.5.1 模块概述 102


5.5.2 代码实现 102


5.6 输入密码模块设计 102


5.6.1 模块概述 102


5.6.2 代码实现 103


5.7 取钱模块设计 103


5.7.1 模块概述 103


5.7.2 代码实现 104


5.8 退出系统模块设计 105


5.8.1 模块概述 105


5.8.2 代码实现 105


5.9 运行项目 106


小结 106


第6章 单词背记闯关练习——


C+控制台API+读取


文件数据实现 107


6.1 需求分析 108


6.2 系统设计 108


6.2.1 系统目标 108


6.2.2 构建开发环境 108


6.2.3 系统功能结构 108


6.2.4 业务流程图 109


6.2.5 系统预览 110


6.3 技术准备 110


6.3.1 文件的基本操作 110


6.3.2 文件的读写操作 112


6.4 公共类设计 113


6.5 预处理模块设计 113


6.5.1 模块概述 113


6.5.2 代码实现 113


6.6 开始界面设计 114


6.6.1 模块概述 114


6.6.2 代码实现 114


6.7 积分规则界面设计 116


6.7.1 模块概述 116


6.7.2 代码实现 116


6.8 显示最高分设计 118


6.8.1 模块概述 118


6.8.2 代码实现 118


6.9 系统逻辑设计 119


6.9.1 模块概述 119


6.9.2 代码实现 119


6.10 显示结果界面设计 122


6.10.1 模块概述 122


6.10.2 代码实现 122


小结 124


第7章 学生成绩管理系统——


C+文件读取数据+链表


实现 125


7.1 需求分析 126


7.2 系统设计 126


7.2.1 系统目标 126


7.2.2 构建开发环境 126


7.2.3 系统功能结构 126


7.2.4 业务流程图 127


7.2.5 系统预览 127


7.3 公共类设计 128


7.4 功能选择界面设计 129


7.4.1 模块概述 129


7.4.2 代码实现 129


7.5 录入学生成绩信息设计 131


7.5.1 模块概述 131


7.5.2 代码实现 131


7.6 查询学生成绩信息设计 133


7.6.1 模块概述 133


7.6.2 代码实现 133


7.7 删除学生成绩信息设计 134


7.7.1 模块概述 134


7.7.2 代码实现 134


7.8 修改学生成绩信息设计 135


7.8.1 模块概述 135


7.8.2 代码实现 135


7.9 插入学生成绩信息设计 137


7.9.1 模块概述 137


7.9.2 代码实现 137


7.10 统计学生人数设计 138


7.10.1 模块概述 138


7.10.2 代码实现 139


小结 139


第8章 企业雇员管理系统——


C+字符串处理操作+


结构体实现 140


8.1 需求分析 141


8.2 系统设计 141


8.2.1 系统目标 141


8.2.2 构建开发环境 141


8.2.3 系统功能结构 141


8.2.4 业务流程图 142


8.2.5 系统预览 142


8.3 技术准备 143


8.3.1 strcmp函数 143


8.3.2 fwrite函数 144


8.4 公共类设计 144


8.4.1 预处理 144


8.4.2 主函数 145


8.5 系统初始化设计 146


8.5.1 模块概述 146


8.5.2 操作密码文件 146


8.5.3 第一次使用本系统 146


8.5.4 非第一次使用本系统 148


8.6 系统登录设计 148


8.6.1 模块概述 148


8.6.2 代码实现 148


8.7 主界面功能菜单设计 149


8.7.1 模块概述 149


8.7.2 代码实现 150


8.8 添加员工信息设计 152


8.8.1 模块概述 152


8.8.2 功能实现 152


8.9 删除员工信息设计 154


8.9.1 模块概述 154


8.9.2 功能实现 154


8.10 查询员工信息设计 156


8.10.1 模块概述 156


8.10.2 查询员工信息的界面设计 156


8.10.3 根据姓名查找员工信息 158


8.10.4 根据工号查找员工信息 159


8.10.5 根据电话号码查找员工信息 159


8.10.6 根据QQ号查找员工信息 160


8.10.7 显示查询结果 161


8.11 修改员工信息设计 161


8.11.1 模块概述 161


8.11.2 实现修改员工信息的界面 162


8.11.3 修改员工工资 164


8.11.4 修改员工年龄 165


8.11.5 修改非数值型信息 165


8.12 统计员工信息设计 166


8.12.1 模块概述 166


8.12.2 代码实现 166


8.13 系统密码重置设计 167


8.13.1 模块概述 167


8.13.2 代码实现 167


小结 168


第9章 STC火车订票系统——


C+结构体+指针实现 169


9.1 需求分析 170


9.2 系统设计 170


9.2.1 系统目标 170


9.2.2 构建开发环境 170


9.2.3 系统功能结构 170


9.2.4 业务流程图 170


9.2.5 系统预览 171


9.3 公共类设计 172


9.4 主函数设计 173


9.4.1 主函数概述 173


9.4.2 代码实现 174


9.5 输入模块设计 177


9.5.1 模块概述 177


9.5.2 代码实现 177


9.6 查询模块设计 179


9.6.1 模块概述 179


9.6.2 代码实现 179


9.7 订票模块设计 181


9.7.1 模块概述 181


9.7.2 代码实现 181


9.8 修改模块设计 183


9.8.1 模块概述 183


9.8.2 代码实现 183


9.9 显示模块设计 185


9.9.1 模块概述 185


9.9.2 功能实现 185


9.10 保存模块设计 185


9.10.1 模块概述 185


9.10.2 代码实现 186


小结 187


第10章 手机通信云管家——


C+链表实现 188


10.1 需求分析 189


10.2 系统设计 189


10.2.1 系统目标 189


10.2.2 构建开发环境 189


10.2.3 系统功能结构 189


10.2.4 业务流程图 190


10.2.5 系统预览 190


10.3 公共类设计 191


10.4 功能菜单设计 192


10.4.1 模块概述 192


10.4.2 代码实现 192


10.5 通信录录入设计 194


10.5.1 模块概述 194


10.5.2 代码实现 195


10.6 通信录查询设计 196


10.6.1 模块概述 196


10.6.2 代码实现 197


10.7 通信录删除设计 197


10.7.1 模块概述 197


10.7.2 代码实现 197


10.8 通信录显示设计 198


10.8.1 模块概述 198


10.8.2 代码实现 199


10.9 通信录数据保存设计 199


10.9.1 模块概述 199


10.9.2 代码实现 199


10.10 数据加载设计 200


10.10.1 模块概述 200


10.10.2 代码实现 200


小结 201


第11章 趣味俄罗斯方块游戏——


C+控制台API+获取键盘


按键实现 202


11.1 需求分析 203


11.2 系统设计 203


11.2.1 系统目标 203


11.2.2 构建开发环境 203


11.2.3 系统功能结构 203


11.2.4 业务流程图 203


11.2.5 系统预览 204


11.3 技术准备 205


11.3.1 控制颜色函数 205


11.3.2 设置文字显示位置 206


11.4 公共类设计 207


11.5 功能菜单设计 209


11.5.1 欢迎界面概述 209


11.5.2 标题部分设计 209


11.5.3 设计字符花装饰界面 210


11.5.4 设计菜单选项的边框 212


11.5.5 设计菜单选项的文字 213


11.6 游戏主窗体设计 213


11.6.1 游戏主窗体设计概述 213


11.6.2 打印输出游戏界面 214


11.6.3 绘制俄罗斯方块 216


11.6.4 打印俄罗斯方块 223


11.7 游戏逻辑设计 224


11.7.1 游戏逻辑概述 224


11.7.2 判断俄罗斯方块是否可移动 224


11.7.3 清除俄罗斯方块下落的痕迹 225


11.7.4 判断方块是否满行 226


11.7.5 随机产生俄罗斯方块类型的序号 227


11.8 开始游戏 228


11.8.1 开始游戏模块概述 228


11.8.2 显示俄罗斯方块 229


11.8.3 各种按键操作 230


11.8.4 游戏结束界面 234


11.8.5 重新开始游戏 235


11.9 游戏按键说明模块 236


11.9.1 模块概述 236


11.9.2 代码实现 236


11.10 游戏规则介绍模块 237


11.10.1 模块概述 237


11.10.2 代码实现 238


11.11 退出游戏 239


小结 240


第12章 防空大战游戏——C+


容器+获取键盘按键


实现 241


12.1 需求分析 242


12.2 系统设计 242


12.2.1 系统目标 242


12.2.2 构建开发环境 242


12.2.3 系统功能结构 242


12.2.4 业务流程图 242


12.2.5 系统预览 243


12.3 技术准备 243


12.3.1 EasyX图形库 243


12.3.2 使用EasyX库中主要函数 245


12.3.3 Visual Studio 2017的使用 247


12.4 公共类设计 248


12.4.1 创建graphics.h头文件 248


12.4.2 源文件公共类设计 250


12.5 游戏主窗体设计 251


12.5.1 模块概述 251


12.5.2 创建防空导弹 251


12.5.3 创建炸弹 253


12.5.4 创建飞机 253


12.5.5 加载图片 254


12.5.6 绘图设计 255


12.6 碰撞检测设计 255


12.6.1 模块概述 255


12.6.2 代码实现 255


12.7 开始游戏设计 256


12.7.1 模块概述 256


12.7.2 加载音乐 256


12.7.3 显示每帧图片 258


12.7.4 按键设计 260


12.7.5 生命值和得分设计 260


12.7.6 游戏结束界面 261


12.7.7 重新开始游戏 261


12.8 为游戏应用添加图标 262


12.8.1 添加图标概述 262


12.8.2 实现步骤 262


小结 264








有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4