程序设计基础(C语言版)
书号:9787113313012 套系名称:普通高等院校“十四五”计算机基础系列教材
作者:连卫民 杨娜 出版日期:2024-08-01
定价:49.80 页码 / 开本: /16
策划编辑:韩从付 责任编辑:贾星
适用专业:计算机基础教育 适用层次:高等教育
最新印刷时间:2024-08-01
-
本书为普通高等院校“十四五”计算机基础系列教材之一,按照普通高等院校C语言通识课程的教学标准编写,通过大量实例介绍C语言的基本概念、语法结构、方法和技巧。 全书共12章,包括C语言的基本语法知识、三种基本结构的程序设计、数组、函数、指针、结构体与其他构造类型、编译预处理、文件以及综合项目实训等内容。另外,每章配有大量的例题与习题,重要知识点配有视频讲解,以便于读者巩固所学知识,掌握程序设计的基本方法与编程技巧。为了提高编程水平,本书最后一章给出了一个综合实训项目作为综合实践学习的内容。 本书适合作为高等院校C语言程序设计课程教材,也可作为C语言程序设计爱好者的自学参考书。
-
程序设计基础是高等院校一门重要的计算机基础课程,它以编程语言为依托,讲解程序设计的思想、方法和技术内涵,加强读者应用程序设计语言解决实际问题的能力。党的二十大明确提出,“实施科教兴国战略,强化现代化建设人才支撑”。科学技术、经济、文化和军事的发展都需要各类人才具备良好的信息技术素质,其中包括能够熟练地操作计算机,并会用计算机语言进行编程。 C语言自诞生以来,一直是全世界使用最广泛的计算机编程语言之一,它是一种功能强大、数据类型丰富、使用灵活方便、执行效率高、可移植性好的结构化程序设计语言。它既具有高级语言易学易会的特点,又具有低级语言对硬件编程的特点,既适用于编写系统软件,又能用来编写应用软件。目前绝大多数高校都将C语言作为学生学习程序设计基础的入门语言。 本书总结了编者多年的教学经验和多种同类教材的优点,采用“以用促学”的编写原则,即通过编写实际应用程序案例来学习C语言抽象的标准和规则。本书在内容上强调逻辑性,更注重介绍学习方法,使学生能根据例题举一反三。在编写过程中,本书力求做到体系结构合理、实例丰富,强调语言的规范和程序设计的方法与技巧,注重培养学生程序设计的思维方式和提高学生程序开发的能力。为使学生更好地理解和掌握C语言程序设计的基本概念、编程方法和技巧,本书精选了大量例题,并给出分析和解答。每章配有重要知识点视频讲解、实训案例和练习题,方便学生学习、总结和上机训练,最后通过一个综合项目实训来提升学生的编程实践能力。 本书共分12章。第1章为C语言概述,主要对程序设计语言的发展、C语言程序设计的发展和开发过程做了介绍;第2章为数据类型、运算符和表达式,对基本类型、常用的运算符以及类型转换做了介绍;第3章为顺序结构程序设计,主要对数据的输入和输出做了介绍;第4章为分支结构程序设计,结合关系运算符、逻辑运算符及条件运算符,对if语句和switch语句进行了介绍;第5章为循环结构程序设计,介绍了for循环、while循环、do…while循环等循环语句以及循环跳转语句的用法,并讨论了循环嵌套的用法;第6章为数组,介绍了一维数组、二维数组和字符数组及字符串的用法;第7章为函数,介绍了函数的定义和调用,递归函数以及变量的作用域等内容;第8章为指针,介绍了指针的基本概念、指针与函数、指针与数组以及动态内存分配的用法;第9章为结构体与其他构造类型,主要介绍了结构体的概念、结构体变量的定义和使用以及链表,同时介绍了共用体和枚举类型的使用方法;第10章为编译预处理,介绍了宏定义、文件包含及条件编译;第11章为文件,介绍了文件的分类和基本操作;第12章为综合项目实训,用一个综合案例将前面介绍的C语言知识进行综合运用。 本书主要特色如下: 1.校企合作编写。本书由河南牧业经济学院与北京打造前程互联网教育科技有限公司以及来自移动通信等行业的企业科研人员共同合作编写,所选案例突出实用性、多学科性,注重实践和创新能力培养。 2.落实立德树人根本任务,德育引领贯穿全书,课程思政、专业教育与创新思维教育有机融合。 3.配套资源丰富。本书提供PPT课件、微视频、教材、习题及上机源程序等丰富的配套资源,可以在中国铁道出版社教育资源数字化平台(https://www.tdpress.com/51eds/)下载使用。 参与本书编写的教师,大多都是多年来从事计算机程序设计课程教学的一线教师,他们积累了丰富的知识和教学经验,书中的许多知识就是他们教学经验的总结。本书由连卫民、杨娜担任主编,申玉斌、郭永锋、李奇担任副主编,姜凤茹、李攀、石嘉、梁衡和过李峤参与编写。具体编写分工如下:李奇编写第1章和第2章,姜凤茹编写第3章,杨娜编写第4章和第5章,郭永锋编写第6章和第7章,李攀编写第8章,申玉斌编写第9章,过李峤编写第10章,梁衡编写第11章、全书习题和附录部分,石嘉编写第12章。连卫民、杨娜负责制定编写大纲,并负责统稿和定稿工作。 本书在编写过程中,得到了河南牧业经济学院、郑州轻工业大学、中国铁道出版社有限公司的大力支持,在此表示感谢。 由于编者水平有限,书中不妥之处在所难免,敬请各位读者批评指正。 编 者 2024年4月
-
第1章 C语言概述 1 1.1 程序和程序设计语言 1 1.1.1 程序 1 1.1.2 程序设计语言的发展 1 1.2 C语言简介 3 1.2.1 C语言的产生和发展 3 1.2.2 C语言的特点 4 1.3 C语言程序的结构 5 1.4 C语言程序开发过程 6 1.5 开发环境搭建 7 1.5.1 集成开发环境 8 1.5.2 安装Dev-C++ 8 1.5.3 使用Dev-C++编写第一个程序 10 1.5.4 调试程序 12 1.6 C语言的编程风格 15 习题1 17 第2章 数据类型、运算符和表达式 18 2.1 数据类型 18 2.2 常量 19 2.2.1 字面常量 19 2.2.2 符号常量 21 2.2.3 const常量 22 2.3 变量 23 2.3.1 变量的概念 23 2.3.2 标识符及其命名规则 23 2.3.3 变量的声明与初始化 24 2.3.4 整型变量 25 2.3.5 布尔变量 27 2.3.6 实型变量 27 2.3.7 字符型变量 28 2.4 数据的基本运算 29 2.4.1 算术运算符和算术表达式 30 2.4.2 赋值运算符和赋值表达式 32 2.4.3 逗号运算符 33 2.5 数据类型转换 34 2.5.1 系统自动转换 34 2.5.2 强制类型转换 35 习题2 35 第3章 顺序结构程序设计 38 3.1 数据的输入输出 38 3.1.1 格式化输出函数printf() 38 3.1.2 格式化输入函数scanf() 44 3.1.3 字符的输入输出函数——getchar()和putchar() 46 3.2 数学库函数 47 3.3 顺序结构程序设计示例 49 习题3 52 第4章 分支结构程序设计 56 4.1 关系、逻辑运算符和表达式 56 4.1.1 关系运算符和关系表达式 56 4.1.2 逻辑运算符和逻辑表达式 57 4.2 if语句 59 4.2.1 单分支if语句 59 4.2.2 双分支if语句 60 4.2.3 多分支if语句 62 4.2.4 条件运算符和表达式 64 4.2.5 复合语句 65 4.3 switch语句 66 4.3.1 switch语句的用法 66 4.3.2 switch语句和多分支if语句 69 4.4 分支结构程序设计示例 69 习题4 73 第5章 循环结构程序设计 76 5.1 循环结构概述 76 5.2 自增和自减运算符 77 5.3 while语句 78 5.3.1 while语句的格式 78 5.3.2 while语句的执行过程 78 5.3.3 while语句的用法 79 5.4 for语句 81 5.4.1 for语句的格式 81 5.4.2 for语句的执行过程 82 5.4.3 for语句的用法 83 5.5 do…while语句 85 5.5.1 do…while语句的格式 85 5.5.2 do…while语句的执行过程 85 5.5.3 do…while语句的用法 85 5.5.4 三种循环语句比较 86 5.6 循环跳转语句 87 5.6.1 break语句 87 5.6.2 continue语句 88 5.6.3 goto语句 89 5.7 多层循环 90 5.7.1 多层循环的格式 90 5.7.2 多层循环的执行过程 90 5.7.3 多层循环的使用 91 5.8 循环结构程序设计示例 93 习题5 97 第6章 数组 100 6.1 一维数组 100 6.1.1 一维数组的定义 101 6.1.2 一维数组的使用 102 6.1.3 一维数组程序设计示例 104 6.2 二维数组 108 6.2.1 二维数组的定义 108 6.2.2 二维数组的使用 110 6.2.3 二维数组程序设计示例 112 6.3 字符数组和字符串 113 6.3.1 字符数组的定义 113 6.3.2 字符串的初始化 114 6.3.3 字符串的输入和输出 115 6.3.4 字符串函数的使用 115 6.3.5 字符数组程序设计示例 117 习题6 119 第7章 函数 123 7.1 函数概述 123 7.1.1 函数的概念 123 7.1.2 函数的分类 124 7.2 函数的使用 125 7.2.1 函数的定义和声明 125 7.2.2 函数的调用 127 7.3 函数的参数传递 128 7.3.1 值传递 128 7.3.2 地址传递 129 7.4 函数的嵌套和递归调用 130 7.4.1 函数的嵌套调用 130 7.4.2 函数的递归调用 131 7.5 变量的作用域 134 7.5.1 局部变量 134 7.5.2 全局变量 136 7.6 变量的存储类别 138 7.7 内部函数与外部函数 139 7.7.1 内部函数 140 7.7.2 外部函数 140 7.7.3 多文件编程 141 7.8 函数程序设计示例 143 习题7 149 第8章 指针 151 8.1 指针概述 151 8.1.1 指针和地址 151 8.1.2 指针变量 152 8.1.3 指针运算 155 8.2 指针与函数 157 8.2.1 指针作为函数的参数 157 8.2.2 返回指针值的函数 159 8.2.3 指向函数的指针 160 8.3 指针与数组 161 8.3.1 指针和一维数组 161 8.3.2 指针和二维数组 166 8.3.3 指针和字符串 168 8.4 指针数组与多级指针 171 8.4.1 指针数组 171 8.4.2 多级指针 173 8.5 动态内存分配 174 8.5.1 动态内存分配的定义 174 8.5.2 动态内存的分配和释放 174 8.6 指针程序设计案例 176 习题8 179 第9章 结构体与其他构造类型 182 9.1 结构体 182 9.1.1 结构体类型的定义 182 9.1.2 结构体变量的定义与使用 184 9.1.3 结构体数组的定义与使用 189 9.1.4 结构体指针的定义与使用 194 9.2 共用体 199 9.2.1 共用体类型和共用体变量的定义 199 9.2.2 共用体变量的引用 200 9.3 枚举类型 204 9.3.1 枚举类型的定义 204 9.3.2 枚举变量的使用 204 9.4 类型定义符typedef 207 9.5 链表 207 9.5.1 单链表的结构 208 9.5.2 单链表的建立与输出 209 9.5.3 单链表的插入与删除 212 习题9 214 第10章 编译预处理 218 10.1 宏定义 218 10.1.1 不带参数的宏定义 218 10.1.2 带参数的宏定义 220 10.2 文件包含 222 10.3 条件编译 224 习题10 226 第11章 文件 228 11.1 文件概述 228 11.1.1 文件的定义 228 11.1.2 文件的分类 229 11.2 文件指针 229 11.3 文件的打开与关闭 231 11.3.1 文件打开函数 231 11.3.2 文件关闭函数 232 11.3.3 缓冲区更新函数 233 11.4 文件的读写 233 11.4.1 字符读写函数 233 11.4.2 字符串读写函数 235 11.4.3 数据块读写函数 236 11.4.4 格式化读写函数 237 11.5 文件的定位 237 11.5.1 重新返回函数 237 11.5.2 文件定位函数 237 11.6 文件状态检测函数 238 11.6.1 文件结束检测函数 238 11.6.2 读写文件出错检测函数 238 11.6.3 文件出错标志和文件结束标志函数 238 11.6.4 文件指针当前位置检测函数 238 11.7 文件程序设计示例 239 11.7.1 文件的建立 239 11.7.2 文件的修改 241 11.7.3 文件的复制 242 习题11 243 第12章 综合项目实训 246 12.1 图书管理系统需求分析 246 12.2 系统设计 246 12.2.1 功能模块图 247 12.2.2 数据结构设计 248 12.3 系统实现 249 12.3.1 程序设计包含的头文件及子函数 249 12.3.2 程序设计流程图 249 12.3.3 单元函数详细列表 251 12.4 系统测试 278 12.5 项目总结 281 习题12 281 附录A 常用字符与ASCII码对照表 282 附录B C语言常用库函数 283 附录C C语言关键字 286 附录D 运算符的优先级与结合性 286 附录E 部分习题参考答案 286 参考文献 286
-
连卫民,男,教授,河南牧业经济学院信息工程学院(软件学院)院长,兼任河南省计算机学会理事、郑州市计算机学会副会长、河南省高等学校计算机教育研究会常务理事、河南省服务外包协会常务理事,河南软件行业协会专家委员会成员;省级学术带头人,专业研究方向为软件工程,主要教授课程“程序设计基础”等课程,主编教材《大学信息技术》《数字农牧业技术》《办公自动化》等。 杨娜,女,副教授,河南牧业经济学院ACM集训队负责人及指导老师。主要教授课程“程序设计基础”,指导学生参加蓝桥杯、ICPC河南省大学生程序设计竞赛、CCPC河南省大学生程序设计竞赛等比赛,多次获得一等奖、二等奖和三等奖。发表论文10余篇,其中中文核心8篇,主持厅级课题4项,其中获得一等奖2项,主编教材5部。
-
1. 校企作编写,所选案例突出实用性、多学科性,注重实践和创新能力培养。 2.落实立德树人根本任务,德育引领贯穿全书,课程思政、专业教育与创新思维教育有机融合。 3.配套资源丰富。本书提供PPT课件、微视频、习题及上机源程序等丰富的配套资源,可以在中国铁道出版社教育资源数字化平台(https://www.tdpress.com/51eds/)下载使用。
