书籍详情
C语言开发手册:基础·案例·应用
作者:明日科技 著
出版社:化学工业出版社
出版时间:2022-02-01
ISBN:9787122401663
定价:¥108.00
购买这本书可以去
内容简介
《C语言开发手册:基础·案例·应用》是“计算机科学与技术手册系列”图书之一,该系列图书内容全面,以理论联系实际、能学到并做到为宗旨,以技术为核心,以案例为辅助,引领读者全面学习基础技术、代码编写方法和具体应用项目,旨在为想要进入相应领域的技术人员提供新而全的技术性内容及案例。本书是一本侧重编程基础+实践的C语言图书,从基础、案例、应用三个层次循序渐进地介绍了C语言从入门到实战所需知识,使读者在打好基础的同时快速提升实践能力。本书内容充实,给读者提供了较为丰富全面的技术支持和案例强化,通过各种示例将学习与应用相结合,打造轻松学习、零压力学习的环境,通过案例对所学知识进行综合应用,通过开发实际项目将C语言的各个知识点应用到实际工作中,帮助读者实现学以致用,快速掌握C语言开发的各项技能。本书提供丰富的资源,包含120个实例、12个案例、2个项目,力求为读者打造一本基础+案例+应用一体化的、精彩的C语言图书。本书不仅适合初学者、零基础的编程自学者,也可供计算机相关专业师生、程序开发人员等阅读参考。
作者简介
暂缺《C语言开发手册:基础·案例·应用》作者简介
目录
基础篇
第1章 走进C语言的世界
1.1 计算机语言与C语言 3
1.1.1 计算机语言 3
1.1.2 C语言 3
1.2 C语言的特点 4
1.3 C语言的应用 5
1.3.1 单片机系统 5
1.3.2 应用软件 5
1.3.3 数据处理 5
1.3.4 嵌入式系统 5
1.3.5 游戏方面 5
1.4 本书约定 6
1.4.1 选择操作系统 6
1.4.2 选择开发环境 6
第2章 第一个C程序
2.1 安装C语言开发环境 8
2.1.1 下载Visual Studio 2019 8
2.1.2 安装Visual Studio 2019 9
2.2 熟悉C语言开发环境 11
2.2.1 编写第一个C程序 11
2.2.2 熟悉开发环境 14
2.3 第一个C程序 16
2.3.1 #include指令 16
2.3.2 main()函数 17
2.3.3 函数体 18
2.3.4 执行语句 18
2.3.5 return语句 18
2.3.6 注释 18
2.4 实战练习 20
第3章 C语言必备知识
3.1 关键字与标识符 22
3.1.1 关键字 22
3.1.2 标识符 23
3.2 常量和变量 24
3.2.1 常量 24
3.2.2 变量 24
3.3 算术运算符与算术表达式 25
3.3.1 算术运算符 25
3.3.2 算术表达式 26
3.3.3 自增、自减运算符 26
3.4 赋值运算符与赋值表达式 27
3.4.1 赋值运算符 27
3.4.2 赋值表达式 27
3.5 基本数据类型概述 27
3.6 整型 28
3.6.1 声明整型 28
3.6.2 初始化整型 28
3.6.3 其他整型 29
3.6.4 输出其他整型数据 29
【实例3.1】输出不同整型数据 30
3.6.5 整型常量 30
3.7 浮点型 30
3.7.1 声明浮点型 31
3.7.2 初始化浮点型 32
3.7.3 输出浮点型数据 32
3.7.4 浮点型常量 33
3.8 字符型 33
3.8.1 声明字符型 33
3.8.2 初始化字符型 34
3.8.3 输出字符型数据 34
3.8.4 字符型常量 35
3.8.5 转义字符 39
3.9 类型转换 39
3.9.1 自动类型转换 40
3.9.2 强制类型转换 40
【实例3.2】换季买鞋 40
3.10 格式化字符输出、输入函数 41
3.10.1 格式化输出函数:printf() 41
【实例3.3】printf()按照格式输出不同类型数据 42
【实例3.4】printf()附加格式输出数据 42
3.10.2 格式化输入函数:scanf() 43
【实例3.5】计算圆的周长和球的体积 43
3.11 综合案例——计算无人机往返A、B两地的次数 45
3.12 实战练习 45
第4章 位运算符
4.1 位与字节 48
4.2 位运算操作符 48
4.2.1 “与”运算符 48
【实例4.1】编写程序,把两个人的年龄做一个“与”运算 49
4.2.2 “或”运算符 49
【实例4.2】将数字0xEFCA与本身进行“或”运算 50
4.2.3 “取反”运算符 51
【实例4.3】自己年龄的取反输出 51
4.2.4 “异或”运算符 51
【实例4.4】计算a^b的值 52
4.2.5 “左移”运算符 53
【实例4.5】将15进行“左移”运算 53
4.2.6 “右移”运算符 54
【实例4.6】将15进行“右移”运算 55
4.3 循环移位 56
【实例4.7】编程实现循环左移 56
【实例4.8】编程实现循环右移 57
4.4 综合案例——密码二次加密 58
4.5 实战练习 58
第5章 条件判断语句
5.1 if相关语句 60
5.1.1 单个if语句 60
5.1.2 关系运算符与逻辑运算符 61
5.1.3 if…else语句 62
5.1.4 else if语句 63
5.2 if语句的嵌套 65
【实例5.1】日程安排 65
5.3 条件运算符 66
【实例5.2】模拟美团送餐 67
5.4 switch语 句 67
5.4.1 switch语句的基本形式 67
5.4.2 多路开关模式的switch语句 69
【实例5.3】每个月有多少天 70
5.5 综合案例——模拟高考填报志愿 70
5.6 实战练习 72
第6章 循环控制语句
6.1 什么是循环 74
6.2 while语句 74
6.3 do…while语句 75
【实例6.1】用do…while语句计算1~20之和 76
【实例6.2】用while语句计算1~20之和 77
6.4 for语 句 77
6.4.1 for语句使用 77
【实例6.3】用for语句计算1~20之和 78
6.4.2 for语句的变体 79
6.4.3 for语句中的逗号应用 80
6.5 循环嵌套 80
【实例6.4】输出金字塔形状 81
6.6 转移语句 82
6.6.1 break语句 82
【实例6.5】从0开始查数,遇到5就停止 84
6.6.2 continue语句 84
【实例6.6】从0开始查数,遇到5停顿 85
6.6.3 goto语句 86
【实例6.7】从1开始查数,遇到5输出字母a 86
6.7 综合案例——请小心!冻结账户 87
6.8 实战练习 88
第7章 数组
7.1 一维数组 90
7.1.1 一维数组的定义 90
7.1.2 一维数组初始化 91
7.1.3 一维数组的引用 92
【实例7.1】输出成绩 92
7.2 二维数组 93
7.2.1 二维数组的定义 93
7.2.2 二维数组初始化 93
7.2.3 二维数组的引用 95
【实例7.2】计算各科的平均成绩 95
7.3 字符数组 96
7.3.1 字符数组的定义和引用 96
7.3.2 字符数组初始化 97
【实例7.3】输出字符串“Park” 97
【实例7.4】输出一个钻石形状 98
7.3.3 字符数组的结束标志 98
7.3.4 字符数组的输入和输出 99
【实例7.5】输出“MingRi KeJi” 99
7.3.5 字符数组的应用 100
【实例7.6】统计字符串中单词的个数 100
7.4 多维数组 101
7.5 综合案例——十二生肖 101
7.6 实战练习 102
第8章 字a符串处理函数
8.1 字符串复制 104
【实例8.1】更新招牌 104
8.2 字符串连接 105
【实例8.2】制作课程表 105
8.3 字符串比较 106
【实例8.3】模拟登录明日学院的账号 106
8.4 字符串大小写转换 107
【实例8.4】验证码大小写转换 107
8.5 获得字符串长度 108
【实例8.5】模拟注册明日学院账号 108
8.6 综合案例——谁被@啦 109
8.7 实战练习 110
第9章 函数
9.1 函数概述 112
9.2 函数的定义 112
9.2.1 函数定义的形式 112
9.2.2 定义与声明 113
9.3 返回语句 113
9.3.1 有返回值函数 114
9.3.2 无返回值函数 114
9.4 函数参数 115
9.4.1 形参与实参 115
9.4.2 数组作为函数参数 116
【实例9.1】求素数 116
9.4.3 main()函数的参数 117
9.5 函数的调用 117
9.5.1 函数的调用方式 117
【实例9.2】《论语》一则 118
【实例9.3】用欧姆定律求电阻值 118
【实例9.4】判断体温是否正常 119
9.5.2 嵌套调用 119
【实例9.5】CEO安排工作任务 120
9.5.3 递归调用 121
【实例9.6】递归求年龄 122
9.6 内部函数和外部函数 122
9.6.1 内部函数 122
【实例9.7】输出“Hello MingRi!” 123
9.6.2 外部函数 123
9.7 局部变量和全局变量 124
9.7.1 局部变量 124
9.7.2 全局变量 124
9.8 其他函数库 125
9.9 综合案例——随机抽奖 127
9.10 实战练习 127
第10章 指针
10.1 指针相关概念 130
10.1.1 地址与指针 130
10.1.2 变量的指针 131
10.1.3 指针变量 131
【实例10.1】输出变量地址 132
【实例10.2】利用指针编写程序实现两个数互换 133
【实例10.3】输出i、j、c的地址 134
【实例10.4】*&的使用 134
10.1.4 指针的运算 135
【实例10.5】指针自增,地址变化了 135
10.2 数组与指针 137
10.2.1 一维数组与指针 137
【实例10.6】输出数组中的元素 137
10.2.2 二维数组与指针 139
【实例10.7】将输入的数以二维数组的形式显示 140
【实例10.8】输出第3行元素 141
【实例10.9】输出第2行的停车号 142
10.2.3 字符串与指针 142
【实例10.10】输出“hello mingri” 142
【实例10.11】利用指针实现字符串复制 143
10.2.4 指针数组 144
【实例10.12】输出英文的12个月 144
10.3 指向指针的指针 145
10.3.1 定义指向指针的指针 145
10.3.2 引用指向指针的指针 145
10.3.3 应用指向指针的指针 146
【实例10.13】输出化学周期表中前20个元素中的金属元素 146
10.4 指针与函数 146
10.4.1 指针变量作函数参数 146
【实例10.14】交换两个变量值 147
10.4.2 指针变量作函数参数的嵌套 148
【实例10.15】将输入的数从大到小输出 148
10.4.3 指针作函数参数与一维数组 149
【实例10.16】使用指针实现冒泡排序 149
10.4.4 指针作函数参数与二维数组 151
【实例10.17】找出二维数组每行中最大的数并求和 151
10.4.5 字符指针作函数参数 152
【实例10.18】按字母顺序排序 152
10.4.6 返回指针的函数 153
【实例10.19】输入长和宽,求长方形的周长 153
10.4.7 函数指针 154
10.5 带参数的main()函数 155
【实例10.20】输出main()函数的参数内容 156
10.6 综合案例——谁的成绩不及格? 157
10.7 实战练习 158
第11章 结构体和链表
11.1 结构体 160
11.1.1 结构体类型的概念 160
11.1.2 结构体变量的定义 160
11.1.3 结构体类型的初始化 162
11.1.4 结构体变量的引用 162
【实例11.1】输出vivo NEX(手机型号)的基本信息 162
11.2 结构体数组 163
11.2.1 定义结构体数组 163
11.2.2 初始化结构体数组 164
11.3 结构体指针 165
11.3.1 指向结构体变量的指针 165
11.3.2 指向结构体数组的指针 166
11.3.3 结构体作为函数参数 166
11.4 包含结构体的结构体 167
【实例11.2】显示学生的个人信息(包含生日) 167
11.5 链表 168
11.5.1 链表概述 168
11.5.2 创建动态链表 168
11.5.3 输出链表 170
11.6 链表相关操作 171
11.6.1 链表的插入操作 171
11.6.2 链表的删除操作 172
11.7 综合案例——查找手机通讯录 173
11.8 实战练习 175
第12章 共用体和枚举类型
12.1 共用体 177
12.1.1 声明共用体 177
12.1.2 定义共用体变量 177
12.1.3 共用体变量成员的引用 178
【实例12.1】设计一个玻璃罐头,一次只能装一种水果 179
【实例12.2】输出“现在是夏季” 180
12.1.4 共用体类型的数据特点 180
12.2 枚举类型 181
12.2.1 枚举类型的声明 181
12.2.2 枚举类型变量的定义 181
12.2.3 枚举类型变量的赋值和使用 182
【实例12.3】选择自己喜欢的颜色 182
12.3 综合案例——改答案放大招 183
12.4 实战练习 184
第13章 文件操作
13.1 文件概述 186
13.2 文件的基本操作 186
13.2.1 文件指针 186
13.2.2 文件的打开 187
13.2.3 文件的关闭 187
13.3 文件的读写 188
13.3.1 fputc()函数 188
【实例13.1】向文件中写入内容 188
13.3.2 fgetc()函数 189
【实例13.2】在屏幕中显示出文件内容 189
13.3.3 fputs()函数 189
【实例13.3】向文件中写入“gone with the wind” 190
13.3.4 fgets()函数 190
【实例13.4】读取任意磁盘文件中的内容 190
13.3.5 fprintf()函数 191
【实例13.5】将数字88以字符的形式写到磁盘文件中 191
13.3.6 fscanf()函数 192
【实例13.6】输出标准答案 192
13.3.7 fread()和fwrite()函数 193
【实例13.7】将所录入的信息全部显示出来 193
13.4 文件的定位 194
13.4.1 fseek()函数 194
【实例13.8】快递员送快递 195
13.4.2 rewind()函数 196
【实例13.9】老板,来一屉包子 196
13.4.3 ftell()函数 197
【实例13.10】保存手机号 197
13.5 综合案例——文件加密 198
13.6 实战练习 199
第14章 内存管理
14.1 内存组织方式 202
14.1.1 内存的组织方式 202
14.1.2 堆与栈 202
【实例14.1】利用malloc()函数分配内存空间 202
14.2 动态管理 203
14.2.1 malloc()函数 203
【实例14.2】衣服进货啦! 203
14.2.2 calloc()函数 204
【实例14.3】输出“Mingrisoft” 204
14.2.3 realloc()函数 205
【实例14.4】重新分配内存 205
14.2.4 free()函数 206
【实例14.5】释放内存空间 206
14.3 内存丢失 206
14.4 综合案例——用栈及递归计算多项式 207
14.5 实战练习 208
案例篇
第15章 让音乐响起来(C+媒体播放函数)
15.1 案例效果预览 210
15.2 案例准备 211
15.3 业务流程图 211
15.4 实现过程 211
15.4.1 创建新项目 211
15.4.2 下载mp3文件 213
15.4.3 引用函数库 213
15.4.4 导入媒体静态库 213
15.4.5 使用媒体播放 213
15.5 关键技术 214
第16章 抢红包(数组+随机函数)
16.1 案例效果预览 217
16.2 案例准备 218
16.3 业务流程图 218
16.4 实现过程 218
16.4.1 创建新项目 218
16.4.2 引用函数库 219
16.4.3 存储红包不同金额 219
16.4.4 随机生成红包金额 219
16.4.5 输出随机红包金额 220
16.5 关键技术 220
第17章 汉诺塔游戏(C+递归思想)
17.1 案例效果预览 224
17.2 案例准备 224
17.3 业务流程图 225
17.4 实现过程 225
17.4.1 分析移动汉诺塔过程 225
17.4.2 创建新项目 227
17.4.3 引用函数库 228
17.4.4 定义移动过程函数 228
17.4.5 main()函数 228
17.5 关键技术 228
第18章 单词背记游戏(文件操作+数组)
18.1 案例效果预览 232
18.2 案例准备 232
18.3 业务流程图 233
18.4 实现过程 233
18.4.1 存储练习的单词 233
18.4.2 创建新项目 233
18.4.3 导入函数库 234
18.4.4 定义宏 234
18.4.5 定义全局变量 235
18.4.6 显示选项 235
18.4.7 生成选项并返回正确下标 235
18.4.8 读取单词 235
18.4.9 判断选择情况以及得分情况 236
18.4.10 main()函数 237
18.5 关键技术 237
第19章 情商测试(条件控制+输入函数)
19.1 案例效果预览 239
19.2 案例准备 239
19.3 业务流程图 239
19.4 实现过程 240
19.4.1 创建新项目 240
19.4.2 导入函数库 241
19.4.3 函数声明及全局变量 241
19.4.4 定义10道测试题 242
19.4.5 计算题目得分及分析情商 248
19.4.6 main()函数 249
19.5 关键技术 249
第20章 头像挂件(IMAGE+图像处理函数)
20.1 案例效果预览 251
20.2 案例准备 252
20.3 业务流程图 252
20.4 实现过程 252
20.4.1 下载并安装EasyX图形库插件 252
20.4.2 创建新项目 254
20.4.3 导入函数库 255
20.4.4 初始化窗口 256
20.4.5 打印头像加挂件 256
20.4.6 冻结屏幕以及关闭绘制窗口 257
20.5 关键技术 257
第21章 猜拳游戏(Windows API+随机数+文件操作)
21.1 案例效果预览 260
21.2 案例准备 261
21.3 业务流程图 261
21.4 实现过程 261
21.4.1 创建新项目 261
21.4.2 预处理模块设计 262
21.4.3 游戏欢迎界面设计 263
21.4.4 游戏说明界面设计 264
21.4.5 游戏逻辑设计 266
21.4.6 显示游戏结束界面设计 267
21.5 关键技术 271
第22章 抖音表白小程序(MessageBox+判断语句)
22.1 案例效果预览 273
22.2 案例准备 273
22.3 业务流程图 274
22.4 实现过程 274
22.4.1 创建新项目 274
22.4.2 导入函数库 275
22.4.3 设置表白对话框 275
22.4.4 按钮“是”对话框 275
22.4.5 按钮“否”对话框 275
22.5 关键技术 276
第23章 弹幕来喽(文件+windows.h函数库+自定义函数)
23.1 案例效果预览 278
23.2 案例准备 279
23.3 业务流程图 279
23.4 实现过程 279
23.4.1 创建新项目 279
23.4.2 创建弹幕内容 280
23.4.3 导入函数库 280
23.4.4 将指定内容拷贝到剪贴板上 281
23.4.5 实现发弹幕 281
23.4.6 main()函数 282
23.5 关键技术 282
第24章 控制红绿灯(条件判断+图像处理+Sleep()函数)
24.1 案例效果预览 286
24.2 案例准备 287
24.3 业务流程图 287
24.4 实现过程 287
24.4.1 创建新项目 287
24.4.2 导入函数库 288
24.4.3 定义变量及初始化窗口 289
24.4.4 显示红绿灯初始状态 289
24.4.5 根据输入显示红绿灯状态 289
24.4.6 冻结屏幕以及关闭绘制窗口 290
24.5 关键技术 290
第25章 射a箭机器人(条件判断+自定义函数)
25.1 案例效果预览 293
25.2 案例准备 293
25.3 业务流程图 293
25.4 实现过程 293
25.4.1 创建新项目 293
25.4.2 导入函数库 294
25.4.3 中靶等级划分 295
25.4.4 输入射中环数 295
第26章 倒计时软件(循环嵌套+windows.h)
26.1 案例效果预览 296
26.2 案例准备 296
26.3 业务流程图 297
26.4 实现过程 297
26.4.1 创建新项目 297
26.4.2 导入函数库 298
26.4.3 自定义颜色函数 298
26.4.4 输入倒计时开始时间 298
26.4.5 实现倒计时功能 299
26.5 关键技术 299
应用篇
第27章 智能共享汽车管理系统
27.1 系统需求分析 304
27.1.1 系统概述 304
27.1.2 系统可行性分析 304
27.1.3 功能性需求分析 304
27.2 系统功能设计 304
27.2.1 系统功能结构 304
27.2.2 系统业务流程 304
27.2.3 系统预览 305
27.3 系统开发必备 306
27.3.1 系统开发环境 306
27.3.2 项目文件组织结构 306
27.4 技术准备 306
27.4.1 连接数据库准备工作 306
27.4.2 非ODBC方式操作数据库 308
27.5 数据库设计 313
27.6 显示主菜单模块设计 313
27.6.1 模块概述 313
27.6.2 实现显示主菜单模块 314
27.7 认证租车模块设计 314
27.7.1 模块概述 314
27.7.2 实现认证租车模块 315
27.8 信息查询模块设计 318
27.8.1 模块概述 318
27.8.2 实现信息查询模块 319
27.9 一键转让模块设计 320
27.9.1 模块概述 320
27.9.2 实现一键转让模块 321
27.10 确认还车模块设计 322
27.10.1 模块概述 322
27.10.2 实现确认还车模块 323
27.11 连接与关闭数据库 324
第28章 GSM短信控制家庭防盗报警系统
28.1 系统需求分析 327
28.1.1 系统概述 327
28.1.2 系统可行性分析 327
28.1.3 功能性需求分析 327
28.2 系统功能设计 327
28.2.1 系统功能结构 327
28.2.2 系统业务流程 327
28.2.3 系统预览 328
28.3 系统开发必备 328
28.3.1 系统开发工具 328
28.3.2 电路图 328
28.3.3 元件列表 329
28.4 LED声光报警设计 329
28.4.1 LED灯报警设计 329
28.4.2 蜂鸣器报警设计 332
28.4.3 LED声光报警设计实物图 334
28.5 手机短信报警设计 334
28.5.1 液晶屏显示状态 334
28.5.2 GSM模块接收短信 339
28.5.3 手机短信报警设计实物图 342
28.6 按键设计 342
28.6.1 按键概述 342
28.6.2 按键的使用 342
28.7 其他关键代码 344
附录
附录1:运算符优先级和结合性 352
附录2:ASCII码表 352
第1章 走进C语言的世界
1.1 计算机语言与C语言 3
1.1.1 计算机语言 3
1.1.2 C语言 3
1.2 C语言的特点 4
1.3 C语言的应用 5
1.3.1 单片机系统 5
1.3.2 应用软件 5
1.3.3 数据处理 5
1.3.4 嵌入式系统 5
1.3.5 游戏方面 5
1.4 本书约定 6
1.4.1 选择操作系统 6
1.4.2 选择开发环境 6
第2章 第一个C程序
2.1 安装C语言开发环境 8
2.1.1 下载Visual Studio 2019 8
2.1.2 安装Visual Studio 2019 9
2.2 熟悉C语言开发环境 11
2.2.1 编写第一个C程序 11
2.2.2 熟悉开发环境 14
2.3 第一个C程序 16
2.3.1 #include指令 16
2.3.2 main()函数 17
2.3.3 函数体 18
2.3.4 执行语句 18
2.3.5 return语句 18
2.3.6 注释 18
2.4 实战练习 20
第3章 C语言必备知识
3.1 关键字与标识符 22
3.1.1 关键字 22
3.1.2 标识符 23
3.2 常量和变量 24
3.2.1 常量 24
3.2.2 变量 24
3.3 算术运算符与算术表达式 25
3.3.1 算术运算符 25
3.3.2 算术表达式 26
3.3.3 自增、自减运算符 26
3.4 赋值运算符与赋值表达式 27
3.4.1 赋值运算符 27
3.4.2 赋值表达式 27
3.5 基本数据类型概述 27
3.6 整型 28
3.6.1 声明整型 28
3.6.2 初始化整型 28
3.6.3 其他整型 29
3.6.4 输出其他整型数据 29
【实例3.1】输出不同整型数据 30
3.6.5 整型常量 30
3.7 浮点型 30
3.7.1 声明浮点型 31
3.7.2 初始化浮点型 32
3.7.3 输出浮点型数据 32
3.7.4 浮点型常量 33
3.8 字符型 33
3.8.1 声明字符型 33
3.8.2 初始化字符型 34
3.8.3 输出字符型数据 34
3.8.4 字符型常量 35
3.8.5 转义字符 39
3.9 类型转换 39
3.9.1 自动类型转换 40
3.9.2 强制类型转换 40
【实例3.2】换季买鞋 40
3.10 格式化字符输出、输入函数 41
3.10.1 格式化输出函数:printf() 41
【实例3.3】printf()按照格式输出不同类型数据 42
【实例3.4】printf()附加格式输出数据 42
3.10.2 格式化输入函数:scanf() 43
【实例3.5】计算圆的周长和球的体积 43
3.11 综合案例——计算无人机往返A、B两地的次数 45
3.12 实战练习 45
第4章 位运算符
4.1 位与字节 48
4.2 位运算操作符 48
4.2.1 “与”运算符 48
【实例4.1】编写程序,把两个人的年龄做一个“与”运算 49
4.2.2 “或”运算符 49
【实例4.2】将数字0xEFCA与本身进行“或”运算 50
4.2.3 “取反”运算符 51
【实例4.3】自己年龄的取反输出 51
4.2.4 “异或”运算符 51
【实例4.4】计算a^b的值 52
4.2.5 “左移”运算符 53
【实例4.5】将15进行“左移”运算 53
4.2.6 “右移”运算符 54
【实例4.6】将15进行“右移”运算 55
4.3 循环移位 56
【实例4.7】编程实现循环左移 56
【实例4.8】编程实现循环右移 57
4.4 综合案例——密码二次加密 58
4.5 实战练习 58
第5章 条件判断语句
5.1 if相关语句 60
5.1.1 单个if语句 60
5.1.2 关系运算符与逻辑运算符 61
5.1.3 if…else语句 62
5.1.4 else if语句 63
5.2 if语句的嵌套 65
【实例5.1】日程安排 65
5.3 条件运算符 66
【实例5.2】模拟美团送餐 67
5.4 switch语 句 67
5.4.1 switch语句的基本形式 67
5.4.2 多路开关模式的switch语句 69
【实例5.3】每个月有多少天 70
5.5 综合案例——模拟高考填报志愿 70
5.6 实战练习 72
第6章 循环控制语句
6.1 什么是循环 74
6.2 while语句 74
6.3 do…while语句 75
【实例6.1】用do…while语句计算1~20之和 76
【实例6.2】用while语句计算1~20之和 77
6.4 for语 句 77
6.4.1 for语句使用 77
【实例6.3】用for语句计算1~20之和 78
6.4.2 for语句的变体 79
6.4.3 for语句中的逗号应用 80
6.5 循环嵌套 80
【实例6.4】输出金字塔形状 81
6.6 转移语句 82
6.6.1 break语句 82
【实例6.5】从0开始查数,遇到5就停止 84
6.6.2 continue语句 84
【实例6.6】从0开始查数,遇到5停顿 85
6.6.3 goto语句 86
【实例6.7】从1开始查数,遇到5输出字母a 86
6.7 综合案例——请小心!冻结账户 87
6.8 实战练习 88
第7章 数组
7.1 一维数组 90
7.1.1 一维数组的定义 90
7.1.2 一维数组初始化 91
7.1.3 一维数组的引用 92
【实例7.1】输出成绩 92
7.2 二维数组 93
7.2.1 二维数组的定义 93
7.2.2 二维数组初始化 93
7.2.3 二维数组的引用 95
【实例7.2】计算各科的平均成绩 95
7.3 字符数组 96
7.3.1 字符数组的定义和引用 96
7.3.2 字符数组初始化 97
【实例7.3】输出字符串“Park” 97
【实例7.4】输出一个钻石形状 98
7.3.3 字符数组的结束标志 98
7.3.4 字符数组的输入和输出 99
【实例7.5】输出“MingRi KeJi” 99
7.3.5 字符数组的应用 100
【实例7.6】统计字符串中单词的个数 100
7.4 多维数组 101
7.5 综合案例——十二生肖 101
7.6 实战练习 102
第8章 字a符串处理函数
8.1 字符串复制 104
【实例8.1】更新招牌 104
8.2 字符串连接 105
【实例8.2】制作课程表 105
8.3 字符串比较 106
【实例8.3】模拟登录明日学院的账号 106
8.4 字符串大小写转换 107
【实例8.4】验证码大小写转换 107
8.5 获得字符串长度 108
【实例8.5】模拟注册明日学院账号 108
8.6 综合案例——谁被@啦 109
8.7 实战练习 110
第9章 函数
9.1 函数概述 112
9.2 函数的定义 112
9.2.1 函数定义的形式 112
9.2.2 定义与声明 113
9.3 返回语句 113
9.3.1 有返回值函数 114
9.3.2 无返回值函数 114
9.4 函数参数 115
9.4.1 形参与实参 115
9.4.2 数组作为函数参数 116
【实例9.1】求素数 116
9.4.3 main()函数的参数 117
9.5 函数的调用 117
9.5.1 函数的调用方式 117
【实例9.2】《论语》一则 118
【实例9.3】用欧姆定律求电阻值 118
【实例9.4】判断体温是否正常 119
9.5.2 嵌套调用 119
【实例9.5】CEO安排工作任务 120
9.5.3 递归调用 121
【实例9.6】递归求年龄 122
9.6 内部函数和外部函数 122
9.6.1 内部函数 122
【实例9.7】输出“Hello MingRi!” 123
9.6.2 外部函数 123
9.7 局部变量和全局变量 124
9.7.1 局部变量 124
9.7.2 全局变量 124
9.8 其他函数库 125
9.9 综合案例——随机抽奖 127
9.10 实战练习 127
第10章 指针
10.1 指针相关概念 130
10.1.1 地址与指针 130
10.1.2 变量的指针 131
10.1.3 指针变量 131
【实例10.1】输出变量地址 132
【实例10.2】利用指针编写程序实现两个数互换 133
【实例10.3】输出i、j、c的地址 134
【实例10.4】*&的使用 134
10.1.4 指针的运算 135
【实例10.5】指针自增,地址变化了 135
10.2 数组与指针 137
10.2.1 一维数组与指针 137
【实例10.6】输出数组中的元素 137
10.2.2 二维数组与指针 139
【实例10.7】将输入的数以二维数组的形式显示 140
【实例10.8】输出第3行元素 141
【实例10.9】输出第2行的停车号 142
10.2.3 字符串与指针 142
【实例10.10】输出“hello mingri” 142
【实例10.11】利用指针实现字符串复制 143
10.2.4 指针数组 144
【实例10.12】输出英文的12个月 144
10.3 指向指针的指针 145
10.3.1 定义指向指针的指针 145
10.3.2 引用指向指针的指针 145
10.3.3 应用指向指针的指针 146
【实例10.13】输出化学周期表中前20个元素中的金属元素 146
10.4 指针与函数 146
10.4.1 指针变量作函数参数 146
【实例10.14】交换两个变量值 147
10.4.2 指针变量作函数参数的嵌套 148
【实例10.15】将输入的数从大到小输出 148
10.4.3 指针作函数参数与一维数组 149
【实例10.16】使用指针实现冒泡排序 149
10.4.4 指针作函数参数与二维数组 151
【实例10.17】找出二维数组每行中最大的数并求和 151
10.4.5 字符指针作函数参数 152
【实例10.18】按字母顺序排序 152
10.4.6 返回指针的函数 153
【实例10.19】输入长和宽,求长方形的周长 153
10.4.7 函数指针 154
10.5 带参数的main()函数 155
【实例10.20】输出main()函数的参数内容 156
10.6 综合案例——谁的成绩不及格? 157
10.7 实战练习 158
第11章 结构体和链表
11.1 结构体 160
11.1.1 结构体类型的概念 160
11.1.2 结构体变量的定义 160
11.1.3 结构体类型的初始化 162
11.1.4 结构体变量的引用 162
【实例11.1】输出vivo NEX(手机型号)的基本信息 162
11.2 结构体数组 163
11.2.1 定义结构体数组 163
11.2.2 初始化结构体数组 164
11.3 结构体指针 165
11.3.1 指向结构体变量的指针 165
11.3.2 指向结构体数组的指针 166
11.3.3 结构体作为函数参数 166
11.4 包含结构体的结构体 167
【实例11.2】显示学生的个人信息(包含生日) 167
11.5 链表 168
11.5.1 链表概述 168
11.5.2 创建动态链表 168
11.5.3 输出链表 170
11.6 链表相关操作 171
11.6.1 链表的插入操作 171
11.6.2 链表的删除操作 172
11.7 综合案例——查找手机通讯录 173
11.8 实战练习 175
第12章 共用体和枚举类型
12.1 共用体 177
12.1.1 声明共用体 177
12.1.2 定义共用体变量 177
12.1.3 共用体变量成员的引用 178
【实例12.1】设计一个玻璃罐头,一次只能装一种水果 179
【实例12.2】输出“现在是夏季” 180
12.1.4 共用体类型的数据特点 180
12.2 枚举类型 181
12.2.1 枚举类型的声明 181
12.2.2 枚举类型变量的定义 181
12.2.3 枚举类型变量的赋值和使用 182
【实例12.3】选择自己喜欢的颜色 182
12.3 综合案例——改答案放大招 183
12.4 实战练习 184
第13章 文件操作
13.1 文件概述 186
13.2 文件的基本操作 186
13.2.1 文件指针 186
13.2.2 文件的打开 187
13.2.3 文件的关闭 187
13.3 文件的读写 188
13.3.1 fputc()函数 188
【实例13.1】向文件中写入内容 188
13.3.2 fgetc()函数 189
【实例13.2】在屏幕中显示出文件内容 189
13.3.3 fputs()函数 189
【实例13.3】向文件中写入“gone with the wind” 190
13.3.4 fgets()函数 190
【实例13.4】读取任意磁盘文件中的内容 190
13.3.5 fprintf()函数 191
【实例13.5】将数字88以字符的形式写到磁盘文件中 191
13.3.6 fscanf()函数 192
【实例13.6】输出标准答案 192
13.3.7 fread()和fwrite()函数 193
【实例13.7】将所录入的信息全部显示出来 193
13.4 文件的定位 194
13.4.1 fseek()函数 194
【实例13.8】快递员送快递 195
13.4.2 rewind()函数 196
【实例13.9】老板,来一屉包子 196
13.4.3 ftell()函数 197
【实例13.10】保存手机号 197
13.5 综合案例——文件加密 198
13.6 实战练习 199
第14章 内存管理
14.1 内存组织方式 202
14.1.1 内存的组织方式 202
14.1.2 堆与栈 202
【实例14.1】利用malloc()函数分配内存空间 202
14.2 动态管理 203
14.2.1 malloc()函数 203
【实例14.2】衣服进货啦! 203
14.2.2 calloc()函数 204
【实例14.3】输出“Mingrisoft” 204
14.2.3 realloc()函数 205
【实例14.4】重新分配内存 205
14.2.4 free()函数 206
【实例14.5】释放内存空间 206
14.3 内存丢失 206
14.4 综合案例——用栈及递归计算多项式 207
14.5 实战练习 208
案例篇
第15章 让音乐响起来(C+媒体播放函数)
15.1 案例效果预览 210
15.2 案例准备 211
15.3 业务流程图 211
15.4 实现过程 211
15.4.1 创建新项目 211
15.4.2 下载mp3文件 213
15.4.3 引用函数库 213
15.4.4 导入媒体静态库 213
15.4.5 使用媒体播放 213
15.5 关键技术 214
第16章 抢红包(数组+随机函数)
16.1 案例效果预览 217
16.2 案例准备 218
16.3 业务流程图 218
16.4 实现过程 218
16.4.1 创建新项目 218
16.4.2 引用函数库 219
16.4.3 存储红包不同金额 219
16.4.4 随机生成红包金额 219
16.4.5 输出随机红包金额 220
16.5 关键技术 220
第17章 汉诺塔游戏(C+递归思想)
17.1 案例效果预览 224
17.2 案例准备 224
17.3 业务流程图 225
17.4 实现过程 225
17.4.1 分析移动汉诺塔过程 225
17.4.2 创建新项目 227
17.4.3 引用函数库 228
17.4.4 定义移动过程函数 228
17.4.5 main()函数 228
17.5 关键技术 228
第18章 单词背记游戏(文件操作+数组)
18.1 案例效果预览 232
18.2 案例准备 232
18.3 业务流程图 233
18.4 实现过程 233
18.4.1 存储练习的单词 233
18.4.2 创建新项目 233
18.4.3 导入函数库 234
18.4.4 定义宏 234
18.4.5 定义全局变量 235
18.4.6 显示选项 235
18.4.7 生成选项并返回正确下标 235
18.4.8 读取单词 235
18.4.9 判断选择情况以及得分情况 236
18.4.10 main()函数 237
18.5 关键技术 237
第19章 情商测试(条件控制+输入函数)
19.1 案例效果预览 239
19.2 案例准备 239
19.3 业务流程图 239
19.4 实现过程 240
19.4.1 创建新项目 240
19.4.2 导入函数库 241
19.4.3 函数声明及全局变量 241
19.4.4 定义10道测试题 242
19.4.5 计算题目得分及分析情商 248
19.4.6 main()函数 249
19.5 关键技术 249
第20章 头像挂件(IMAGE+图像处理函数)
20.1 案例效果预览 251
20.2 案例准备 252
20.3 业务流程图 252
20.4 实现过程 252
20.4.1 下载并安装EasyX图形库插件 252
20.4.2 创建新项目 254
20.4.3 导入函数库 255
20.4.4 初始化窗口 256
20.4.5 打印头像加挂件 256
20.4.6 冻结屏幕以及关闭绘制窗口 257
20.5 关键技术 257
第21章 猜拳游戏(Windows API+随机数+文件操作)
21.1 案例效果预览 260
21.2 案例准备 261
21.3 业务流程图 261
21.4 实现过程 261
21.4.1 创建新项目 261
21.4.2 预处理模块设计 262
21.4.3 游戏欢迎界面设计 263
21.4.4 游戏说明界面设计 264
21.4.5 游戏逻辑设计 266
21.4.6 显示游戏结束界面设计 267
21.5 关键技术 271
第22章 抖音表白小程序(MessageBox+判断语句)
22.1 案例效果预览 273
22.2 案例准备 273
22.3 业务流程图 274
22.4 实现过程 274
22.4.1 创建新项目 274
22.4.2 导入函数库 275
22.4.3 设置表白对话框 275
22.4.4 按钮“是”对话框 275
22.4.5 按钮“否”对话框 275
22.5 关键技术 276
第23章 弹幕来喽(文件+windows.h函数库+自定义函数)
23.1 案例效果预览 278
23.2 案例准备 279
23.3 业务流程图 279
23.4 实现过程 279
23.4.1 创建新项目 279
23.4.2 创建弹幕内容 280
23.4.3 导入函数库 280
23.4.4 将指定内容拷贝到剪贴板上 281
23.4.5 实现发弹幕 281
23.4.6 main()函数 282
23.5 关键技术 282
第24章 控制红绿灯(条件判断+图像处理+Sleep()函数)
24.1 案例效果预览 286
24.2 案例准备 287
24.3 业务流程图 287
24.4 实现过程 287
24.4.1 创建新项目 287
24.4.2 导入函数库 288
24.4.3 定义变量及初始化窗口 289
24.4.4 显示红绿灯初始状态 289
24.4.5 根据输入显示红绿灯状态 289
24.4.6 冻结屏幕以及关闭绘制窗口 290
24.5 关键技术 290
第25章 射a箭机器人(条件判断+自定义函数)
25.1 案例效果预览 293
25.2 案例准备 293
25.3 业务流程图 293
25.4 实现过程 293
25.4.1 创建新项目 293
25.4.2 导入函数库 294
25.4.3 中靶等级划分 295
25.4.4 输入射中环数 295
第26章 倒计时软件(循环嵌套+windows.h)
26.1 案例效果预览 296
26.2 案例准备 296
26.3 业务流程图 297
26.4 实现过程 297
26.4.1 创建新项目 297
26.4.2 导入函数库 298
26.4.3 自定义颜色函数 298
26.4.4 输入倒计时开始时间 298
26.4.5 实现倒计时功能 299
26.5 关键技术 299
应用篇
第27章 智能共享汽车管理系统
27.1 系统需求分析 304
27.1.1 系统概述 304
27.1.2 系统可行性分析 304
27.1.3 功能性需求分析 304
27.2 系统功能设计 304
27.2.1 系统功能结构 304
27.2.2 系统业务流程 304
27.2.3 系统预览 305
27.3 系统开发必备 306
27.3.1 系统开发环境 306
27.3.2 项目文件组织结构 306
27.4 技术准备 306
27.4.1 连接数据库准备工作 306
27.4.2 非ODBC方式操作数据库 308
27.5 数据库设计 313
27.6 显示主菜单模块设计 313
27.6.1 模块概述 313
27.6.2 实现显示主菜单模块 314
27.7 认证租车模块设计 314
27.7.1 模块概述 314
27.7.2 实现认证租车模块 315
27.8 信息查询模块设计 318
27.8.1 模块概述 318
27.8.2 实现信息查询模块 319
27.9 一键转让模块设计 320
27.9.1 模块概述 320
27.9.2 实现一键转让模块 321
27.10 确认还车模块设计 322
27.10.1 模块概述 322
27.10.2 实现确认还车模块 323
27.11 连接与关闭数据库 324
第28章 GSM短信控制家庭防盗报警系统
28.1 系统需求分析 327
28.1.1 系统概述 327
28.1.2 系统可行性分析 327
28.1.3 功能性需求分析 327
28.2 系统功能设计 327
28.2.1 系统功能结构 327
28.2.2 系统业务流程 327
28.2.3 系统预览 328
28.3 系统开发必备 328
28.3.1 系统开发工具 328
28.3.2 电路图 328
28.3.3 元件列表 329
28.4 LED声光报警设计 329
28.4.1 LED灯报警设计 329
28.4.2 蜂鸣器报警设计 332
28.4.3 LED声光报警设计实物图 334
28.5 手机短信报警设计 334
28.5.1 液晶屏显示状态 334
28.5.2 GSM模块接收短信 339
28.5.3 手机短信报警设计实物图 342
28.6 按键设计 342
28.6.1 按键概述 342
28.6.2 按键的使用 342
28.7 其他关键代码 344
附录
附录1:运算符优先级和结合性 352
附录2:ASCII码表 352
猜您喜欢