C语言程序设计(第二版)

-
【作 者】王成端 徐翠霞 主编
【I S B N 】978-7-5084-5573-0
【责任编辑】张玉玲
【适用读者群】本科
【出版时间】2008-07-01
【开 本】16开本
【装帧信息】平装(光膜)
【版 次】2008年07月第2版
【页 数】300
【千字数】
【印 张】
【定 价】¥30
【丛 书】21世纪高等院校规划教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书是以C程序设计零起点读者为主要对象的程序设计教程,2005年5月出版了第1版,本次再版进一步强化了编程能力,增加了C语言综合实例的开发,进一步讲解C语言的基本概念和程序设计的方法。
本书共分11章,分别是:程序设计及C语言概述,基本数据类型、运算符和表达式,C语句和结构化程序设计,数组,函数,编译预处理,指针,结构体、共用体和枚举,位运算,文件以及软件开发综合实例。
此外,本书还配备了辅助教材《C语言程序设计实训??题解、实验、课程设计与样题(第二版)》,教材中所有习题的答案及解析均在实训教材的第一部分中给出,实训的第二部分是Turbo C环境介绍,第三部分是实验,第四部分是课程设计,第五部分是模拟试卷及参考答案,因此是本教材的最佳教学辅助资料。
本书可作为高等院校应用型本科计算机及相关专业的C程序设计课程的教材,也可以作为全国计算机等级考试的培训教材。
第二版前言
本书是以C程序设计零起点读者为主要对象编写的程序设计教程。本书内容编排独特,组织形式新颖,能使读者在较短的时间内掌握C程序设计的精华。本书是高等院校C程序设计课程的教材,也可作为自学者的参考书。
本书第一版特点:
(1)在每一章的开头均给出本章的主要内容和教学目标,每一章的最后均给出本章小结和习题,以便于教学与自学。
(2)所有教学内容用例题组织。在基本遵循C语言教学体系的情况下,将所有教学内容用例题组织。即根据要介绍的内容精心编写相应的例题,将大量的、正确的、规范的程序介绍给学生,在讲解例题的过程中,使学生学习语法、了解概念、掌握算法,做到在 解决实际问题过程中讲授语法,而不是为了教语法而举例。
(3)针对学生“读程序容易,编程序难”的情况,书中凡涉及算法的例题,在给出其完整的程序之前,都增设了程序分析,有些算法还提供了多种解法。
(4)为了逐步提高学生的编程能力,还精心编写了形式新颖的习题,提供了习题答案。
(5)配套出版了辅助教材。《C语言程序设计实训——题解、实验、课程设计与样题》内容既兼顾了随教学进度安排的实验,也考虑到全部教学内容完成后的课程设计。教材中所有习题的答案及解析均在实训教材的第一部分中给出,实训的第二部分是Turbo C环境介绍,第三部分是实验,第四部分是课程设计,第五部分是模拟试卷及参考答案,因此是本教材的最佳教学辅助资料。
(6)配备了教学光盘,其中包含教学课件、全书所有例题和习题的源代码、实验指导、课程设计、模拟试题及参考答案等。
本书第二版主要修订内容:
(1)将例题、习题、实验重新统筹安排。
(2)为了培养学生调试程序、排除错误的能力,教材中分阶段通过具体例题介绍了调试程序的方法,使用的环境是Turbo C 2.0。
(3)精简内容,修改或更换部分例题。针对学生“读程序容易,编程序难”的情况,书中凡涉及算法的例题,增设了举一反三或应用扩展的实例,并给出了各实例的程序分析及源代码。
(4)讲授指针和函数时不涉及新算法。指针和函数是C语言中的重点和难点,为了使学生能够顺利地接受新概念,将有关算法内容尽量安排在这两章之前,避免学生在接受指针和函数概念的同时又要理解新算法。这样做不仅容易突破难点,而且有利于巩固已学过的知识。
(5)第11章改为软件开发综合实例,介绍如何采用软件工程方法进行软件设计,并结合一个C语言开发的应用实例加以讨论。
本书的教学目标是使学生从应用的角度出发,通过介绍C语言及其编程技术,使学生了解高级程序设计语言的结构、掌握C语言的基本内容,使学生掌握C语言程序设计的基本方法与编程技巧,具备初步的高级语言程序设计能力。培养学生掌握基础知识和应用基础知识的一般方法,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下良好的基础。
本书由王成端、徐翠霞任主编,魏先民、崔玲玲任副主编,于春花参编。其中第1、6、9章由王成端编写,第5、7章和附录1、附录3 由徐翠霞编写,第2、3章和附录2由崔玲玲编写,第4、8章由于春花编写,第10、11章由魏先民编写。全书由王成端负责统稿。
限于作者水平,书中难免有错误和疏漏之处,恳请广大读者批评和指正。
第二版前言
第一版前言
第1章 程序设计及C语言概述 1
本章学习目标 1
1.1 程序设计的基本概念 1
1.1.1 程序和程序文件 1
1.1.2 程序设计和程序设计语言 1
1.2 算法 2
1.2.1 算法及其特性 2
1.2.2 算法设计的要求 3
1.2.3 算法的组成要素 3
1.2.4 算法的描述 3
1.3 C语言的特点 5
1.4 简单的C语言程序 5
1.5 C语言程序的开发 7
本章小结 8
习题一 8
第2章 数据描述与基本操作 10
本章学习目标 10
2.1 基本标识符 10
2.1.1 关键字 10
2.1.2 预定义标识符 10
2.1.3 用户定义标识符 11
2.2 基本数据类型 11
2.3 常量和变量 13
2.3.1 变量 13
2.3.2 常量 15
2.4 运算符与表达式 18
2.4.1 运算符与表达式简介 18
2.4.2 算术运算符与算术表达式 19
2.4.3 赋值运算符与赋值表达式 21
2.4.4 关系运算符与关系表达式 22
2.4.5 逻辑运算符与逻辑表达式 23
2.4.6 条件运算符与条件表达式 25
2.4.7 逗号运算符与逗号表达式 27
2.5 数据的类型转换 27
2.5.1 自动类型转换 28
2.5.2 强制类型转换 28
2.6 数据的输入和输出 29
2.6.1 字符输入输出函数 29
2.6.2 格式输入输出函数 30
2.7 应用举例 33
本章小结 35
习题二 36
第3章 C语言程序的流程控制 39
本章学习目标 39
3.1 C语言程序的3种基本结构 39
3.1.1 顺序结构 39
3.1.2 选择结构 39
3.1.3 循环结构 40
3.2 C语言语句概述 41
3.2.1 基本语句 41
3.2.2 控制语句 41
3.2.3 复合语句 42
3.3 选择结构程序设计 42
3.3.1 if语句(条件语句) 42
3.3.2 switch语句 46
3.4 循环结构的程序设计 48
3.4.1 for语句 48
3.4.2 while语句 50
3.4.3 do-while语句 51
3.4.4 3种循环语句的比较 52
3.4.5 循环语句的嵌套 52
3.5 流程转向语句 54
3.5.1 break语句和continue语句 54
3.5.2 return语句 56
3.6 典型应用算法 56
3.6.1 穷举算法 56
3.6.2 迭代算法 57
本章小结 59
习题三 59
第4章 数组 67
本章学习目标 67
4.1 一维数组 67
4.1.1 一维数组的定义 67
4.1.2 一维数组元素的引用 68
4.1.3 一维数组的初始化 69
4.1.4 一维数组应用举例 70
4.2 二维数组 74
4.2.1 二维数组的定义 74
4.2.2 二维数组元素的引用 75
4.2.3 二维数组的初始化 75
4.2.4 二维数组应用举例 76
4.3 字符数组与字符串 77
4.3.1 字符数组的定义和初始化 77
4.3.2 字符串的存储及字符串结束标志 79
4.3.3 字符串的输入和输出 79
4.3.4 字符串处理函数 81
4.3.5 字符数组应用举例 84
本章小结 86
习题四 86
第5章 函数 90
本章学习目标 90
5.1 概述 90
5.2 函数的定义与调用 92
5.2.1 函数的定义 92
5.2.2 函数的调用 93
5.2.3 被调函数的原型说明 94
5.2.4 函数的返回值 96
5.3 函数的嵌套调用 97
5.4 递归函数及其调用 98
5.5 主调函数和被调函数的数据传递 100
5.6 变量的存储类别 103
5.6.1 局部变量 103
5.6.2 全局变量 106
5.7 内部函数和外部函数 109
5.7.1 内部函数 109
5.7.2 外部函数 110
5.8 函数应用举例 110
本章小结 114
习题五 115
第6章 编译预处理 122
本章学习目标 122
6.1 概述 122
6.2 宏定义 123
6.2.1 不带参数的宏定义 123
6.2.2 带参数的宏定义 124
6.3 文件包含 127
6.4 条件编译 128
6.4.1 #ifdef命令 128
6.4.2 #ifndef命令 129
6.4.3 #if命令 130
本章小结 131
习题六 131
第7章 指针 135
本章学习目标 135
7.1 指针概述 135
7.1.1 变量的地址和指针变量的概念 135
7.1.2 指针变量的定义及初始化 136
7.1.3 指向指针的指针 138
7.2 指针变量的赋值与引用 138
7.2.1 指针变量的赋值 138
7.2.2 指针变量的引用 140
7.3 指针变量的运算 141
7.3.1 指针变量的算术运算 141
7.3.2 指针变量的关系运算 143
7.4 指针与数组 143
7.4.1 一维数组元素的指针访问方式 143
7.4.2 二维数组元素的指针访问方式 146
7.4.3 字符指针与字符串 149
7.4.4 指向一维数组的指针 152
7.4.5 指针数组 154
7.5 指针与函数 156
7.5.1 指针作为函数参数 156
7.5.2 指针函数 158
7.5.3 指向函数的指针 159
7.6 带参数的main()函数及其应用 163
7.6.1 命令行参数 163
7.6.2 带参数的main()函数 163
7.7 指针应用举例 164
本章小结 166
习题七 166
第8章 结构体、共用体和枚举 172
本章学习目标 172
8.1 结构体 172
8.1.1 结构体类型的定义 172
8.1.2 结构体类型变量的定义和
初始化 173
8.1.3 结构体成员的引用 176
8.2 结构体和函数 178
8.2.1 结构体类型的变量作为
函数参数 178
8.2.2 结构体类型的变量作为函数
的返回值 179
8.3 链表 180
8.3.1 链表的定义及基本结构 181
8.3.2 动态存储分配函数 181
8.3.3 链表的基本操作 182
8.4 共用体 187
8.4.1 共用体类型的定义 187
8.4.2 共用体变量的定义 187
8.4.3 共用体成员的引用 188
8.5 枚举 190
8.5.1 枚举类型和枚举型变量的定义 190
8.5.2 枚举型变量的使用 192
8.6 typedef类型定义 193
8.6.1 类型定义的基本格式 193
8.6.2 类型定义的使用说明 194
8.7 综合应用实例 194
本章小结 198
习题八 198
第9章 位运算 203
本章学习目标 203
9.1 概述 203
9.2 位运算 204
9.2.1 按位取反运算符 204
9.2.2 按位与运算符 204
9.2.3 按位或运算符 205
9.2.4 按位异或运算符 206
9.2.5 左移运算符 207
9.2.6 右移运算符 208
9.3 位运算应用举例 208
9.4 位段 210
本章小结 212
习题九 212
第10章 文件 215
本章学习目标 215
10.1 文件概述 215
10.1.1 基本概念 215
10.1.2 缓冲文件系统 216
10.2 文件指针和文件读写指针 217
10.2.1 文件指针 217
10.2.2 文件读写指针 217
10.3 文件的打开与关闭 217
10.3.1 打开文件 217
10.3.2 关闭文件 219
10.4 文件的读写 219
10.4.1 格式读写函数 219
10.4.2 字符读写函数(fgetc
和fputc) 223
10.4.3 字符串读写函数 227
10.4.4 数据块读写函数 229
10.5 文件的定位 232
10.5.1 rewind()函数 232
10.5.2 fseek()函数 233
10.5.3 ftell()函数 233
10.6 出错的检测 235
10.6.1 ferror()函数 235
10.6.2 clearerr()函数 235
10.7 文件应用举例 235
本章小结 238
习题十 238
第11章 软件开发综合实例 242
11.1 软件开发步骤 242
11.1.1 软件计划 242
11.1.2 需求分析 242
11.1.3 软件概要设计 243
11.1.4 软件详细设计 247
11.1.5 编码 248
11.1.6 测试 248
11.2 用C语言开发软件实例 249
11.2.1 需求分析 249
11.2.2 总体设计 250
11.2.3 详细设计 252
11.2.4 编码 254
11.2.5 测试 274
附录1 常用字符与ASCII码对照表 275
附录2 运算符的优先级和结合方向 276
附录3 库函数 277
参考文献 287
- 信息技术基础(Windows 10+WPS Office)(微课版) [主编 石利平 田辉平 谢盛嘉]
- C语言程序设计实验指导与实训(第二版) [主编 倪燃]
- 程序思维与C语言实现 [张祎 王俊海 吕波]
- 大学计算机基础教程(Windows 10+WPS Office 2019) [吴志攀 刘利]
- 大学计算机基础教程(Windows 10+WPS Office 2019) [吴志攀 刘利]
- 大学计算机基础实训指导(Windows 10+WPS Office 2019) [吴志攀 王健海]
- C语言程序设计 [魏琴 刘祖珉 赵仕波 肖阳春]
- C语言程序设计实验教程 [张小刚 司春景]
- 电气控制与PLC程序设计(第二版) [胡冠山]
- HTML5+CSS3网页设计与制作项目化教程 [范佳 胡卓舒 冯迎]
- C语言程序设计(第三版) [主编 丁红 王立新 蔡开立]
- C程序设计实践教程 [刘卫国]
- C程序设计(慕课版) [刘卫国]
- Web技术开发教程(基于.NET开源MVC框架) [王合闯 韩红玲 王青正 陈海蕊]
- 程序设计基础实践教程(C/C++语言版) [张桂芬 葛丽娜]
- C++案例项目精讲 [主编 杨国兴]
- HCIA-Datacom认证题库分类精讲 [主 编 韩立刚]
- Ansys Workbench结构分析热点解析 [牛海峰 ]
- C语言程序设计习题与实验指导(第二版) [主编 甄增荣 张宾]
- C语言程序设计(第二版) [主编 甄增荣 田云霞]
- 计算机绘图——AutoCAD+Autodesk Inventor(第二版) [主编 赵军 刘潇潇]
- C语言程序设计实践教程(活页式) [主编 郑茵 陈巍 滕泓虬]
- CLO 3D服装虚拟仿真设计与应用基础 [主编 王静]
- JavaScript与jQuery项目化教程(活页式) [主编 林沣 蓝雪燕 宋家慧]
- C语言程序设计 [姜雪]
- WPS Office高级应用教程 [主编 牛莉 刘卫国]
- MS Office高级应用教程 [主编 牛莉 刘卫国]
- 电力工程CAD识图与绘图(活页式) [主编 贾卫华 李晓华]
- C++程序设计实践教程(第三版) [主编 刘卫国 曹岳辉]
- C++程序设计(第三版) [主编 曹岳辉 刘卫国]