计算机类教材 > 算法与程序设计
C语言程序设计(第五版)
书号:9787113303464 套系名称:普通高等教育“十一五”国家级规划教材
作者:恰汗·合孜尔 出版日期:2023-08-01
定价:54.00 页码 / 开本:0 /16
策划编辑:刘丽丽 责任编辑:刘丽丽 王占清
适用专业:计算机基础教育 适用层次:高等教育
最新印刷时间:2023-08-01
资源下载
教学课件
教学素材
习题答案(暂无)
教学案例(暂无)
教学设计
教学视频(暂无)
教材资源
内容简介
前言
目录
作者介绍
图书特色
本书根据普通高等学校“C 语言程序设计”课程要求,本着“固化原有特色,优化完善成果”的原则编写而成。全书共10章,主要包含语法基础、顺序结构、选择结构、循环结构、数组、函数与编译预处理命令、指针、构造数据类型、文件以及位运算等内容。 本书结构清晰,由浅入深,精选例题,结合实际,行文流畅,图文并茂。书中的例题和程序都有详细的讲解和注释,部分程序附有流程图或N-S图。与本书配套的辅助教材《C语言程序设计习题集与上机指导》(第五版)同步出版。为适应并普及信息化教学的新常态,本书配套的线上线下混合模式教学资源建设在智慧树平台上,对接国家高等教育智慧教育平台。此外,本书还提供了主教材和辅助教材中所有程序的源代码等教学资源。 本书适合作为高等院校“C语言程序设计”课程的教材及参考书,也可作为全国计算机等级考试指导书。 ?
C语言功能丰富,编程灵活方便,目标代码执行效率高,程序结构性强,可移植性好。C语言既可以用于编写应用程序,也可以用于编写系统软件。一直以来,C语言程序设计在高校得到重视和普及,被列为理工科专业学生的必修基础课,也是全国计算机等级考试的主要科目。 本书的第一版于2005年8月由中国铁道出版社出版发行,第二版于2008年12月出版发行,第三版于2010年3月出版发行并被评为普通高等教育“十一五”国家级规划教材,2014年9月出版发行了第四版,累计印刷19次。 本书的第四版主要有以下四个方面的特色: (1)结构清晰,由浅入深,精选例题,结合实际,行文流畅,图文并茂。 (2)重视学生全面掌握C语言程序设计的基础知识、基本概念、基本思想、编程方法,培养学生养成良好的程序书写风格,为后续计算机课程的学习奠定基础和逻辑思维能力。 (3)部分程序附有流程图或N-S图,这样既便于老师讲授,也有助于学生理解较抽象的知识点和理清逻辑关系。 (4)每章都有引言、小结和精选习题,以便于学生抓住要领和进一步巩固知识点。 此次改版基于使用本书多年教学积累的实践经验,本着“固化原有特色,优化完善成果”的编写原则,对第四版重点做了以下五个方面改进: (1)进一步精练语言,力求概念严谨准确,讲解细致透彻。 (2)更新了部分例题,剔除了难度较高以及对数学知识要求较高的例题,取而代之选择了一些易理解而又典型的例题;充实了结合实践的例题,将知识点与例题结合起来。 (3)为了方便教师教学和读者学习,提供了丰富的教学资源:一是C语言程序设计是一门实践性很强的课程,上机实验是一个十分重要的环节,为此,重视实践教学,同步出版发行了配套辅助教材《C语言程序设计习题集与上机指导》(第五版),旨在将理论教学与实践教学有机结合,互为补充、形成整体;二是为了适应并普及信息化教学的新常态,在智慧树平台建成了与本书配套的慕课, 慕课资料包括:教学视频、弹题、章测试题、讨论题、期末试卷和补考试卷,所有这些题与本书和配套辅助教材中的例题和习题不重复;另外,将慕课视频通过二维码嵌入到了本书中;三是提供与本书配套的教学课件;四是本书和配套辅助教材中的所有程序均在Microsoft Visual C++ 2010学习版环境下调试通过,其源代码可到中国铁道出版社有限公司教育资源数字化平台http://www.tdpress.com/51eds下载专区下载。源代码既便于教师教学时演示,也便于读者对程序的分析和理解。 (4)重视将思政教育元素融入本书内容建设中。提供了融入思政元素的教学大纲,同时为落实党的二十大精神“三进”工作,编者结合“C语言程序设计”课程的特点,将二十大精神有效转化,使其自然而准确地融入本书知识点讲解中。 (5)增加实验项目数量的同时,进一步优化调整了实验项目的内容、形式和难易度。配合本书各章节的内容,在配套辅助教材中安排了共计69个实验项目,各高校可根据教学课时数来确定教学内容以及相应的实验内容。 本书内容共分为10章。第1章概要论述C语言以及在Microsoft Visual C++ 2010学习版环境下如何运行C语言程序。第2章论述C语言的语法基础以及顺序结构程序设计的基本方法。第3章论述选择结构程序设计的基本语句以及使用选择结构编写程序。第4章论述循环结构程序设计的基本语句以及使用循环结构编写程序。第5章论述数组的概念以及使用数组编写程序。第6章论述函数的概念、变量的作用域和存储类别以及编译预处理命令。第7章论述指针及使用指针编写程序。第8章论述结构体、共用体、枚举类型、链表及其应用。第9章论述C文件的基础知识以及最基本的文件操作。第10章论述各种位运算及其运算规则。附录中给出了ASCII代码表、C语言常用数学库函数。 本书由恰汗?合孜尔任主编,安海兵、何晓冰、张继山任副主编。本书适合作为高等学校各专业“C语言程序设计”课程的教材及参考书,也可作为全国计算机等级考试指导书。 在编写本书的过程中,编者参阅了中外许多C语言程序设计教材和有关文献,现谨向这些教材和文献的作者表示衷心的感谢。 由于编者水平有限,书中难免存在疏漏与不妥之处,恳请同行和广大读者批评指正。 编?者 2023年5月 ?
第1章 C语言概述1 1.1 C语言简介 ......................................................................................................... 1 1.2 C语言程序的基本结构和书写风格 ..................................................................... 2 1.2.1 C语言程序的基本结构 .............................................................................................2 1.2.2 C语言程序的书写风格 .............................................................................................4 1.3 算法及算法的描述 .............................................................................................. 5 1.4 C语言程序的调试和运行步骤 ............................................................................ 7 1.5 在 Visual C++ 2010中运行C语言程序过程 ...................................................... 8 小结........................................................................................................................... 11 习题........................................................................................................................... 12 第 2 章 C语言基础及顺序结构程序设计 ............................................................................. 13 2.1 C语言的字符集 ................................................................................................ 13 2.2 C语言的关键字、标识符和保留标识符 ............................................................ 13 2.2.1 关键字 ......................................................................................................................13 2.2.2 标识符 ......................................................................................................................14 2.2.3 保留标识符 ..............................................................................................................14 2.3 C语言的数据类型 ............................................................................................ 14 2.4 常量 .................................................................................................................. 15 2.4.1 整型常量 ..................................................................................................................15 2.4.2 实型常量 ..................................................................................................................15 2.4.3 字符常量 ..................................................................................................................16 2.4.4 字符串常量 ..............................................................................................................17 2.4.5 符号常量 ..................................................................................................................17 2.5 变量 .................................................................................................................. 18 2.5.1 变量的概念 ..............................................................................................................18 2.5.2 变量的定义与初始化 ..............................................................................................18 2.5.3 整型变量 ..................................................................................................................19 2.5.4 实型变量 ..................................................................................................................19 2.5.5 字符变量 ..................................................................................................................20 2.6 C 语言的运算符和表达式 .................................................................................. 21 2.6.1 运算符 ......................................................................................................................21 2.6.2 表达式 ......................................................................................................................21 2.6.3 运算符的优先级和结合性 ......................................................................................22 2.7 C语言中最基本的运算符和表达式 ................................................................... 23 2.7.1 算术运算符和算术表达式 ......................................................................................23 2.7.2 赋值运算符和赋值表达式 ......................................................................................24 2.7.3 关系运算符和关系表达式 ......................................................................................25 2.7.4 逻辑运算符和逻辑表达式 ......................................................................................26 2.7.5 条件运算符和条件表达式 ......................................................................................28 2.7.6 逗号运算符和逗号表达式 ......................................................................................28 2.7.7 强制类型转换运算符 ..............................................................................................29 2.8 C语言的基本语句 ............................................................................................ 30 2.9 数据的输入与输出 ............................................................................................ 31 2.9.1 字符输入 / 输出函数 ...............................................................................................31 2.9.2 格式输出函数 ..........................................................................................................32 2.9.3 格式输入函数 ..........................................................................................................35 2.10 顺序结构程序设计 .......................................................................................... 36 2.11 程序举例 ......................................................................................................... 38 小结........................................................................................................................... 41 习题........................................................................................................................... 41 第 3 章 选择结构程序设计........................................................................................................44 3.1 if语句 ............................................................................................................... 44 3.1.1 if语句的三种形式 ...................................................................................................44 3.1.2 if语句的嵌套 ...........................................................................................................50 3.2 switch语句 ....................................................................................................... 53 3.3 程序举例 ........................................................................................................... 55 小结........................................................................................................................... 59 习题........................................................................................................................... 60 第 4 章 循环结构程序设计........................................................................................................ 63 4.1 循环的概念 ....................................................................................................... 63 4.2 while语句 ......................................................................................................... 63 4.3 do...while语句 .................................................................................................. 67 4.4 for语句 ............................................................................................................. 69 4.5 break语句和 continue语句 .............................................................................. 72 4.5.1 break语句.................................................................................................................72 4.5.2 continue语句 ............................................................................................................74 4.6 循环的嵌套 ....................................................................................................... 75 4.7 程序举例 ........................................................................................................... 78 小结........................................................................................................................... 82 习题........................................................................................................................... 82 第 5 章 数组...................................................................................................................................86 5.1 数组及数组元素的概念 ..................................................................................... 86 5.2 一维数组 ........................................................................................................... 86 5.2.1 一维数组的定义 ......................................................................................................86 5.2.2 一维数组元素的引用 ..............................................................................................87 5.2.3 一维数组的初始化 ..................................................................................................88 5.2.4 一维数组程序举例 ..................................................................................................88 5.3 二维数组 ........................................................................................................... 95 5.3.1 二维数组的定义 ......................................................................................................95 5.3.2 二维数组元素的引用 ..............................................................................................95 5.3.3 二维数组的初始化 ..................................................................................................95 5.3.4 二维数组程序举例 ..................................................................................................96 5.4 字符数组 ........................................................................................................... 99 5.4.1 字符数组的定义和初始化 ......................................................................................99 5.4.2 字符数组的输入 / 输出 .........................................................................................101 5.4.3 常用的字符串处理函数 ........................................................................................103 5.4.4 字符数组程序举例 ................................................................................................106 5.5 程序举例 ......................................................................................................... 109 小结......................................................................................................................... 110 习题......................................................................................................................... 110 第 6 章 函数与编译预处理命令..............................................................................................113 6.1 函数概述 ......................................................................................................... 113 6.1.1 模块化程序设计方法 ............................................................................................113 6.1.2 函数的分类 ............................................................................................................113 6.1.3 函数的定义 ............................................................................................................113 6.2 函数的调用与形参和实参 ................................................................................ 114 6.2.1 函数的调用方式 ....................................................................................................114 6.2.2 函数的原型声明 ....................................................................................................116 6.3 函数的参数传递方式与函数的返回值 .............................................................. 116 6.3.1 函数的参数传递方式 ............................................................................................116 6.3.2 函数的返回值 ........................................................................................................121 6.4 函数的嵌套调用与递归调用 ............................................................................ 122 6.4.1 函数的嵌套调用 ....................................................................................................122 6.4.2 函数的递归调用 ....................................................................................................123 6.5 变量的作用域与存储类别 ................................................................................ 125 6.5.1 局部变量和全局变量 ............................................................................................125 6.5.2 变量的动态和静态存储方式 ................................................................................128 6.5.3 局部变量的存储类别 ............................................................................................128 6.5.4 全局变量的存储类别 ............................................................................................130 6.6 内部函数和外部函数 ....................................................................................... 132 6.6.1 内部函数 ................................................................................................................132 6.6.2 外部函数 ................................................................................................................132 6.7 编译预处理命令 .............................................................................................. 132 6.7.1 宏定义 ....................................................................................................................133 6.7.2 文件包含 ................................................................................................................136 6.7.3 条件编译 ................................................................................................................137 6.8 程序举例 ......................................................................................................... 139 小结......................................................................................................................... 142 习题......................................................................................................................... 143 第 7 章 指针................................................................................................................................. 147 7.1 指针变量概述.................................................................................................. 147 7.1.1 指针变量与指针变量的定义 ................................................................................147 7.1.2 指针的运算符 ........................................................................................................149 7.1.3 指针变量的初始化 ................................................................................................149 7.1.4 指针变量的运算 ....................................................................................................152 7.2 指针与数组 ..................................................................................................... 152 7.2.1 指针与一维数组 ....................................................................................................152 7.2.2 指针与二维数组 ....................................................................................................154 7.3 指针与字符串.................................................................................................. 157 7.4 指针数组 ......................................................................................................... 159 7.5 指向指针的指针变量 ....................................................................................... 160 7.6 指针与函数 ..................................................................................................... 161 7.6.1 指针变量作为函数参数 ........................................................................................161 7.6.2 函数指针变量 ........................................................................................................165 7.6.3 指针函数 ................................................................................................................166 7.7 main()函数的返回值和参数 ............................................................................ 167 7.7.1 main()函数的返回值 .............................................................................................167 7.7.2 main()函数的参数 .................................................................................................167 7.8 程序举例 ......................................................................................................... 168 小结......................................................................................................................... 171 习题......................................................................................................................... 172 第 8 章 结构体和共用体.......................................................................................................... 175 8.1 结构体 ............................................................................................................ 175 8.1.1 结构体类型的定义 ................................................................................................175 8.1.2 结构体变量的定义 ................................................................................................176 8.1.3 结构体变量的引用 ................................................................................................177 8.1.4 结构体变量的赋值 ................................................................................................177 8.1.5 结构体变量的初始化 ............................................................................................178 8.1.6 结构体数组 ............................................................................................................178 8.1.7 指向结构体变量的指针 ........................................................................................181 8.2 动态存储分配与链表 ....................................................................................... 182 8.2.1 链表的概念 ............................................................................................................183 8.2.2 动态存储分配 ........................................................................................................184 8.2.3 创建动态链表和输出链表 ....................................................................................185 8.2.4 链表的基本操作 ....................................................................................................185 8.3 共用体类型 ..................................................................................................... 190 8.3.1 共用体类型的定义 ................................................................................................190 8.3.2 共用体变量的定义 ................................................................................................190 8.3.3 共用体变量成员的引用 ........................................................................................191 8.4 枚举类型 ......................................................................................................... 192 8.4.1 枚举类型的定义 ....................................................................................................192 8.4.2 枚举变量的定义 ....................................................................................................193 8.4.3 枚举变量的赋值和使用 ........................................................................................193 8.5 用 typedef定义类型........................................................................................ 194 8.6 程序举例 ......................................................................................................... 195 小结......................................................................................................................... 197 习题......................................................................................................................... 198 第 9 章 文件.................................................................................................................................201 9.1 文件的基本概念 .............................................................................................. 201 9.1.1 文件的分类 ............................................................................................................201 9.1.2 文件指针 ................................................................................................................202 9.2 文件的打开与关闭 .......................................................................................... 202 9.2.1 文件的打开函数 ....................................................................................................202 9.2.2 文件的关闭函数 ....................................................................................................203 9.3 文件的读/写 .................................................................................................. 204 9.3.1 文件的写函数 ........................................................................................................204 9.3.2 文件的读函数 ........................................................................................................206 9.4 文件的随机读/写 ........................................................................................... 208 9.5 文件检测函数.................................................................................................. 210 9.6 程序举例 ......................................................................................................... 211 小结......................................................................................................................... 212 习题......................................................................................................................... 212 第 10 章 位运算..........................................................................................................................215 10.1 位运算符和位运算 ........................................................................................ 215 10.1.1 位运算符 215 10.1.2 位运算符的运算作用 ..........................................................................................215 10.2 位段结构 ....................................................................................................... 219 10.2.1 位段的概念 ..........................................................................................................219 10.2.2 位段结构的定义和使用 ......................................................................................219 10.3 程序举例 ....................................................................................................... 220 小结......................................................................................................................... 221 习题......................................................................................................................... 221 附录 A 部分字符的 ASCII 码对照表..................................................................................223 附录 B C语言常用数学库函数.............................................................................................224 参考文献 225
恰汗·合孜尔,教授,现任新疆大学党委常委、副校长,在日本留学获得博士学位。先后承担软件工程、计算方法、C语言、C++语言等课程,主持完成了5项校级教研课题,获“新疆自治区教学名师”荣誉称号,本人负责的“C语言程序设计”课程入选新疆自治区本科精品课程。编著《实用计算机数值计算方法及程序设计》,主编《C语言程序设计》及配套《 C语言程序设计习体集与上机指导》教材一至四版,评为普通高等教育“十一五”国家级教材规划,主持完成国家自然科学基金等5项课题,在国内外发表论文30余篇。?
①普通高等教育“十一五”国家级教材规划。 ②省级教学名师联手打造线上线下教学课程及教材。 ③将思政元素融入到教材的教学大纲和线上教学资源中。 ④内容符合最新的C18编程标准以及全国计算机等级考试要求,运行环境选择VC++2010。 ⑤教学资源丰富,配有慕课课程、教学课件、教学大纲、案例代码、教学视频等,教材中扫码也可以观看视频。 ⑥配套教材提供习题集和实验指导,帮助学生进行实践训练,顺利领悟程序设计思想,考取计算机等级考试证书。 ?