C语言程序设计教程(第3版)(21世纪高等学校计算机规划教材)
分類: 图书,教材教辅与参考书,大学,计算机专业,
品牌: 徐士良
基本信息·出版社:人民邮电出版社
·页码:269 页
·出版日期:2009年10月
·ISBN:711520005X/9787115200051
·条形码:9787115200051
·包装版本:第3版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:21世纪高等学校计算机规划教材
产品信息有问题吗?请帮我们更新产品信息。
内容简介《C语言程序设计教程(第3版)》是作者通过长期教学实践而写成的。全书由浅入深,逐步介绍C语言中的基本概念和语法,使读者全面系统地理解和掌握用C语言进行程序设计的方法。主要内容包括:程序设计基本概念,C语言基本数据类型与基本输入输出,C语言表达式与宏定义,选择结构,循环结构,模块设计,数组,指针,结构体与联合体,文件,位运算。本次再版以Visual C++ 6.0环境为基础进行修订,内容更丰富,叙述更详细,更有利于读者自学。《C语言程序设计教程(第3版)》叙述简明扼要,通俗易懂,例题丰富。《C语言程序设计教程(第3版)》可作为各专业的学生学习C语言程序设计的教材。
作者简介徐士良,清华大学电子工程系教授。曾担任全国高等院校计算机基础教育研究会理事、学术委员会副主任。全国计算机等级考试委员会委员。至今已正式出版著作、教材40余部,多部教材被评为部级优秀教材一等奖、北京市高等教育精品教材、普通高等教育“十一五”国家级规划教材。
编辑推荐《C语言程序设计教程(第3版)》是作者通过长期教学实践而写成的。全书由浅入深,逐步介绍C语言中的基本概念和语法,使读者全面、系统地理解和掌握用C语言进行程序设计的方法。本次再版以Visual C++6.0环境为基础进行修订,通过这次修订,使《C语言程序设计教程(第3版)》内容更丰富,叙述更详细,更有利于读者自学。
由浅入深逐步介绍基本概念和语法
叙述简明扼要,文字通俗易懂
例题丰富实用,利于读者自学
目录
第1章 绪论 1
1.1 程序设计语言的发展 1
1.2 程序设计的基本过程 3
1.3 程序设计的基本方法 8
1.3.1 结构化程序设计 8
1.3.2 模块化程序设计 10
1.3.3 自顶向下逐步细化的设计过程 11
1.4 简单的C语言程序 12
1.5 C语言程序的运行 14
习题 20
第2章 C语言基本数据类型与基本输入输出 22
2.1 数据在计算机中的表示 22
2.1.1 计算机记数法 22
2.1.2 计算机中数的表示 27
2.2 C语言常量 34
2.2.1 整型常量 34
2.2.2 实型常量 35
2.2.3 字符型常量 37
2.3 C语言变量及其定义 37
2.3.1 整型变量 38
2.3.2 实型变量 41
2.3.3 字符型变量 42
2.4 C语言中基本输入与输出函数 44
2.4.1 格式输出函数 44
2.4.2 格式输入函数 48
2.4.3 字符输出函数 51
2.4.4 字符输入函数 51
习题 52
第3章 C语言表达式与宏定义 53
3.1 赋值运算及其表达式 53
3.2 算术运算及其表达式 53
3.3 关系运算及其表达式 55
3.4 逻辑运算及其表达式 56
3.5 其他运算符 59
3.5.1 增1与减1运算符 59
3.5.2 sizeof运算符 59
3.5.3 逗号运算符 60
3.6 标准函数 61
3.7 宏定义 62
3.7.1 符号常量定义 62
3.7.2 带参数的宏定义 63
习题 66
第4章 选择结构 70
4.1 语句与复合语句 70
4.2 if语句 73
4.3 if…else结构 75
4.4 条件运算符 79
4.5 switch结构 81
4.6 程序举例 86
习题 92
第5章 循环结构 95
5.1 当型循环与直到型循环 95
5.1.1 当型循环结构 95
5.1.2 直到型循环结构 97
5.1.3 当型循环结构与直到型循环结构的区别与联系 99
5.2 for循环 101
5.3 循环的嵌套与其他有关语句 103
5.3.1 循环的嵌套 103
5.3.2 break语句 105
5.3.3 continue语句 107
5.4 程序举例 109
5.4.1 列举算法 109
5.4.2 密码问题 113
5.4.3 对分法求方程实根 114
5.4.4 迭代法求方程实根 116
5.4.5 牛顿法求方程实根 118
5.4.6 梯形法求定积分 119
5.4.7 对键盘输入的讨论 121
习题 125
第6章 模块设计 127
6.1 模块的实现——函数 127
6.1.1 函数的概念 127
6.1.2 函数的定义 129
6.1.3 函数的调用 131
6.2 模块间的参数传递 135
6.2.1 形参与实参的结合方式 135
6.2.2 局部变量与全局变量 136
6.2.3 动态存储变量与静态存储变量 138
6.2.4 内部函数与外部函数.. 140
6.3 模块的递归调用 141
6.4 程序举例 142
6.5 编译预处理 147
6.5.1 文件包含命令 147
6.5.2 条件编译命令 149
习题 154
第7章 数组 155
7.1 一维数组 155
7.1.1 一维数组的定义与引用 155
7.1.2 一维数组的初始化 158
7.2 二维数组 160
7.2.1 二维数组的定义与引用 160
7.2.2 二维数组的初始化 161
7.3 字符数组与字符串 162
7.3.1 字符数组的定义与初始化 162
7.3.2 字符串 163
7.3.3 字符数组与字符串的输入与输出 164
7.3.4 字符串处理函数 167
7.4 数组作为函数参数 169
7.4.1 形参数组与实参数组的结合 169
7.4.2 二维数组作为函数参数 171
7.5 程序举例 173
习题 176
第8章 指针 178
8.1 指针的基本概念 178
8.2 指针变量 179
8.2.1 指针变量的定义与引用 179
8.2.2 指针变量作为函数参数 181
8.3 数组与指针 183
8.3.1 数组的指针与数组元素的指针 183
8.3.2 数组指针作为函数参数 185
8.3.3 多维数组与指针 187
8.4 字符串与指针 189
8.4.1 字符串指针 189
8.4.2 字符串指针作为函数参数 192
8.5 指针数组与指向指针的指针 194
8.5.1 指针数组的概念 194
8.5.2 指向指针的指针 197
8.5.3 main函数的形参 197
8.6 函数与指针 198
8.6.1 用函数指针变量调用函数 198
8.6.2 函数指针变量作为函数参数 200
8.7 程序举例 201
习题 204
第9章 结构体与联合体 206
9.1 结构体类型变量 206
9.1.1 结构体类型变量的定义 206
9.1.2 结构体类型变量的引用 208
9.1.3 结构体的嵌套 209
9.1.4 结构体类型变量的初始化 209
9.1.5 结构体与函数 211
9.2 结构体数组 214
9.2.1 结构体数组的定义与引用 214
9.2.2 结构体类型数组作为函数参数 216
9.3 结构体与指针 218
9.3.1 结构体类型指针变量的定义与引用 218
9.3.2 结构体类型指针作为函数参数 219
9.4 链表 222
9.4.1 链表的基本概念 222
9.4.2 链表的基本运算 224
9.5 联合体 227
9.6 枚举类型与自定义类型名 229
9.6.1 枚举类型 229
9.6.2 自定义类型名 231
9.7 程序举例 232
习题 239
第10章 文件 241
10.1 文件的概念 241
10.1.1 文本文件与二进制文件 241
10.1.2 缓冲文件系统 241
10.1.3 文件类型指针 242
10.2 文件的打开与关闭 242
10.2.1 文件的打开 242
10.2.2 文件的关闭 243
10.3 文件的读写 243
10.3.1 文件读函数 243
10.3.2 文件写函数 245
10.4 文件的定位 246
10.5 程序举例 247
习题 250
第11章 位运算 251
11.1 二进制位运算 251
11.2 位段 256
11.3 程序举例 258
习题 259
附录1 基本ASCII码表 261
附录2 C语言常用库函数 264
参考文献 269
……[看更多目录]
序言本书第1版与修订版出版后,经过多年的使用,得到了各院校广大教师和读者的肯定。我们收到了许多读者的宝贵的意见,在此向他们表示感谢。
根据大多数教师和读者的意见,在修订版的基础上,第3版作了如下几个方面的改进。
(1)上机环境改为Visual C++6.0。基本数据类型等内容作相应的修改和调整。
(2)增加了C基本数据类型在计算机中表示的内容。
(3)适当增加了一些例题。
(4)适当增加了一些习题。
总之,通过这次修订,使本书内容更丰富,叙述更详细,更有利于读者自学。
由于作者水平有限,书中难免还会存在错误和不妥之处,再次恳请读者批评指正。
文摘插图:
第1章 绪论
1.1 程序设计语言的发展
人们要利用计算机解决实际问题,无论是对于数值计算问题还是非数值计算问题,一般总是需要编制解决问题的程序。所谓程序,是指用某种程序设计语言为工具编制出来的动作序列,它表达了人们解决问题的思路,也反映了需要计算机所作的一系列操作。因此,程序设计语言实际上就是用户用来编写程序的语言,它是人与计算机之间交换信息的工具。
根据程序设计语言对问题的处理方式,程序设计语言一般分为机器语言、汇编语言和高级语言三大类。
1.机器语言
对于计算机来说,一组机器指令就是程序,称为机器语言程序。
机器语言是最底层的计算机语言。用机器语言编写的程序,计算机硬件可以直接识别。在用机器语言编写的程序中,每一条机器指令都是二进制形式的指令代码。在指令代码中一般包括操作码和地址码,其中操作码告诉计算机作何种操作,地址码则指出被操作的对象。对于不同的计算机硬件(主要是CPU),其指令系统是不同的,因此,针对一种计算机所编写的机器语言程序不能在另一种计算机上运行。由于机器语言程序是直接针对计算机硬件的,因此它的执行效率比较高,能充分发挥计算机的速度性能。但是,用机器语言编写程序的难度比较大,容易出错,而且程序的直观性比较差,也不容易移植。