程序设计基础(C语言版)
作者 : 秦军
出版日期 : 2007-08-28
ISBN : 7-111-21975-0
定价 : 23.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 217
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书从初学者易学、易懂的角度出发,基于复杂问题简单化、简单问题实用化的思想,以实用为目的、程序设计为主线、语言实现为目标,全面讲述了C语言的核心问题。本书作者根据多年的教学经验,对教学内容进行合理的组织,侧重培养读者解决实际问题的能力。

本书特点
  ●结合实例讲解基本概念和基本算法,同时兼顾学科前沿概念与技术。
  ●强调实用性,简化语法说明,突出程序设计,使读者学会用计算机编程的思想考虑问题,学会用C语言解决实际问题。
  ●在内容的安排和章节的组织上,既考虑到初学者的需要,又兼顾了想深入了解C语言的读者。
  ●注重可读性和可用性,每章均以“学习目标”开始,每章结尾的“本章小结”帮助读者理清思路,每章的“应用举例”一节用于强化知识、算法、编程方法与编程技巧,每章后还配有“自我测验”与“习题”。
  ●本书为教师配有电子教案,请登录机工新阅读网站(http://www.cmpreading.com)下载。

图书特色

图书前言

在目前常用的高级语言中,C语言由于具有良好的结构化特性、简练的语法、强大的功能等优点,已被我国大多数高校选作教学语言。
  由于C语言涉及的概念丰富,加之描述的多样性和使用的灵活性,因此,初学者理解起来会感到有一定的难度。本教材就是从初学者易学、易懂的角度出发而编写的。当然,编写一本书如果只追求浅显,那就没有多少保留价值了,也不会产生常读常新的感觉。因此,在内容的安排和章节的组织上,我们本着复杂问题简单化、简单问题实用化的思想,以实用为目的,程序设计为主线,语言实现为目标,既考虑初学者的需要,又兼顾想深入了解C语言的读者。
  本书的一大特点是结合实例讲解基本概念和基本算法,同时兼顾学科前沿概念与技术。在编写的过程中我们强调实用性,简化语法说明,突出程序设计,让学习者学会用计算机编程的思想考虑问题,学会用C语言解决实际问题。
  建构主义学习理论认为,知识是学习者在一定的情境(即社会文化背景)下,借助其他人(包括教师和学习伙伴)的帮助,利用必要的学习资料,通过意义建构的方式而获得的。因此,本教材不对语法做冗长的介绍,而是通过大量简洁的实例程序,让读者通过程序阅读掌握相应的语法。本书中的实例是在Visual C++ 6.0环境下运行通过的,读者可上机验证,或者进行改造,以便更好地理解相应的语法知识。
  C 语言的细节也是学习的一个难点,许多初学者对细节造成的程序错误感到束手无策。本书在相应的章节中列出了编写程序时常见的错误,帮助学习者排除错误,增强学习的信心。
  另外,本书在编写的过程中还注重可读性和可用性,每一章均以“学习目标”开始,告诉读者要达到的标准;每章结尾的“本章小结”帮助读者理清思路,形成清晰的逻辑体系和主线,复习和巩固重要概念;多数章都有一节“应用举例”,用于强化知识、算法、编程方法与编程技巧;每一章配有“自我测验”及“习题”,通过“自我测验”检查学习的效果,“习题”则是以巩固基本知识点为目的(涵盖面广,题型丰富,包括选择题、程序填空、读程序写结果和编程题等)。我们认为,学习语言的目的主要是学会编写程序,读者在做习题时要把重点放在编程上。
  本书中所有实例的main()函数均采用了“void main()”用法,这个用法是正确的。但是,根据最新的C语言标准,main()函数的返回类型应为int。因此,读者也可以采用“int main()”,再在语句的末尾增加“return 0”语句的用法。
本书可作为高等院校“程序设计”课程的教材或教学参考书,同时也可作为工程技术人员学习C语言的自学用书。
  本书中标有“*”的章节仅供有能力的学生选学。
  本书的第1、11(除11.7节外)、12章由秦军编写,第2、3、4、5章以及附录A和附录C由何丽萍编写,第7、8、9、10章由吴伟敏编写,第6、13章和11.7节以及附录B和附录D由林巧民编写。
  在本书的编写过程中,得到南京大学徐洁磐教授的指导和帮助,他审阅了本书,对本书提出了很多宝贵的意见,在此表示衷心感谢。
  参与本书制图工作的还有张婷同志。
  由于编者水平有限,书中难免存在错误,恳请读者批评指正(qj@njupt.edu.cn)。
  编  者
  2007年6月

封底文字

本书从初学者易学、易懂的角度出发,基于复杂问题简单化、简单问题实用化的思想,以实用为目的、程序设计为主线、语言实现为目标,全面讲述了C语言的核心问题。本书作者根据多年的教学经验,对教学内容进行合理的组织,侧重培养读者解决实际问题的能力。 本书特点 ●结合实例讲解基本概念和基本算法,同时兼顾学科前沿概念与技术。 ●强调实用性,简化语法说明,突出程序设计,使读者学会用计算机编程的思想考虑问题,学会用C语言解决实际问题。 ●在内容的安排和章节的组织上,既考虑到初学者的需要,又兼顾了想深入了解C语言的读者。 ●注重可读性和可用性,每章均以“学习目标”开始,每章结尾的“本章小结”帮助读者理清思路,每章的“应用举例”一节用于强化知识、算法、编程方法与编程技巧,每章后还配有“自我测验”与“习题”。 ●本书为教师配有电子教案,请登录华章网站(http://www.hzbook.com)下载。

图书目录

前言
第1章 C语言程序设计基本概念 1
1.1 引言 1
1.2 C语言的发展历史以及特点 1
1.2.1 C语言的发展历史 1
1.2.2 C语言的特点 1
1.3 程序设计语言 2
1.4 简单的C语言程序实例 3
1.5 C语言程序的结构 4
1.6 C语言程序的编辑、编译和执行 4
1.7 算法 5
1.7.1 算法的概念和特点 5
1.7.2 算法的描述 5
1.8 结构化程序设计方法 8
1.8.1 结构化程序设计的概念 8
1.8.2 结构化程序设计的三种基本结构 9
1.9 本章小结 10
习题 11
第2章 数据类型、运算符和表达式 12
2.1 引言 12
2.2 C语言的字符集和词法约定 12
2.2.1 C语言的字符集 12
2.2.2 C语言使用的词汇 13
2.3 常量和变量 14
2.3.1 常量 14
2.3.2 变量 14
2.4 数据类型 14
2.4.1 整型数据 15
2.4.2 实型数据 17
2.4.3 字符型数据 18
2.5 运算符及表达式 21
2.5.1 C语言的运算符 21
2.5.2 算术运算符和算术表达式 21
2.5.3 赋值运算符和赋值表达式 23
2.5.4 逗号运算符和逗号表达式 24
2.6 运算符的优先级和结合性 24
2.7 C语言中的数据类型转换 25
2.7.1 数值型数据间混合运算时的
类型转换规则 25
2.7.2 赋值时的类型转换规则 26
2.7.3 强制类型转换 26
2.8 本章小结 26
自我测验 27
习题 27
第3章 顺序结构程序设计 28
3.1 引言 28
3.2 C语句分类 28
3.3 赋值语句 29
3.4 基本输入、输出操作的实现 30
3.4.1 字符输出函数 30
3.4.2 字符输入函数 31
3.4.3 格式化输出函数 31
3.4.4 格式化输入函数 34
3.5 应用举例 35
3.6 本章小结 37
自我测验 37
习题 38
第4章 选择结构程序设计 40
4.1 引言 40
4.2 关系运算符与关系表达式 40
4.3 逻辑运算符与逻辑表达式 41
4.4 条件语句 42
4.4.1 if语句的三种形式 42
4.4.2 if语句的嵌套 45
4.4.3 条件运算符与条件表达式 46
4.5 多分支选择语句 46
4.5.1 switch语句的基本概念 46
4.5.2 break语句在多分支选择结构
中的应用 48
4.6 应用举例 49
4.7 本章小结 51
自我测验 51
习题 52
第5章 循环结构程序设计 53
5.1 引言 53
5.2 while语句 53
5.3 do-while 语句 55
5.4 for语句 55
5.5 continue语句和break语句
在循环体中的应用 56
5.5.1 continue语句在循环体中的应用 56
5.5.2 break语句在循环体中的应用 56
5.6 循环的嵌套 57
5.7 goto语句与标号 59
5.8 应用举例 59
5.9 本章小结 61
自我测验 61
习题 62
第6章 函数 64
6.1 引言 64
6.2 函数的定义和使用 64
6.2.1 函数的概念 64
6.2.2 函数的定义 64
6.2.3 函数的调用 66
6.2.4 函数参数传递 68
6.2.5 函数返回值 69
6.2.6 函数的嵌套及递归调用 70
6.3 变量的作用域与存储类别 73
6.3.1 局部变量与全局变量 73
6.3.2 动态存储方式与静态存储方式 76
6.4 应用举例 80
6.5 本章小结 81
自我测验 82
习题 82
第7章 编译预处理命令 84
7.1 引言 84
7.2 预处理指令#include:文件包含 84
7.3 预处理指令#define:宏定义 85
7.3.1 无参数宏 85
7.3.2 带参数宏 87
7.4 条件编译 90
7.4.1 #if、#else、#elif及#endif 90
7.4.2 #ifdef和#ifndef 90
7.5 本章小结 91
自我测验 91
习题 92
第8章 数组 94
8.1 引言 94
8.2 一维数组 94
8.2.1 一维数组的定义与引用 94
8.2.2 一维数组的初始化 95
8.3 二维数组 97
8.3.1 二维数组的定义与引用 97
8.3.2 二维数组的初始化 99
8.4 应用举例 100
8.4.1 插入算法 100
8.4.2 选择排序算法 101
8.5 本章小结 102
自我测验 102
习题 103
第9章 指针 105
9.1 引言 105
9.2 指针变量的声明、引用和初始化 105
9.2.1 指针变量的声明 106
9.2.2 指针变量的初始化 106
9.2.3 指针变量的引用 107
9.3 指针的运算 107
9.3.1 赋值运算 107
9.3.2 算术运算 109
9.3.3 两指针变量进行关系运算 110
9.4 指针与数组作为函数参数 110
9.4.1 指针与一维数组 111
9.4.2 指针与二维数组 112
9.4.3 指针作为函数参数 115
9.4.4 使用指针与使用数组的区别 119
9.5 返回指针的函数 121
*9.6 指针数组和指向指针的指针 123
9.6.1 指针数组 123
9.6.2 指向指针的指针 124
*9.7 指向函数的指针 126
9.8 应用举例 126
9.9 本章小结 128
自我测验 129
习题 130
第10章 字符串及其操作 133
10.1 引言 133
10.2 字符与字符串 133
10.3 字符数组与字符串 134
10.3.1 字符数组的定义与初始化 134
10.3.2 字符串与指针 136
10.3.3 字符串的输入、输出 138
10.3.4 常用的字符串处理函数 141
10.4 字符串作为函数参数 143
10.5 应用举例 145
10.6 本章小结 147
自我测验 148
习题 149
第11章 结构体与共同体 151
11.1 引言 151
11.2 结构体类型及结构体变量的
定义和初始化 151
11.2.1 结构体类型的定义 151
11.2.2 结构体变量的定义 152
11.2.3 结构体变量的引用和初始化 153
11.3 结构体数组 155
11.3.1 结构体数组的定义 155
11.3.2 结构体数组的引用和初始化 156
11.4 结构体指针 158
11.4.1 指向结构体变量的指针 158
11.4.2 指向结构体数组元素的指针 159
11.5 结构体作为函数参数 161
11.5.1 结构体变量作为函数参数 161
11.5.2 结构体指针变量作为函数参数 162
11.5.3 函数的返回值为结构体类型 163
11.6 结构体应用举例 164
11.7 链表 165
11.7.1 问题的提出 165
11.7.2 链表的定义和特点 166
11.7.3 动态链表的建立 167
11.7.4 动态链表的插入操作 169
11.7.5 动态链表的删除操作 171
11.8 共同体 173
11.8.1 共同体类型与共同体变量
的定义 174
11.8.2 共同体变量的引用和初始化 175
11.8.3 共同体变量的应用 175
11.9 用typedef定义类型 175
11.10 本章小结 177
自我测验 177
习题 178
第12章 文件处理 181
12.1 引言 181
12.2 数据流和文件的概念 181
12.3 文件的操作 181
12.3.1 文件指针 182
12.3.2 文件的打开和关闭 183
12.3.3 文件的顺序读写 184
12.3.4 文件的随机读写 189
12.4 应用举例 191
12.5 本章小结 194
自我测验 195
习题 195
第13章 面向对象技术与C++语言概述 198
13.1 引言 198
13.2 面向对象技术 198
13.3 C++简介 199
13.3.1 C++对C的扩充 200
13.3.2 C++中的类 203
13.4 面向对象程序设计的简单示例 205
13.4.1 封装性示例 205
13.4.2 继承性示例 205
13.4.3 多态性示例 206
13.5 本章小结 207
自我测验 208
附录A  常用字符与ASCII码对照表 209
附录B  C语言关键字 210
附录C  C运算符的优先级与结合性 211
附录D  C库函数 213
参考文献 217

教学资源推荐
作者: [美] 罗伯特·塞奇威克(Robert Sedgewick) 凯文·韦恩(Kevin Wayne) 罗伯特·唐德罗(Robert Dondero) 著
作者: [美]肯尼斯·A.兰伯特(Kenneth A. Lambert)著
作者: 刘艺
参考读物推荐
作者: 何俊斌
作者: 宫垂刚 韦一 张华丰
作者: 刘海波 沈晶 岳振勋 等编著
作者: 赵建领 薛园园 等编著