C语言程序设计(第二版)
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
内 容 提 要
本书以学科专业大类的培养目标为基础,结合工程教育、学科评估和专业认证的要求,以通俗易懂的语言、丰富多彩的实例,详细讲解C语言相关知识点,同时将课程思政融入教学案例。
全书内容主要分为三大部分:一是基础部分,包括C语言程序设计基础、数据类型和表达式、流程控制语句等内容;二是提高部分,包括函数、数组和字符串、指针、结构体、文件等内容;三是AIGC编程部分,包括AIGC编程、AIGC编程环境安装与配置、C语言的AIGC编程应用等内容。通过本书的学习,可以让学生建立基本的程序设计概念,掌握C语言程序设计的基础知识、基本算法和编程技术,从而培养学生的计算思维及利用计算机解决问题的意识、思路,初步具备利用程序设计语言进行计算机问题求解的能力。
本书适合高等院校非计算机专业的本科生、研究生教学使用,也可作为学习C语言程序设计的参考书籍。
本书配有电子教案,读者可以从中国水利水电出版社网站(www.waterpub.com.cn)或万水书苑网站(www.wsbookshow.com)免费下载。
体系循序渐进,案例丰富详实。
赋能传统教学,融合AIGC 新知。
微课视频助学,在线题库促练。
前 言
“C语言程序设计”课程是高等院校计算机基础教学系列核心课程之一,通过本书的学习,不仅使学生掌握C语言程序设计的基础知识、编程技术和基本算法,更重要的是培养学生利用计算机解决问题的意识、思路和能力,掌握程序设计思想和方法,为后续课程和计算机在各专业中的应用奠定基础,并使学生今后能承担本专业领域中计算机软件应用和开发工作。全书配套资源丰富,每章均配有微视频,便于学生课后巩固复习;同时建有独立的课程资源网站,提供丰富的在线测试习题库与无纸化试题库。
本书编写思路及特色如下:
(1)由浅入深,注重基础。全书从C语言程序设计最重要的概念—“函数”入手,讲解基本的编程格式及语法规则。内容紧凑,实用性强,并附有重要知识点的视频讲解。
(2)以算法为灵魂,培养编程思维。算法是程序的灵魂,熟练掌握算法实现技能,是形成编程思维的重要途径。本书按照数据结构思想,结合C语言语法特点,详细介绍了累计、插入和删除、排序和查找、迭代和递归等算法的具体实现。
(3)强调一题多解,充分利用计算机解决问题的多样性与灵活性,引导学生避免死记硬背。
(4)以培养应用创新能力为目标,取材新颖,案例丰富,以“实用、以用促学”为编写原则,注重程序设计的思路、方法及良好的程序设计风格和习惯,提高学生解决实际问题的能力。同时,在实验环节设计中,注重趣味性,有效提升学生的编程兴趣。
(5)学考结合,注重实效。本书根据全国计算机二级考试要求,以Visual C++ 2010为开发环境,以程序设计为主线,介绍程序设计的思想和方法。
(6)将课程思政融入程序设计,用案例思政培养学生的爱国主义情怀、社会主义核心价值观。
本书由刘祖珉、赵仕波任主编,魏琴、吴静任副主编,刘祖珉完成组织和统稿,赵仕波完成审稿。第1、9章由刘祖珉、魏琴编写,第2、3章由刘祖珉编写,第4、5、7章由魏琴编写,第6章由吴静编写,第8章由赵仕波编写,参与编写的还有李思明、鲁红英、张澎、张晟嘉等老师。参与本书相关微视频制作的有刘祖珉、魏琴、李思明、肖阳春、孙淑霞等老师。
最后,感谢中国水利水电出版社寇文杰的大力支持。
因时间仓促,书中难免存在不足之处,恳请读者批评指正。作者邮箱:lzm@cdut.edu.cn。
编 者
2025年9月
第1章 C语言程序设计基础 1
1.1 C语言程序的组成 1
1.1.1 函数 1
1.1.2 关键字和用户标志符 2
1.1.3 书写格式 3
1.1.4 注释 4
1.2 IPO编程方法 4
1.3 Visual C++ 2010集成开发环境简介 6
习题 13
第2章 数据类型和表达式 15
2.1 数据类型 15
2.2 常量 16
2.2.1 数值型常量 16
2.2.2 字符型常量 17
2.2.3 符号常量 19
2.3 变量 19
2.3.1 变量的定义 20
2.3.2 变量的赋值 20
2.4 输入/输出函数 21
2.4.1 格式化输入函数 22
2.4.2 格式化输出函数 24
2.4.3 字符输入/输出函数 27
2.5 运算符和表达式 28
2.5.1 自增/自减运算符 28
2.5.2 类型转换运算符 29
2.5.3 算术运算符 31
2.5.4 关系运算符 32
2.5.5 逻辑运算符 33
2.5.6 条件运算符 35
2.5.7 赋值运算符 35
2.5.8 逗号运算符 37
习题 38
第3章 流程控制语句 41
3.1 分支语句 41
3.1.1 if语句 42
3.1.2 switch语句 48
3.2 循环语句 52
3.2.1 while语句 52
3.2.2 do-while语句 54
3.2.3 for语句 56
3.2.4 循环嵌套 59
3.3 跳转语句 61
3.3.1 break语句 62
3.3.2 continue语句 64
习题 66
第4章 函数 70
4.1 函数的定义 70
4.2 函数的调用 73
4.3 函数原型 75
4.4 函数的嵌套 77
4.4.1 函数的嵌套调用 77
4.4.2 函数的递归调用 78
4.5 变量的类别 83
4.5.1 变量的作用域 83
4.5.2 变量的存储类型 85
习题 90
第5章 数组和字符串 94
5.1 一维数组 94
5.1.1 一维数组的概念 94
5.1.2 一维数组的应用 96
5.2 二维数组 106
5.2.1 二维数组的概念 106
5.2.2 二维数组的应用 108
5.3 字符串 111
5.3.1 字符数组 111
5.3.2 字符串的输入/输出 113
5.3.3 字符串处理函数 115
习题 124
第6章 指针 127
6.1 地址与指针 127
6.2 指针变量 128
6.2.1 指针变量的定义 128
6.2.2 指针变量初始化 128
6.3 指针运算 129
6.3.1 指针移位运算 129
6.3.2 指针关系运算 129
6.3.3 指针引用指向对象的值 129
6.4 指针与数组 130
6.4.1 指向一维数组的指针 131
6.4.2 指向二维数组的指针 133
6.4.3 行指针 134
6.4.4 指针数组 136
6.4.5 指向字符串的指针 136
6.5 函数传地址调用 138
6.5.1 变量地址作为函数实参 138
6.5.2 一维数组作为函数实参 139
6.5.3 二维数组作为函数实参 140
6.5.4 返回指针变量的函数 143
6.6 二级指针 144
6.6.1 二级指针的概念 144
6.6.2 二级指针与指针数组 145
6.7 动态内存分配 146
6.7.1 malloc()函数 146
6.7.2 calloc()函数 146
6.7.3 realloc()函数 147
6.7.4 free()函数 147
习题 149
第7章 结构体 153
7.1 结构 153
7.1.1 结构类型的建立 153
7.1.2 结构变量的定义及初始化 155
7.1.3 结构变量的引用 157
7.1.4 用typedef自定义类型 160
7.2 结构数组 161
7.2.1 结构数组的定义及初始化 161
7.2.2 结构数组的引用 162
7.3 结构指针 164
7.3.1 结构指针的定义及初始化 164
7.3.2 结构指针的引用 165
7.3.3 结构体与函数 165
7.4 链表 167
7.4.1 链表的概念 167
7.4.2 链表的建立 169
7.4.3 链表的插入和删除 170
习题 171
第8章 文件 174
8.1 文件概述 174
8.1.1 文本文件 174
8.1.2 二进制文件 175
8.1.3 缓冲区文件与非缓冲区文件 175
8.2 文件指针和文件的打开与关闭 176
8.2.1 定义文件指针 177
8.2.2 文件的打开与关闭 177
8.3 顺序读/写文件函数 179
8.3.1 按字符格式读/写文件 179
8.3.2 按字符串格式读/写文件 183
8.3.3 按数据格式读/写文件 185
8.3.4 按数据块读/写文件 186
8.4 随机读/写控制函数 189
8.4.1 fseek()函数 189
8.4.2 ftell()函数 190
8.4.3 rewind()函数 190
习题 192
第9章 AIGC编程 195
9.1 认识AIGC编程 195
9.1.1 AIGC编程应用 195
9.1.2 AIGC编程工具 196
9.2 AIGC编程环境安装与配置 198
9.2.1 Visual Studio Code的安装与配置 198
9.2.2 在VS Code中安装C语言 201
9.2.3 在VS Code中安装通义灵码 203
9.3 C语言的AIGC编程应用 204
9.3.1 自然语言生成C语言代码 204
9.3.2 C语言代码的续写与补全 207
9.3.3 C语言代码的注释与解释 210
9.3.4 C语言代码的查错与优化 214
9.3.5 生成单元测试 217
习题 218
参考文献 221
- 控制器件(第三版) [主编 鲁兴举]
- 人工智能与信息素养 [主编 吴华光 房宜汕]
- 智能多媒体技术 [主编 陈萍 刘灵傲]
- 云南异龙湖无机碳埋藏的近现代模式研究 [李平 著]
- 基于多模态的人脸图像生成算法与关键技术 [罗晓东 著]
- 应用型地方本科高校教师专业发展研究 [吴丽 著]
- 高维数据特征筛选策略与算法 [陈念 著]
- 外贸英语从入门到实战:53种实战场景秒变谈判高手 [张乐 廖熠 编著]
- Linux系统管理(openEuler版) [主编 许兴鹍 黄君羡]
- Python程序设计项目化教程(基于AI) [主编 禹晨 赵金考 王宏斌]
- 可编程控制器应用项目化教程(三菱FX系列) [主编 姜文雍 李东方]
- 全球英文电影精选:看电影学英文 [张颖 编译]
- Python程序设计与网络爬虫 [黄海辉 彭新东]
- 实体店创业分析实务 [燕艳 陈文冬 编著]
- 中国对欧盟OFDI效率与风险的多维度实证评估—基于KK-SFA模型与PCF-聚类分析方法 [黄健钧 著]
- 生成式人工智能素养 [邱有春 罗明全]
- 系统分析师考试32小时通关(适配第2版考纲) [薛大龙 邹月平]
- Ansys DesignModeler参数化特征建模与仿真指南 [蔡宜时 编著]
- 浙江省山区县共富工坊建设的现状与对策 [徐骏骅 著]
- 计算机网络技术及应用(第3版) [主编 刘永华 陈瑶]
- 北京冬奥精神传承和发展研究 [顾春雨 邹新娴 等 著]
- 汽车营销理论与实务(第三版) [主编 赵培全]
- 人工智能基础与实践 [禹晨 赵金考 王宏斌 李璐]
- 系统分析师5天修炼(适配第2版考纲) [施游 邹汉斌 黄少年 主编]
- 线性代数(第二版) [惠小健 贺艳琴 夏斌湖]
- 微控制器系统设计(STM32版) [主编 杨凌]
- 机械原理与机械设计作业集(第二版) [主编 田亚平 李爱姣]
- 高剑父的现代国画研究 [陈水兴 著]
- 用英语介绍中国江河湖海 [庞彦杰 李静 赵娟 刘桂杰 编]
- 大学生创新创业基础(第2版) [主编 姜国权 方邡]

