C语言程序设计
书号:9787113319021 套系名称:“十四五”普通高等院校新形态一体化系列教材
作者:季春颖 李林 出版日期:2025-07-01
定价:59.80 页码 / 开本:无 /16
策划编辑:徐海英 责任编辑:王春霞 贾淑媛
适用专业:计算机类 适用层次:高等教育
最新印刷时间:
-
本书作为程序设计课程的教材,在内容上由浅入深,循序渐进,在结构上注重知识体系的系统性、连贯性及完整性,帮助读者更加轻松地掌握 C 语言的编程。全书共分 11 章:第 1 章主要介绍 C 语言的开发环境,使读者从感知上认识 C 语言的基本结构,第 2 章详细讲解 C 语言的基础知识,第 3、4 章介绍了 C 语言的两种结构设计,第 5~10 章介绍了数组、函数、指针、结构体、文件、编译预处理等,第 11章介绍了位运算。 本书体系合理、概念清晰、讲解详细,适合作为高等学校的专业教材,也适合读者自学,同时还可以作为全国计算机等级考试的教材和参考书。
-
在当今科技飞速发展的时代,人工智能技术正以前所未有的速度改变着世界。而编程作为实现人工智能算法和应用的核心手段,其重要性也日益凸显。C 语言,作为一门经典且功能强大的编程语言,凭借其高效性、灵活性和对底层硬件的强大控制能力,在人工智能领域依然占据着不可或缺的地位。 本书全面贯彻党的二十大精神,注重课程思政,将思政元素融入教材,结合现实生活和具体事例培养读者的科学精神、创新意识、诚信品质、责任担当、团队协作和爱国情操等综合素质。 本书旨在为读者提供一本既涵盖 C 语言基础编程知识、又紧密结合人工智能应用特色的教材,帮助读者在掌握 C 语言编程技能的同时,能够初步了解人工智能的基本概念和算法,为进一步深入学习人工智能相关技术奠定坚实的基础。 教材特色 1. 例题丰富,讲解详细 本书的例题分为两种类型:一种是基本知识型;另一种是拓展应用型。本书例题讲解详细,通过对问题的分析引导,找出解决问题的关键,并注重培养读者良好的编程习惯,强化解决问题的科学过程和手段,培养严谨思考和解决问题的能力。 2. 基础与前沿并重 本书在系统介绍 C 语言基础知识的同时,结合人工智能领域的特点,引入了与人工智能密切相关的编程案例和算法实现,让读者在学习 C 语言的过程中,能够直观地感受到 C 语言在人工智能应用中的强大作用。 3. 案例驱动教学 为了使读者更好地理解和应用所学知识,本书采用了大量的实际案例进行讲解。读者可以学习到如何运用 C 语言解决实际问题,从而提高自己的编程能力和解决实际问题的能力。 4. 注重实践操作 编程是一门实践性很强的学科,只有通过大量的实践操作才能真正掌握编程技能。本书在每个章节都安排了丰富的实践练习,包括编程题、实验项目等,让读者在实践中巩固所学知识,提 高编程水平。 5. 融入人工智能思维 除了传授 C 语言编程知识和技能外,本书还注重培养读者的人工智能思维。在讲解案例和算法时,引导读者从人工智能的角度去思考问题,理解算法的设计思路和实现原理,培养创新思维能力。 本书由汉口学院的季春颖、李林主编,王毅超、秦德明、李创举、周盛飞任副主编,具体分工如下:季春颖编写第 1 章、第 8 章、第 10 章、第 11 章;秦德明编写第 2 章、第 5 章;王毅超编写第 3 章、第 4 章;周盛飞编写第 6 章;李创举编写第 7 章;李林编写第 9 章。 本书附有例题讲解的微课视频,可通过扫描二维码观看,另外,本书还配有电子课件、教学大纲及习题答案等,读者可登录中国铁道出版社教育资源平台 https://www.tdpress.com/51eds 下载。 由于编者水平有限,疏漏之处在所难免,恳请广大读者批评指正。 编 者 2025 年 3 月
-
第 1 章 C 语言程序设计概述 1 1.1 计算机程序设计的基本概念 1 1.1.1 计算机系统的基本组成 1 1.1.2 程序的概念 2 1.1.3 结构化程序设计 3 1.2 程序设计语言 5 1.2.1 程序设计语言发展历程 5 1.2.2 高级语言的发展历程 5 1.2.3 C 语言的发展历程 6 1.2.4 C 语言的主要特点 7 1.3 C 语言程序的基本组成 8 1.4 C 语言的开发流程和开发工具 9 1.4.1 C 语言的开发流程 9 1.4.2 C 语言的开发工具 10 小结 12 习题 12 第 2 章 C 语言程序设计基础 14 2.1 数据与进制 14 2.1.1 数据表示的常用进制 14 2.1.2 进制转换 15 2.1.3 原码、反码和补码 17 2.2 数据类型 19 2.2.1 数据类型的意义 19 2.2.2 C 语言数据类型分类 19 2.3 标识符、常量与变量 21 2.3.1 标识符 21 2.3.2 常量 22 2.3.3 变量定义与赋值 25 2.4 数据类型转换 26 2.4.1 隐式转换 26 2.4.2 显式转换 27 2.5 运算符与表达式 27 2.5.1 算术运算符与算术表达式 27 2.5.2 赋值运算符与赋值表达式 29 2.5.3 逗号运算符与逗号表达式 31 2.6 数据的输入 / 输出 32 2.6.1 格式化输入函数 32 2.6.2 格式化输出函数 33 2.6.3 输入 / 输出复杂格式控制 34 2.6.4 字符输入函数 36 2.6.5 字符输出函数 36 2.7 程序举例 37 小结 39 习题 40 第 3 章 选择结构程序设计 42 3.1 程序的基本结构 42 3.2 顺序结构程序设计 44 3.2.1 赋值语句 44 3.2.2 顺序结构程序 44 3.3 运算符与表达式 45II C 语言程序设计 3.3.1 关系运算符与关系表达式 45 3.3.2 逻辑运算符与逻辑表达式 46 3.3.3 条件运算符与条件表达式 48 3.4 if 选择结构语句 49 3.4.1 单分支 if 语句 49 3.4.2 双分支 if...else 句 51 3.4.3 多分支 if...else if...else 语句 53 3.4.4 if...else 嵌套语句 55 3.5 switch 选择结构语句 57 3.6 程序举例 59 小结 63 习题 63 第 4 章 循环结构程序设计 67 4.1 while 循环语句 67 4.2 do...while 循环语句 69 4.3 for 循环语句 71 4.4 嵌套循环语句 74 4.5 循环控制语句 76 4.5.1 continue 语句 76 4.5.2 break 语句 78 4.5.3 continue 语句与 break 语句的区别 79 4.6 程序举例 79 小结 84 习题 84 第 5 章 数组 88 5.1 数组的基本概念 88 5.2 一维数组 89 5.2.1 一维数组的定义 89 5.2.2 一维数组元素的引用 91 5.2.3 一维数组的初始化 92 5.3 二维数组 94 5.3.1 二维数组的定义 94 5.3.2 二维数组元素的引用 95 5.3.3 二维数组的初始化 96 5.4 多维数组的定义 97 5.5 字符数组 98 5.5.1 字符数组的定义 98 5.5.2 字符数组的初始化 98 5.5.3 字符串的输入和输出 100 5.6 常用的字符串处理函数 101 5.7 程序举例 104 小结 109 习题 110 第 6 章 函数 115 6.1 概述 115 6.1.1 函数的分类 115 6.1.2 函数的定义 117 6.1.3 函数与程序模块 119 6.2 函数调用及参数传递 121 6.2.1 函数调用 121 6.2.2 参数的传递 122 6.2.3 函数的返回值 123 6.2.4 函数声明 124 6.3 函数的嵌套调用与递归调用 125 6.3.1 函数的嵌套调用 125 6.3.2 函数的递归调用 126 6.4 数组作为函数参数 127 6.5 局部变量与全局变量 129 6.5.1 局部变量 130 6.5.2 全局变量 131 6.6 变量的存储类别 133 6.6.1 变量的静态存储与动态存储 133 6.6.2 auto 变量 133 6.6.3 static 变量 134 6.6.4 register 变量 135 6.6.5 extern 变量 136 6.7 内部函数和外部函数 137 6.8 程序举例 139 小结 142 习题 143 第 7 章 指针 146 7.1 指针与指针变量 146 7.1.1 地址和指针 146 7.1.2 直接访问和间接访问 147 7.1.3 指针变量 147 7.1.4 指针变量作为函数参数 148 7.2 指针变量与数组 151 7.2.1 指向一维数组的指针 151 7.2.2 用数组名作函数参数 152 7.2.3 指向二维数组的指针 154 7.3 指针数组 156 7.4 指针变量与字符串 159 7.4.1 字符串的引用 159 7.4.2 字符指针变量作函数形参 160 7.4.3 使用字符指针变量和字符数组的 比较 161 7.5 指针与函数 161 7.5.1 指向函数的指针 161 7.5.2 返回指针值的函数 165 7.6 程序举例 167 小结 173 习题 173 第 8 章 结构体 178 8.1 结构体类型的定义与结构体变量 178 8.1.1 结构体类型的定义 178 8.1.2 结构体变量的定义 181 8.1.3 结构体变量的赋值 183 8.1.4 结构体变量的引用 184 8.1.5 用 typedef 定义类型 186 8.2 结构体数组 189 8.2.1 结构体数组的定义 189 8.2.2 结构体数组的初始化和引用 189 8.3 结构体指针 192 8.3.1 结构体指针变量的定义和引用 192 8.3.2 指向结构体数组的指针变量 193 8.4 链表 195 8.4.1 链表的概念 195 8.4.2 创建静态链表 196 8.4.3 创建动态链表 198 8.5 共用体类型 205 8.5.1 创建共用体类型 205 8.5.2 引用共用体变量 206 8.6 枚举 208 8.6.1 枚举类型的定义 208 8.6.2 枚举变量的使用 209 8.7 程序举例 210 小结 217 习题 217 第 9 章 文件操作 223 9.1 概述 223 9.1.1 文件及分类 223 9.1.2 文件操作过程 225 9.1.3 文件缓冲区 225IV C 语言程序设计 9.1.4 文件类型指针 226 9.2 打开和关闭文件 226 9.2.1 打开文件 227 9.2.2 关闭文件 228 9.3 顺序读写文件 229 9.3.1 文件位置指针 229 9.3.2 判断文件结束函数 230 9.3.3 文件读写函数 230 9.4 随机读写文件 238 9.4.1 rewind() 函数 238 9.4.2 fseek() 函数 238 9.4.3 ftell() 函数 239 9.5 文件出错处理 241 9.5.1 ferror() 函数 241 9.5.2 clearerr() 函数 241 9.6 程序举例 242 小结 244 习题 245 第 10 章 编译预处理 249 10.1 宏定义 249 10.1.1 不带参数的宏定义 249 10.1.2 带参数的宏定义 251 10.2 #include 命令 253 10.3 程序举例 255 小结 256 习题 257 第 11 章 位运算 260 11.1 逻辑位运算符 260 11.2 移位运算符 263 小结 265 习题 265 附录 268 参考文献 274
-
季春颖,女,汉口学院计算机科学与技术学院 计算机科学与技术专业专任教师;主讲课程:C语言程序设计,WEB前端开发,C程序设计等;承担校级教改项目“基于新经济形态下应用型人才培养的PBL教学模式在《高级语言程序设计》中的应用”;承担校级课程思政示范课程《高级语言程序设计》的课程建设。 李林,男,硕士,教授。从事计算机专业教学20年,主编、参编教材12本。在高等院校课程教学质量与评价研究方向有特长。
-
本书配有丰富的立体化资源。
