C语言程序设计(慕课版 第3版)

分享 推荐 0 收藏 0 阅读 125
明日科技 (作者) 978-7-115-66096-1

关于本书的内容有任何问题,请联系 徐柏杨

¥79.80 ¥67.83 (8.5 折)
立即购买 在线试读

内容摘要

本书系统、全面地介绍C 语言程序设计相关的各类知识。全书共17 章,内容包括C语言概述、算法、C语言基础、运算符与表达式、常用的数据输入输出函数、选择结构程序设计、循环控制、数组、函数、指针、结构体和共用体、位运算、预处理、文件、存储管理、综合开发实例—趣味俄罗斯方块、课程设计—学生信息管理系统,本书最后还提供了12个实验。本书每章内容都与实例紧密结合,有助于读者理解知识、应用知识,达到学以致用的目的。
近年来,AIGC技术高速发展,成为各行各业高质量发展和生产效率提升的重要推动力。本书将AIGC技术融入理论学习、实例编写、复杂系统开发等环节,帮助读者提升编程效率。
本书既可以作为高等院校“C语言程序设计”课程的教材,又可以作为C语言爱好者、初中级C语言程序开发人员的参考书。

目录

第1章 C语言概述 1
1.1 C语言的发展史 1
1.1.1 程序设计语言简述 1
1.1.2 C语言的发展历程 2
1.2 C语言的特点 3
1.3 一个简单的C语言程序 3
1.4 C语言程序的格式 6
1.5 Dev-C++开发工具 7
1.6 常用的AIGC工具 12
1.6.1 讯飞星火大模型 12
1.6.2 通义大模型 12
1.6.3 腾讯混元大模型 12
1.6.4 文心大模型 12
1.6.5 DeepSeek-R1推理大模型 12
1.6.6 AIGC工具解决问题
示例 13
1.7 小结 13
1.8 上机指导 14
1.9 习题 14
第2章 算法 15
2.1 算法的基本概念 15
2.1.1 算法的特性 15
2.1.2 算法的优劣 16
2.2 算法的描述 17
2.2.1 自然语言 17
2.2.2 流程图 17
2.2.3 N-S流程图 21
2.3 借助AIGC工具编写实例 23
2.3.1 借助AIGC工具描述判断偶数算法 23
2.3.2 借助AIGC工具描述计算阶乘算法 24
2.4 小结 24
2.5 上机指导 24
2.6 习题 25
第3章 C语言基础 26
3.1 编程规范 26
3.2 关键字 27
3.3 标识符 28
3.4 数据类型 29
3.5 常量 30
3.5.1 整型常量 30
3.5.2 实型常量 32
3.5.3 字符型常量 32
3.5.4 转义字符 35
3.5.5 符号常量 35
3.6 变量 36
3.6.1 整型变量 36
3.6.2 实型变量 38
3.6.3 字符型变量 40
3.7 混合运算 42
3.8 借助AIGC工具编写实例 43
3.9 小结 43
3.10 上机指导 43
3.11 习题 44
第4章 运算符与表达式 45
4.1 表达式 45
4.2 赋值运算符与赋值表达式 47
4.2.1 为变量赋初值 47
4.2.2 自动类型转换 49
4.2.3 强制类型转换 49
4.3 算术运算符与算术表达式 50
4.3.1 算术运算符 50
4.3.2 算术表达式 51
4.3.3 优先级与结合性 52
4.3.4 自增运算符和自减运算符 53
4.4 关系运算符与关系表达式 55
4.4.1 关系运算符 55
4.4.2 关系表达式 55
4.4.3 优先级与结合性 56
4.5 逻辑运算符与逻辑表达式 57
4.5.1 逻辑运算符 58
4.5.2 逻辑表达式 58
4.5.3 优先级与结合性 58
4.6 位逻辑运算符与位逻辑表达式 59
4.6.1 位逻辑运算符 59
4.6.2 位逻辑表达式 60
4.7 逗号运算符与逗号表达式 60
4.8 复合赋值运算符 61
4.9 借助AIGC工具编写实例 62
4.10 小结 63
4.11 上机指导 65
4.12 习题 65
第5章 常用的数据输入输出函数 66
5.1 语句 66
5.2 字符数据的输入输出 67
5.2.1 字符数据的输出 67
5.2.2 字符数据的输入 68
5.3 字符串的输入输出 70
5.3.1 字符串的输出函数 70
5.3.2 字符串的输入函数 71
5.4 格式输出函数 72
5.5 格式输入函数 75
5.6 借助AIGC工具编写实例 78
5.7 小结 79
5.8 上机指导 79
5.9 习题 80
第6章 选择结构程序设计 81
6.1 if语句 81
6.2 if语句的基本形式 81
6.2.1 if语句形式 82
6.2.2 if…else语句形式 84
6.2.3 else if语句形式 85
6.3 if语句的嵌套形式 88
6.4 条件运算符 90
6.5 switch语句 92
6.5.1 switch语句的基本形式 92
6.5.2 多路开关模式的switch语句 96
6.6 if…else语句和switch语句的区别 97
6.7 借助AIGC工具编写实例 99
6.7.1 借助AIGC工具进一步优化日程安排 99
6.7.2 借助AIGC工具获取3个数中的最大值 100
6.8 小结 101
6.9 上机指导 101
6.10 习题 102
第7章 循环控制 103
7.1 循环语句 103
7.2 while语句 103
7.3 do...while语句 105
7.4 for语句 107
7.4.1 for语句的使用 107
7.4.2 for语句的变体 110
7.4.3 for语句中的逗号应用 112
7.5 3种循环语句的比较 113
7.6 循环嵌套 113
7.6.1 循环嵌套的结构 113
7.6.2 循环嵌套实例 115
7.7 转移语句 117
7.7.1 break语句 117
7.7.2 continue语句 118
7.8 借助AIGC工具编写实例 119
7.9 小结 120
7.10 上机指导 120
7.11 习题 121
第8章 数组 122
8.1 一维数组 122
8.1.1 一维数组的定义和引用 122
8.1.2 一维数组的初始化 124
8.1.3 一维数组的应用 126
8.2 二维数组 127
8.2.1 二维数组的定义和引用 127
8.2.2 二维数组的初始化 128
8.2.3 二维数组的应用 130
8.3 字符数组 132
8.3.1 字符数组的定义和引用 132
8.3.2 字符数组的初始化 133
8.3.3 字符数组的结束符 134
8.3.4 字符数组的输入和输出 135
8.4 多维数组 136
8.5 数组的排序算法 136
8.5.1 选择法排序 136
8.5.2 冒泡法排序 138
8.5.3 排序算法的比较 139
8.6 字符串处理函数 140
8.6.1 字符串复制 140
8.6.2 字符串连接 141
8.6.3 字符串比较 142
8.6.4 字符串大小写转换 143
8.6.5 获得字符串长度 145
8.7 借助AIGC工具编写实例 146
8.7.1 借助AIGC工具进一步优化冒泡排序算法 146
8.7.2 借助AIGC工具计算最大值、最小值和平均值 147
8.8 小结 149
8.9 上机指导 149
8.10 习题 149
第9章 函数 150
9.1 函数概述 150
9.2 函数的定义 152
9.2.1 函数定义的形式 153
9.2.2 定义与声明 154
9.3 返回语句 155
9.3.1 从函数返回 156
9.3.2 返回值 156
9.4 函数参数 158
9.4.1 形式参数与实际参数 158
9.4.2 数组作为函数参数 160
9.4.3 main()函数的参数 163
9.5 函数的调用 164
9.5.1 函数的调用方式 164
9.5.2 嵌套调用 169
9.5.3 递归调用 171
9.6 内部函数和外部函数 173
9.6.1 内部函数 173
9.6.2 外部函数 174
9.7 局部变量和全局变量 175
9.7.1 局部变量 175
9.7.2 全局变量 176
9.8 借助AIGC工具编写实例 176
9.9 小结 177
9.10 上机指导 177
9.11 习题 178
第10章 指针 179
10.1 指针的相关概念 179
10.1.1 地址与指针 179
10.1.2 变量与指针 180
10.1.3 指针变量 180
10.1.4 指针的自增自减运算 184
10.2 数组与指针 185
10.2.1 一维数组与指针 186
10.2.2 二维数组与指针 189
10.2.3 字符串与指针 192
10.3 指向指针的指针 194
10.4 指针变量作函数参数 197
10.5 指针函数 198
10.6 借助AIGC工具快速清除bug 199
10.7 小结 200
10.8 上机指导 200
10.9 习题 201
第11章 结构体和共用体 202
11.1 结构体 202
11.1.1 结构体的概念 202
11.1.2 结构体变量的定义 203
11.1.3 结构体变量的引用 205
11.1.4 结构体变量的初始化 207
11.2 结构体数组 208
11.2.1 定义结构体数组 209
11.2.2 初始化结构体数组 210
11.3 结构体指针 212
11.3.1 指向结构体变量的指针 212
11.3.2 指向结构体数组的指针 215
11.3.3 结构体作为函数参数 216
11.4 包含结构的结构 219
11.5 共用体 220
11.5.1 共用体的概念 220
11.5.2 共用体变量的引用 221
11.5.3 共用体变量的初始化 222
11.5.4 共用体类型的特点 223
11.6 枚举类型 223
11.7 借助AIGC工具编写实例 224
11.8 小结 225
11.9 上机指导 225
11.10 习题 226
第12章 位运算 227
12.1 位与字节 227
12.2 位运算符 227
12.2.1 “与”运算符 228
12.2.2 “或”运算符 229
12.2.3 “取反”运算符 230
12.2.4 “异或”运算符 231
12.2.5 “左移”运算符 233
12.2.6 “右移”运算符 234
12.3 循环移位 235
12.4 位段 237
12.4.1 位段的概念与定义 237
12.4.2 位段相关说明 238
12.5 借助AIGC工具编写实例 240
12.6 小结 241
12.7 上机指导 241
12.8 习题 241
第13章 文件 242
13.1 文件概述 242
13.2 文件的基本操作 243
13.2.1 文件指针 243
13.2.2 文件的打开 243
13.2.3 文件的关闭 244
13.3 文件的读写 244
13.3.1 fputc()函数 245
13.3.2 fgetc()函数 245
13.3.3 fputs()函数 246
13.3.4 fgets()函数 247
13.3.5 fprintf()函数 248
13.3.6 fscanf()函数 249
13.3.7 fread()和fwrite()函数 250
13.4 文件的定位 252
13.4.1 fseek()函数 252
13.4.2 rewind()函数 254
13.4.3 ftell()函数 255
13.5 借助AIGC工具编写实例 256
13.6 小结 257
13.7 上机指导 257
13.8 习题 258
第14章 综合开发实例——趣味 俄罗斯方块 259
14.1 开发背景 259
14.2 系统功能设计 260
14.2.1 系统功能结构 260
14.2.2 业务流程图 260
14.2.3 开发环境需求 261
14.3 预处理模块设计 261
14.3.1 引用文件 261
14.3.2 宏定义 261
14.3.3 定义全局变量 261
14.3.4 声明函数 262
14.4 游戏欢迎界面设计 262
14.4.1 游戏欢迎界面概述 262
14.4.2 设置文本颜色 263
14.4.3 设置文本输出位置 263
14.4.4 绘制游戏名称及不同类型的方块 263
14.4.5 绘制字符画 265
14.4.6 设计菜单选项 266
14.5 游戏主界面设计 267
14.5.1 游戏主界面概述 267
14.5.2 绘制游戏主界面框架 268
14.5.3 确定方块颜色及形状 269
14.5.4 绘制方块 273
14.5.5 随机生成方块类型的
序号 274
14.5.6 判断方块是否可移动 274
14.5.7 开始游戏的实现 276
14.5.8 重新开始游戏 281
14.6 游戏按键说明界面设计 281
14.6.1 游戏按键说明界面概述 281
14.6.2 游戏按键说明界面的实现 281
14.7 游戏规则介绍界面设计 282
14.7.1 游戏规则介绍界面概述 282
14.7.2 游戏规则介绍界面的实现 283
14.8 退出游戏 284
14.9 借助AIGC工具分析、优化项目 284
14.9.1 借助AIGC工具分析俄罗斯方块游戏算法 284
14.9.2 借助AIGC工具为游戏添加图形化界面 286
14.9.3 借助AIGC工具解决无法消除行的问题 287
14.10 小结 288
第15章 课程设计——学生信息管理系统 290
15.1 开发背景 290
15.2 开发环境需求 290
15.3 系统功能设计 290
15.4 预处理模块设计 291
15.4.1 模块概述 291
15.4.2 控制输出格式 291
15.4.3 引用文件 292
15.4.4 宏定义 292
15.4.5 声明函数 292
15.5 主函数设计 293
15.5.1 功能概述 293
15.5.2 实现主函数 293
15.5.3 显示主菜单 295
15.6 录入学生信息 295
15.6.1 模块概述 295
15.6.2 实现文件的打开和关闭功能 296
15.6.3 实现录入学生信息 297
15.7 查找学生信息 299
15.7.1 模块概述 299
15.7.2 查找没有记录的文件 300
15.7.3 查找并输出学生信息 301
15.8 删除学生信息 301
15.8.1 模块概述 301
15.8.2 实现删除学生信息 302
15.9 修改学生信息 303
15.9.1 模块概述 303
15.9.2 实现修改学生信息 304
15.10 插入学生信息 305
15.10.1 模块概述 305
15.10.2 实现插入学生信息 305
15.11 学生成绩排名 307
15.11.1 模块概述 307
15.11.2 使用交换排序法实现排序功能 308
15.11.3 实现学生成绩排名 308
15.12 统计学生总数 309
15.12.1 模块概述 309
15.12.2 实现统计学生总数 310
15.13 显示所有学生信息 310
15.13.1 模块概述 310
15.13.2 读取并显示所有学生
信息 311
15.14 小结 311
实验  312
实验1 计算某日是该年的第几天 312
实验2 老师分糖果问题 313
实验3 求一元二次方程的根 314
实验4 求学生总成绩和平均成绩 315
实验5 模拟ATM界面 316
实验6 猜数字游戏 319
实验7 使用数组统计学生成绩 322
实验8 设计函数计算学生平均身高 324
实验9 使用指针交换两个数组中的最大值 325
实验10 设计通讯录 327
实验11 取出给定16位二进制数的奇数位 328
实验12 复制文件内容到另一个文件 329

读者评论

赶紧抢沙发哦!

我要评论

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部