C语言程序设计(第二版)
书 号:9787113258559
丛 书 名:全国高等院校计算机基础课程“十三五”规划教材
作 者:易晓梅,赵芸
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:45元
-
内容简介
本书主要内容包括C语言概述,基本数据类型、运算符及表达式,程序的控制结构,数组,函数,变量的作用域及存储类别,编译预处理,指针,结构体、共用体与枚举,文件等。附录部分提供了字符、C语言中的关键字、运算符的优先级与结合性、常用标准库函数等内容,以方便读者查阅。本书结构合理,内容翔实,重点突出,实例典型丰富,循序渐进、由浅入深地讲解C语言。
本书适合作为高等院校计算机与非计算机专业教材,也可作为计算机等级考试二级C语言程序设计考试的自学教材或参考用书,还可作为广大计算机爱好者学习C语言程序设计的参考用书。 -
前言
经过多年教学工作经验的积累,我们在第一版的基础上精心修订了这本书。《C语言程序设计》(第二版)改进了部分叙述方式和例题的编程算法,将main()函数的返回值类型修改为int类型,并兼顾当今高校应用型人才的培养要求。
本书在强调掌握C语言基本语法和功能的同时,着重培养学生逐步掌握程序设计的思想和方法,以及问题的求解能力和探索创新能力。针对无程序设计基础的初学者的学习特点和认识规律,本书分散难点,深入浅出,并提供大量的例题,得到真实有效的运行结果,配备精练的程序说明,使读者能够全面地理解程序设计语言。
本书共10章,具体内容如下:
第1章 C语言概述,主要内容包括C语言简介、C程序初体验、C程序的执行等。介绍程序设计语言的种类、C语言的发展历史、特点及其开发步骤,引导读者快速入门。
第2章 基本数据类型、运算符及表达式,主要内容包括字符集与关键字、标识符,数据与数据类型,基本数据类型,运算符与表达式等。介绍数据类型的定义和使用方法,以及C语言中的运算符与表达式的概念,为读者学好C语言做铺垫。
第3章 程序的控制结构,主要内容包括算法和程序的控制结构、顺序结构、选择结构、循环结构等。详述算法的概念、程序的3种基本结构,以及简单的数据输入/输出方法。
第4章 数组,主要内容包括一维数组、二维数组、字符数组等。介绍一维数组、二维数组和字符数组的定义、引用、初始化及输入/输出等操作。
第5章 函数,主要内容包括函数与C语言的结构、库函数、自定义函数、函数的嵌套与递归调用、内部函数与外部函数等。重点介绍C语言中库函数的使用方法、自定义函数的定义方法、调用方法等。
第6章 变量的作用域及存储类别,主要内容包括变量的作用范围、变量的存储类别等,使读者对变量的使用范围和生存周期有透彻的理解。
第7章 编译预处理,主要内容包括宏定义、文件包含、条件编译等。介绍C语言特有的预编译功能,以及编译预处理改进程序设计环境、提高编程效率的方法。
第8章 指针,主要内容包括指针的基本知识、指针与一维数组、指针与二维数组、指针与字符串、指针与函数、指针数组、多级指针等。指针是C语言的精髓部分,也是C语言的重要特色,本章从指针的基本概念出发,结合具体实例对指针的定义和使用进行了分析。
第9章 结构体、共用体与枚举,主要内容包括定义结构体类型、定义和使用结构体变量、结构体数组、结构体和指针、单向链表、共用体、枚举类型等。介绍C语言中的几种自定义数据类型,包括结构体与共用体类型。对于用户自定义数据类型的使用步骤:类型的声明,新数据类型变量的定义,新数据类型变量的初始化,新数据类型变量的引用进行了详述。
第10章 文件,主要内容包括文件的打开与关闭、读/写文件、文件的定位等。使读者对文件的概念、类型有所了解,能熟练地进行文件的打开、读/写、关闭等基本操作。
本书由易晓梅、赵芸任主编,许凤亚、崔坤鹏、楼吉林任副主编。本书具体编写分工如下:第1章由易晓梅编写,第2章由崔坤鹏编写,第3章由楼吉林、易晓梅编写,第4章由吴鹏、于芹芬编写,第5章由楼吉林、王国省编写,第6章由赵芸编写,第7章由楼吉林编写,第8章由崔坤鹏编写,第9章由许凤亚编写,第10章由易晓梅编写,全书由易晓梅、赵芸、许凤亚提出编写思路并完成统稿。
本书在编写的过程中,得到了浙江农林大学信息工程学院多位老师的帮助,在此表示感谢。由于编者水平有限、时间仓促,不当之处在所难免,敬请读者指正。
编 者
2019年5月 -
目录
第1章 C语言概述 1
1.1 C语言简介 1
1.1.1 程序设计语言 1
1.1.2 C语言的起源 2
1.1.3 C语言的特点 3
1.2 C程序初体验 4
1.2.1 简单C程序实例 4
1.2.2 C程序的组成 6
1.2.3 C程序的基本语法知识 7
1.3 C程序的执行 7
1.3.1 C程序的开发步骤 7
1.3.2 C程序的上机步骤 8
本章小结 10
习题 10
第2章 基本数据类型、运算符及表达式 13
2.1 字符集与关键字、标识符 13
2.2 数据与数据类型 14
2.2.1 常量与变量 14
2.2.2 数据类型 15
2.3 基本数据类型 16
2.3.1 整型数据 16
2.3.2 实型数据 20
2.3.3 字符型数据 21
2.4 运算符与表达式 24
2.4.1 算术运算符与算术表达式 25
2.4.2 赋值运算符与赋值表达式 27
2.4.3 关系运算符与关系表达式 29
2.4.4 逻辑运算符与逻辑表达式 29
2.4.5 逗号运算符与逗号表达式 30
2.4.6 条件运算符与条件表达式 31
2.4.7 运算符的优先级和结合性 31
2.4.8 位运算符 32
本章小结 35
习题 35
第3章 程序的控制结构 38
3.1 算法和程序的控制结构 38
3.2 顺序结构 39
3.2.1 引例 40
3.2.2 数据的输入/输出 40
3.3 选择结构 45
3.3.1 引例 45
3.3.2 if语句 46
3.3.3 switch语句 49
3.4 循环结构 53
3.4.1 引例 53
3.4.2 while语句 54
3.4.3 do...while语句 56
3.4.4 for语句 59
3.4.5 goto语句 62
3.4.6 循环语句中的break语句与continue语句 62
3.5 综合实例 69
本章小结 73
习题 73
第4章 数组 84
4.1 一维数组 84
4.1.1 一维数组的定义 85
4.1.2 一维数组的初始化 85
4.1.3 一维数组元素的引用 86
4.1.4 一维数组的输入/输出 86
4.1.5 实例剖析 87
4.2 二维数组 94
4.2.1 二维数组的定义 95
4.2.2 二维数组的初始化 96
4.2.3 二维数组的引用 97
4.2.4 二维数组的输入/输出 97
4.2.5 实例剖析 98
4.3 字符数组 99
4.3.1 字符数组的定义与引用 99
4.3.2 字符数组与字符串 100
4.3.3 字符数组的初始化 100
4.3.4 字符数组的输入/输出 101
4.3.5 常用的字符串函数 102
4.3.6 实例剖析 105
本章小结 107
习题 107
第5章 函数 113
5.1 函数与C语言的结构 113
5.2 库函数 114
5.3 自定义函数 115
5.3.1 函数定义的一般形式 115
5.3.2 函数参数和函数的值 117
5.3.3 函数的调用 120
5.4 函数的嵌套与递归调用 122
5.5 内部函数与外部函数 125
5.6 综合实例 125
本章小结 129
习题 129
第6章 变量的作用域及存储类别 134
6.1 变量的作用范围 134
6.1.1 局部变量 135
6.1.2 全局变量 136
6.2 变量的存储类别 137
6.2.1 自动变量auto 137
6.2.2 静态变量static 138
6.2.3 寄存器变量register 139
6.2.4 外部变量extern 140
6.3 综合实例 140
本章小结 143
习题 143
第7章 编译预处理 148
7.1 宏定义 148
7.1.1 不带参数的宏定义 148
7.1.2 带参数的宏定义 150
7.2 文件包含 152
7.3 条件编译 153
本章小结 154
习题 155
第8章 指针 156
8.1 指针的基本知识 156
8.1.1 地址与指针概念 156
8.1.2 指针变量的定义 157
8.1.3 指针变量的赋值与引用 158
8.1.4 指针变量的运算 161
8.1.5 指针变量作为函数的参数 163
8.2 指针与一维数组 165
8.2.1 指针与一维数组的关系 165
8.2.2 数组名作为函数的参数 171
8.3 指针与二维数组 176
8.3.1 指针与二维数组的关系 176
8.3.2 二维数组的行指针作为函数的参数 183
8.4 指针与字符串 183
8.4.1 字符串与字符指针 183
8.4.2 字符指针作为函数的参数 187
8.4.3 使用字符串指针变量与字符数组的区别 188
8.5 指针与函数 189
8.5.1 指向函数的指针 189
8.5.2 返回指针值的函数 193
8.5.3 main()函数的参数 195
8.6 指针数组 196
8.6.1 指针数组的定义 196
8.6.2 指针数组的初始化 197
8.6.3 指针数组作函数的参数 198
8.6.4 指针数组的应用 198
8.7 多级指针 201
8.7.1 多级指针的定义 202
8.7.2 多级指针的初始化 202
8.7.3 多级指针的应用举例 203
8.8 综合实例 204
本章小结 208
习题 209
第9章 结构体、共用体与枚举 214
9.1 定义结构体类型 214
9.2 定义和使用结构体变量 216
9.2.1 结构体变量的定义 216
9.2.2 结构体变量的初始化 218
9.2.3 结构体变量的引用 219
9.3 结构体数组 221
9.3.1 结构体数组的定义 221
9.3.2 结构体数组的初始化 221
9.3.3 结构体数组的引用 222
9.4 结构体和指针 224
9.4.1 指向结构体变量的指针 224
9.4.2 指向结构体数组的指针 226
9.5 单向链表 227
9.5.1 链表概述 228
9.5.2 链表的特点及操作原理 229
9.5.3 链表的建立 230
9.5.4 链表的删除 232
9.5.5 链表的插入 234
9.6 共用体 235
9.7 枚举类型 238
9.7.1 枚举类型的定义和枚举变量的说明 238
9.7.2 枚举类型变量的赋值和使用 238
本章小结 240
习题 240
第10章 文件 243
10.1 文件概述 243
10.2 文件的打开与关闭 246
10.2.1 打开文件 246
10.2.2 关闭文件 248
10.3 读/写文件 249
10.3.1 以字符为单位读/写 249
10.3.2 以字符串为单位读/写 250
10.3.3 格式化方式读/写 251
10.3.4 以数据块为单位读/写 251
10.4 文件的定位 252
10.5 综合实例 253
本章小结 258
习题 259
附录A 字符 262
附录B C语言中的关键字 264
附录C 运算符的优先级与结合性 265
附录D 常用标准库函数 267
参考文献 270
1.4 计算机网络体系结构 24
1.4.1 OSI参考模型 24
1.4.2 TCP/IP体系结构 26
思考与练习 28
1.5 网络需求和综合布线系统分析 28
1.5.1 网络需求分析 28
1.5.2 综合布线系统概述 30
1.5.3 综合布线系统标准 33
1.5.4 综合布线系统的设计等级 35
1.5.5 综合布线系统设计的用户
需求分析 36
1.5.6 综合布线系统的设计概要 37
思考与练习 40
第2章 网络设备的配置和管理 42
2.1 【案例1】安装网络适配器 42
1.网络接口卡概述 43
2.网卡的分类 43
3.无线网卡 45
思考与练习 46
2.2 【案例2】传输介质双绞线的制作 46
1.网线的分类 48
2.网线的连接方式 49
3.网线的标准 50
思考与练习 50
2.3 【案例3】安装和配置交换机 50
交换机概述 54
思考与练习 55
2.4 【案例4】宽带路由器的安装
与配置 55
1.无线路由器概述 59
2.无线路由器结构 59
3.无线路由器的参数设置 61
4.无线网卡的参数设置 63
5.无线路由器的其他设置 64
思考与练习 66
第3章 网络操作系统的安装和配置 67
3.1 【案例5】安装Windows Server
2008 67
1.Windows操作系统 83
2.Windows Server 2008简介 83
3.Windows Server 2008版本 84
4.安装Windows Server 2008的
硬件需求 85
思考与练习 85
3.2 【案例6】系统的基本配置 86
1.设备管理器概述 88
2.服务概述 90
3.查看系统信息 91
4.使用Windows帮助 92
思考与练习 92
3.3 【案例7】设置IP地址 93
1.IP地址 95
2.子网掩码 97
3.配置静态IP地址和动态IP
地址 97
4.备用配置概述 97
思考与练习 98
3.4 【案例8】局域网连通测试 99
常用网络命令 100
思考与练习 104
3.5 【案例9】使用MMC管理控制台 104
MMC管理控制台概述 105
思考与练习 106
第4章 网络用户和域管理 107
4.1 【案例10】本地用户及组的管理 107
1.工作组特性 114
2.本地用户的特点 114
3.“新用户”对话框 115
4.本地组的特点 115
5.内置组 116
思考与练习 117
4.2 【案例11】创建网络“域” 117
1.Windows Server 2008域概述 124
2.活动目录概述 125
3.活动目录服务的基本组成 126
4.Active Directory的安装条件 128
5.域和林功能级别 128
思考与练习 129
4.3 【案例12】域用户及组管理 129
1.创建域用户账户的要求 135
2.组的实现与管理 136
思考与练习 137
第5章 网络安全的配置与管理 138
5.1 【案例13】文件权限的管理 138
1.常见的文件系统 142
2.NTFS与FAT和FAT32的
对比 142
3.NTFS文件系统的特点 142
4.使用NTFS文件系统 143
5.NTFS权限的含义 143
6.文件和文件夹的NTFS
权限 143
7.权限的组合 145
8.权限的继承 145
9.文件复制或移动时对权限的
影响 147
思考与练习 147
5.2 【案例14】安全策略的部署 148
1.安全的含义 153
2.账户策略 153
3.本地策略 154
思考与练习 157
5.3 【案例15】组策略配置 157
1.计算机配置策略 161
2.用户配置 162
3.“软件设置”文件夹 162
4.“Windows设置”文件夹 163
5.“管理模板”文件夹 164
6.组策略的应用规则 166
思考与练习 167
第6章 文件服务器和打印服务器
管理 168
6.1 【案例16】管理共享文件夹 168
1.创建共享文件夹的条件 174
2.脱机文件 174
3.使用脱机文件 175
思考与练习 176
6.2 【案例17】共享权限的设置 177
1.共享权限的累加性 179
2.“拒绝”权限覆盖所有
其他权限 179
3.与NTFS权限的混合使用 179
思考与练习 180
6.3 【案例18】访问域中的共享资源 180
在Active Directory中发布共享
文件夹要求 183
思考与练习 183
6.4 【案例19】安装并配置打印机 184
1.Windows Server 2008打印服务
新特性 190
2.企业打印服务 190
3.打印服务相关的概念 191
4.打印机属性的设置 192
思考与练习 196
6.5 【案例20】管理打印权限 197
打印机的权限 200
思考与练习 201
第7章 无线网络、移动互联网和
物联网 202
7.1 无线网络 202
7.1.1 无线网络概述 202
7.1.2 无线局域网 204
7.1.3 公用移动通信 207
7.2 移动互联网 209
7.2.1 移动互联网的定义、特点
和体系结构与参考模型 209
7.2.2 移动互联网的关键技术 211
7.2.3 移动IP技术 212
7.3 物联网 213
7.3.1 物联网概述 213
7.3.2 物联网体系结构及关键
技术 214
7.3.3 物联网典型系统及应用 216
思考与练习 218 -
作者介绍
易晓梅:副教授,硕士生导师。 就职于浙江农林大学, 主讲课程:C语言程序设计,参与编写并公开出版教材8部,其中主编2部。公开发表论文30余篇,参与省、校级教改项目12项,其中主持4项。赵芸:讲师。就职于浙江农林大学,已发表核心期刊和EI收录论文多篇。参与主编教材1部。获得授权计算机软件著作权8项。主讲:《C语言》、《信息技术基础》、《办公自动化》等课程。 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐