基于AI的C语言程序设计(微课版)
-
【作 者】蒋亚平
【I S B N 】978-7-5226-4375-5
【责任编辑】张玉玲
【适用读者群】本专通用
【出版时间】2026-04-27
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】324
【千字数】518
【印 张】20.25
【定 价】¥58
【丛 书】普通高等教育计算机类专业教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书从C语言初学者视角出发,以“夯实基础、强化实践、培养思维”为目标,依托通义灵码核心AI伙伴,融入“理论—实操—解惑”学习闭环,同步赋能AI协作编程能力,助力读者完成从“会写代码”到“能解决复杂问题”的能力跃升。
本书突破传统语法孤立讲解模式,构建“基础语法—算法思维—工程实践”递进体系,融合问题导向学习、案例教学与图形分析,以可视化方式拆解指针、链表等抽象难点与算法,显著降低理解门槛。
全书共13章,涵盖核心语法结构、函数、指针、文件、数据结构、算法应用等内容,以“学生信息管理系统”为贯穿案例,逐步实现“静态数组—动态数组—结构体—文件持久化—链表优化”迭代升级,并引入算法复杂度对比分析,强化优化意识。
本书可作为高等院校计算机类相关专业教材、C语言培训教材,也可供C开发工程技术人员参考。
◆ 内容翔实
系统覆盖C 语言核心知识,兼顾理论讲解与AI 应用
◆ 理实一体
将实际案例与知识点深度融合,强化读者的实践能力
◆ 资源丰富
提供了配套微课和练习题等资源,便于读者自主学习
“C语言”是高等院校计算机类专业的核心课程,兼具理论深度与实践属性。传统教材常面临“语法孤立、实践脱节、难点难破”的困境,而随着人工智能(Artificial Intelligence,AI)技术在编程领域的深度渗透,企业对“懂语法、会用AI、能解决复杂问题”的复合型人才需求日益迫切。基于多年教学与开发经验,本书以“AI赋能编程学习”为核心抓手,打破传统教学模式,通过“理论—实操—AI解惑”的闭环设计助力读者高效掌握C语言技术。
本书主要内容
本书严格对标高等院校C语言人才培养目标,深度契合企业实际需求,系统梳理C语言知识体系:以“基础语法—算法思维—工程实践”为递进主线,以“学生信息管理系统”为贯穿案例,将AI协作能力培养融入全程。
全书共13章,具体内容如下:
第1章:讲解C语言入门知识与开发环境配置,为后续学习搭建基础环境。
第2章:聚焦算法基础,铺垫编程思维与问题解决逻辑。
第3章:介绍AI大模型通义灵码的应用,助力培养AI协作编程能力。
第4~6章:依次讲解顺序结构、分支结构、循环结构,夯实程序设计核心语法。
第7章:阐述数组知识,同步实现“学生信息管理系统”的静态数组存储。
第8章:讲解函数与模块化程序设计,强化代码结构化;图解排序算法助理解,培养逻辑思维。
第9章:介绍预处理命令,渗透工程化编程规范。
第10章:深入讲解指针,为复杂数据处理与案例升级打基础。
第11章:阐述自定义数据类型,完成“学生信息管理系统”的结构体重构。
第12章:讲解文件操作,实现系统数据的文件持久化存储。
第13章:聚焦数据结构与算法应用,完成系统的链表优化,提升读者解决综合问题的能力。
本书特点
本书将AI作为编程学习的“核心伙伴”,不仅有单独的章节讲解AI应用,更在各章节案例中渗透AI辅助解惑、调试、优化的方法。
本书精选核心内容,聚焦重点、拆解难点,以翔实示例与知识点深度融合助力读者夯实理论基础,强化动手实践能力。书中最后一章聚焦数据结构与算法应用,进一步引导读者提升逻辑思维与问题解决能力,契合“培养思维”的核心目标,为从“会写代码”到“能解决复杂问题”的能力跃升提供支撑。
本书高度重视实践能力的培养,对工具安装、配置的应用过程给出了非常详细的描述,所有案例都是基于实际完成的操作介绍,并配有截图,为读者展示了真实、详尽、可重现的场景,方便读者自学和钻研。本书覆盖了C语言中的完整技术体系,并且配套的微课、练习题等数字资源中亦包含AI辅助学习的专项指导,全方位降低自学门槛。
本书从C语言基础知识开始,再到函数、指针、文件,最后分析数据结构和算法应用,适合不同层次的人员阅读和使用。
本书的读者群体
本书可作为普通高等院校计算机类相关专业的教材,可作为C语言技术的培训教材,也可供已有C语言基础、希望全面系统掌握其实际应用的读者参考,助力其进一步提升AI辅助编程能力与工程化解决问题的素养。
本书尤其适配初学者从入门到进阶的学习需求,助力其借助AI快速破解编程学习中的困惑,降低入门阻碍,提升进阶效率。读者完全可以利用本书给出的资源和示例一步一步地完成各项操作和应用,体验一种荣登殿堂的成就感。
配套资源
为便于教学与自学,本书配套丰富资源,包括微课、各章节源代码、教学课件、教学大纲、实验大纲、安装程序及题库。
致谢
本书由蒋亚平主编,期间承蒙同行及读者提供宝贵意见,亦感谢出版社编辑倾心相助。AI与编程的融合日新月异,后续会持续跟踪技术趋势,在配套资源平台更新AI辅助编程的最新实践资料。因编者水平所限,书中难免有疏漏之处,恳请各界专家、读者批评指正。
1.1 程序设计与程序设计语言 1
1.1.1 程序设计的基本概念 1
1.1.2 程序设计语言的发展 2
1.2 C语言的发展及其特点 2
1.3 简单的C语言程序 3
1.4 C语言程序的结构和运行过程 5
1.4.1 C语言程序的结构特点 5
1.4.2 C语言程序的运行过程 7
1.4.3 代码运行跟踪:使用Compiler
Explorer查看汇编指令 8
1.5 词法记号 11
1.6 Dev-C++的安装与使用 11
1.6.1 Dev-C++的安装和配置 12
1.6.2 创建和编译第一个程序 14
1.7 VS Code的安装与使用 14
1.7.1 VS Code的安装和配置 14
1.7.2 使用VS Code创建和编译程序 17
1.7.3 安装AI大模型编程助手:通义灵码
(Lingma) 18
1.7.4 配套程序调试:使用VS Code自带调试功能追踪程序运行 21
1.8 容器化开发环境配置 23
1.8.1 容器化开发的意义 23
1.8.2 Docker的安装步骤 24
1.8.3 一键部署C语言开发环境 28
1.8.4 使用容器开发C程序 28
1.9 本章小结 31
思考与练习 32
第2章 算法 34
2.1 算法的概念 34
2.2 算法的表示 35
2.2.1 自然语言描述算法 35
2.2.2 流程图表示算法 36
2.2.3 N-S图表示算法 38
2.2.4 伪代码表示算法 41
2.2.5 编程语言表示算法 44
2.3 结构化程序设计方法 45
2.4 本章小结 46
思考与练习 47
第3章 AI大模型助力编程学习 50
3.1 AI帮助编写C代码 50
3.1.1 AI助力代码自动生成 50
3.1.2 通过自然语言与AI互动编程 51
3.2 AI在调试和优化中的应用 52
3.2.1 自动化错误检测与修复 52
3.2.2 调试辅助工具 54
3.3 通过AI提高编程效率 55
3.3.1 加速学习与技能提升 55
3.3.2 自动化开发与任务分配 55
3.3.3 提高代码质量与持续集成 55
3.4 本章小结 56
思考与练习 56
第4章 顺序结构 58
4.1 数据类型 58
4.2 基础数据操作与逻辑判断 59
4.2.1 常量 59
4.2.2 变量 59
4.2.3 逻辑判断处理 62
4.2.4 数据类型转换 63
4.3 数据在计算机中的存储方式 64
4.3.1 进位计数制 64
4.3.2 位、字节和地址 67
4.3.3 整型数据在内存中的存储方式 68
4.3.4 字符数据在内存中的存储方式 68
4.3.5 预处理命令 69
4.4 输入和输出 69
4.4.1 输入和输出的概念 69
4.4.2 数据的输出 69
4.4.3 数据的输入 70
4.4.4 printf和scanf函数 71
4.5 运算符与表达式 72
4.5.1 算术运算符 72
4.5.2 赋值运算符 73
4.5.3 关系运算符 74
4.5.4 逻辑运算符 75
4.5.5 条件表达式 75
4.5.6 逗号表达式 76
4.5.7 位运算符 77
4.5.8 运算符的优先级 81
4.6 本章小结 82
思考与练习 83
第5章 分支结构 86
5.1 条件判断 86
5.2 if语句 87
5.2.1 使用if语句处理选择结构的示例 87
5.2.2 if语句的一般形式 89
5.3 选择结构的嵌套 91
5.4 switch语句 93
5.5 分支结构综合编程案例 95
5.6 本章小结 98
思考与练习 99
第6章 循环结构 103
6.1 循环结构概述 103
6.2 while循环 104
6.3 do-while循环 106
6.4 for循环 108
6.5 循环结构的嵌套 110
6.6 中断循环 112
6.6.1 break语句 112
6.6.2 continue语句 112
6.6.3 break语句和continue语句的区别 113
6.6.4 goto语句 115
6.7 循环结构综合编程案例 117
6.8 本章小结 123
思考与练习 124
第7章 数组 128
7.1 一维数组 128
7.1.1 数组的定义 128
7.1.2 数组的使用 129
7.2 二维数组 131
7.2.1 二维数组的定义 131
7.2.2 二维数组的使用 132
7.3 字符数组 134
7.3.1 字符数组的定义 134
7.3.2 字符数组的使用 134
7.3.3 字符数组示例 136
7.4 数组综合编程案例 137
7.4.1 查找 137
7.4.2 统计 139
7.4.3 数列处理 141
7.5 线性表抽象数据类型 143
7.5.1 线性表的定义 143
7.5.2 线性表的逻辑结构 143
7.5.3 线性表的基本操作 143
7.5.4 线性表与数组的关系 144
7.6 本章小结 144
思考与练习 145
第8章 函数实现模块化程序设计 148
8.1 函数概述 148
8.2 函数的定义和调用 149
8.3 数组作为函数参数 151
8.3.1 一维数组名作为参数 151
8.3.2 二维数组的行地址作为参数 153
8.4 递归 155
8.4.1 斐波那契数列 155
8.4.2 数字全排列 156
8.4.3 最大公约数与最小公倍数 158
8.4.4 杨辉三角 158
8.5 图解排序算法 159
8.5.1 插入排序 159
8.5.2 交换排序 163
8.5.3 选择排序 168
8.6 函数综合编程案例 170
8.7 本章小结 172
思考与练习 174
第9章 预处理命令 176
9.1 工作原理及指令 176
9.2 宏定义 179
9.2.1 无参宏定义 179
9.2.2 带参宏定义 180
9.2.3 空的宏参数 181
9.3 条件编译 182
9.4 文件包含 184
9.5 本章小结 185
思考与练习 186
第10章 指针 189
10.1 指针的概念 189
10.2 指针变量 191
10.2.1 指针变量的概念 191
10.2.2 定义指针变量 192
10.2.3 使用指针变量 192
10.2.4 函数的参数为指针变量 194
10.3 通过指针引用数组 195
10.3.1 一维数组的指针变量 195
10.3.2 多维数组的指针变量 197
10.4 字符串指针变量 200
10.4.1 字符串 200
10.4.2 字符串指针变量与字符
数组的区别 201
10.4.3 main函数的参数 202
10.5 指向指针的指针 204
10.6 指向函数的指针 205
10.7 指针综合编程案例 208
10.8 本章小结 213
思考与练习 216
第11章 定义数据类型 219
11.1 结构体 219
11.1.1 结构体的概念 219
11.1.2 结构体的用法 220
11.2 用指针处理链表 229
11.2.1 链表的概念 229
11.2.2 链表的基本操作 229
11.2.3 链表与数组的对比 232
11.3 共用体类型 233
11.3.1 共用体的概念 233
11.3.2 共用体与结构体的区别 233
11.3.3 共用体的应用场景 234
11.4 枚举类型 235
11.4.1 枚举的概念 235
11.4.2 枚举的使用 235
11.4.3 枚举的优势 236
11.5 使用typedef声明新类型名 237
11.5.1 基本用法 237
11.5.2 应用场景 237
11.6 内存分类 238
11.6.1 内存分区图解 239
11.6.2 各分区详解 239
11.6.3 动态内存分配与管理示例 240
11.6.4 内存分区的重要性 241
11.6.5 操作系统虚拟内存管理科普 242
11.7 本章小结 243
思考与练习 243
第12章 文件 246
12.1 C语言中的文件操作 246
12.1.1 入门程序 246
12.1.2 文件概念 247
12.1.3 文件分类 247
12.1.4 文件缓冲区 248
12.1.5 文件结构与文件类型指针 248
12.2 文件的打开与关闭 251
12.2.1 使用fopen函数打开文件 251
12.2.2 使用fclose函数关闭文件 253
12.3 顺序读写文件 255
12.3.1 读写字符数据 255
12.3.2 读写字符串数据 256
12.3.3 格式化方式读写文本文件 257
12.3.4 二进制方式读写文件 258
12.4 随机读写文件 260
12.4.1 文件位置标记与定位 260
12.4.2 随机访问文件数据 262
12.5 文件综合编程案例 264
12.6 本章小结 270
思考与练习 272
第13章 数据结构和算法应用 274
13.1 程序 = 数据结构+算法 274
13.2 数据结构 275
13.2.1 线性表 275
13.2.2 栈 281
13.2.3 队列 285
13.2.4 字符串 289
13.2.5 图 290
13.3 算法应用 292
13.3.1 算法的时间复杂度 292
13.3.2 算法的空间复杂度 293
13.3.3 逆波兰表达式计算器 294
13.3.4 银行排队模拟系统 298
13.3.5 BF算法和KMP算法 301
13.3.6 校园快递路径规划系统 308
13.4 本章小结 310
思考与练习 311
- 北京冰雪产业发展报告(2024—2025) [邹新娴 刘泽勇 等]
- 大学体育(职业本科版) [何飞 卢凌涛 苏娟]
- 数据库技术与应用(SQL Server) [主编 沙有闯 朱小娟]
- OpenClaw权威指南:从零部署7×24小时AI助理 [何伟 孟伟坡 明鉴]
- 控制器件(第三版) [主编 鲁兴举]
- 人工智能与信息素养 [主编 吴华光 房宜汕]
- 智能多媒体技术 [主编 陈萍 刘灵傲]
- 云南异龙湖无机碳埋藏的近现代模式研究 [李平 著]
- 基于多模态的人脸图像生成算法与关键技术 [罗晓东 著]
- 应用型地方本科高校教师专业发展研究 [吴丽 著]
- 高维数据特征筛选策略与算法 [陈念 著]
- 外贸英语从入门到实战:53种实战场景秒变谈判高手 [张乐 廖熠 编著]
- Python程序设计项目化教程(基于AI) [主编 禹晨 赵金考 王宏斌]
- 可编程控制器应用项目化教程(三菱FX系列) [主编 姜文雍 李东方]
- 全球英文电影精选:看电影学英文 [张颖 编译]
- Python程序设计与网络爬虫 [黄海辉 彭新东]
- 实体店创业分析实务 [燕艳 陈文冬 编著]
- 中国对欧盟OFDI效率与风险的多维度实证评估—基于KK-SFA模型与PCF-聚类分析方法 [黄健钧 著]
- 生成式人工智能素养 [邱有春 罗明全]
- 系统分析师考试32小时通关(适配第2版考纲) [薛大龙 邹月平]
- Ansys DesignModeler参数化特征建模与仿真指南 [蔡宜时 编著]
- 浙江省山区县共富工坊建设的现状与对策 [徐骏骅 著]
- 计算机网络技术及应用(第3版) [主编 刘永华 陈瑶]
- 北京冬奥精神传承和发展研究 [顾春雨 邹新娴 等 著]
- 汽车营销理论与实务(第三版) [主编 赵培全]
- 人工智能基础与实践 [禹晨 赵金考 王宏斌 李璐]
- 系统分析师5天修炼(适配第2版考纲) [施游 邹汉斌 黄少年 主编]
- 线性代数(第二版) [惠小健 贺艳琴 夏斌湖]
- 微控制器系统设计(STM32版) [主编 杨凌]
- 机械原理与机械设计作业集(第二版) [主编 田亚平 李爱姣]

