计算机类教材 > 算法与程序设计

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。
    ⑤教学资源丰富,配有慕课课程、教学课件、教学大纲、案例代码、教学视频等,教材中扫码也可以观看视频。
    ⑥配套教材提供习题集和实验指导,帮助学生进行实践训练,顺利领悟程序设计思想,考取计算机等级考试证书。
    
    ?