C语言程序设计

C语言程序设计
作 者: 贾宗璞 许合利
出版社: 人民邮电出版社
丛编项: 工业和信息化普通高等教育"十二五"规划教材立项项目
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: VC++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C语言程序设计》作者简介

内容简介

本书是21世纪高等学校计算机规划教材,是高等院校计算机基础教育教材。全书共分14章,主要内容包括:C语言概述,基本数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组,函数,编译预处理,指针,结构体、共用体及枚举类型,文件,C++基础,VC++6.0开发环境及程序测试与调试,上机实验内容等;各章后均附有大量习题。书后附有完整的AscII代码对照表、C语言中的关键字、运算符优先级和结合方向、常用库函数。本书内容丰富、新颖,图文并茂,通俗易懂,实用性强,可作为高等学校非计算机专业的计算机基础课教材,也可作为应用计算机人员的学习参考书。

图书目录

第1章 C语言概述 1

1.1 C语言的发展及特点 1

1.1.1 C语言的发展 1

1.1.2 C语言的特点 2

1.2 C语言程序的基本结构 3

1.3 算法及其描述 6

1.3.1 算法的概念 6

1.3.2 算法的描述方法 7

1.4 程序设计方法 11

1.4.1 程序设计的一般步骤 11

1.4.2 结构化程序设计方法 12

本章小结 13

习题 14

第2章 基本数据类型、运算符与表达式 15

2.1 C语言的数据类型 15

2.2 常量和变量 16

2.2.1 常量 16

2.2.2 变量 17

2.3 整型数据 18

2.3.1 整型常量的表示 18

2.3.2 整型变量 18

2.3.3 整型常量的类型 20

2.4 实型数据 20

2.4.1 实型常量的表示 20

2.4.2 实型变量 21

2.4.3 实型常量的类型 22

2.5 字符型数据 22

2.5.1 字符型常量 22

2.5.2 字符变量 24

2.6 算术运算符与算术表达式 24

2.6.1 基本算术运算符 25

2.6.2 算术表达式及算术运算符的优先级和结合性 25

2.6.3 自增、自减运算符 26

2.7 赋值运算符与赋值表达式 27

2.7.1 赋值运算符 27

2.7.2 复合赋值运算符 27

2.7.3 赋值表达式 28

2.8 逗号运算符与逗号表达式 28

2.9 位运算符 28

2.9.1 位运算符 28

2.9.2 位运算复合赋值运算符 30

2.10 数据类型转换与计算类型长度运算符 30

2.10.1 自动类型转换 30

2.10.2 强制类型转换 32

2.10.3 计算类型长度运算符 32

本章小结 33

习题 33

第3章 顺序结构程序设计 36

3.1 C语言语句概述 36

3.1.1 简单语句 36

3.1.2 复合语句 37

3.2 字符数据的输入/输出 37

3.2.1 字符输出函数(putchar) 38

3.2.2 字符输入函数(getchar) 38

3.3 格式化输入/输出函数 39

3.3.1 格式输出函数(printf) 39

3.3.2 格式输入函数(scanf) 42

3.4 顺序结构程序设计举例 45

本章小结 46

习题 46

第4章 选择结构程序设计 50

4.1 关系运算符和关系表达式 50

4.1.1 关系运算符 50

4.1.2 关系表达式 51

4.2 逻辑运算符和逻辑表达式 51

4.2.1 逻辑运算符 51

4.2.2 逻辑表达式 52

4.3 if语句及其构成的选择结构 53

4.3.1 if语句的形式 53

4.3.2 if语句的嵌套 55

4.3.3 条件运算符和条件表达式 56

4.4 switch语句及其构成的选择结构 58

4.4.1 switch语句的形式 58

4.4.2 在switch语句中使用break语句 59

4.5 选择结构程序设计举例 60

本章小结 62

习题 62

第5章 循环结构程序设计 67

5.1 概述 67

5.2 while语句 68

5.3 do-while语句 69

5.4 for语句 71

5.5 break语句和continue语句 73

5.5.1 break语句 73

5.5.2 continue语句 73

5.6 循环的嵌套 74

5.7 循环结构程序设计举例 75

本章小结 78

习题 78

第6章 数组 85

6.1 一维数组 85

6.1.1 一维数组的定义 85

6.1.2 一维数组元素的引用 86

6.1.3 一维数组的存储与初始化 87

6.1.4 一维数组程序设计举例 88

6.2 二维数组与多维数组 89

6.2.1 二维数组的定义 89

6.2.2 二维数组元素的引用 90

6.2.3 二维数组的初始化 91

6.2.4 二维数组程序设计举例 92

6.2.5 多维数组概述 93

6.3 字符数组与字符串 93

6.3.1 字符数组的定义 93

6.3.2 字符数组的初始化 93

6.3.3 字符数组元素的引用 94

6.3.4 字符串与字符数组 94

6.3.5 字符串处理函数 96

6.3.6 字符数组程序设计举例 97

本章小结 100

习题 100

第7章 函数 106

7.1 模块化程序设计 106

7.1.1 模块化程序设计概念 106

7.1.2 函数概述 107

7.2 函数的定义 108

7.2.1 函数定义的一般形式 108

7.2.2 函数的返回 109

7.3 函数的调用 109

7.3.1 函数调用的一般方式 109

7.3.2 函数参数的传递 110

7.3.3 函数的声明 111

7.3.4 函数的嵌套调用 111

7.4 函数的递归调用 112

7.5 数组作为函数参数 114

7.5.1 数组元素作函数实参 115

7.5.2 数组名作为函数参数 115

7.5.3 多维数组名作为函数参数 116

7.6 变量的作用域 117

7.6.1 局部变量 117

7.6.2 全局变量 118

7.7 变量的存储类别 119

7.7.1 变量的生存期 119

7.7.2 局部变量的存储类别 120

7.7.3 全局变量的生存期与作用域 121

7.8 内部函数和外部函数 123

本章小结 124

习题 124

第8章 编译预处理 131

8.1 宏定义 131

8.1.1 无参宏定义 131

8.1.2 带参宏定义 133

8.2 条件编译 137

8.3 文件包含 139

本章小结 141

习题 141

第9章 指针 143

9.1 地址和指针的概念 143

9.2 指针变量 144

9.2.1 指针变量的定义与赋值 144

9.2.2 指针变量的引用 145

9.3 指针与数组 147

9.3.1 指针与一维数组 147

9.3.2 指针与二维数组 150

9.4 指针与字符串 153

9.4.1 指向字符数组的指针变量 153

9.4.2 指向字符串常量的指针变量 153

9.5 指针与函数 155

9.5.1 指针作为函数的参数 155

9.5.2 指向函数的指针(函数指针) 158

9.5.3 返回指针值的函数(指针函数) 160

9.6 指针数组和多级指针 161

9.6.1 指针数组的定义 161

9.6.2 指针数组与字符串 162

9.6.3 多级指针 163

9.6.4 指针数组作为函数参数 163

9.6.5 带参main函数 164

本章小结 165

习题 166

第10章 结构体、共用体及枚举类型 173

10.1 结构体变量的定义 173

10.1.1 结构体类型的定义 173

10.1.2 结构体变量的定义 174

10.2 结构体变量的引用和初始化 175

10.2.1 结构体变量的引用 175

10.2.2 结构体变量的初始化 176

10.3 结构体数组 176

10.3.1 结构体数组的定义 176

10.3.2 结构体数组的初始化 177

10.3.3 结构体数组的引用 177

10.4 结构体指针变量 178

10.4.1 指向结构体变量的指针 178

10.4.2 指向结构体数组的指针 179

10.5 结构体与函数 180

10.5.1 结构体变量作为函数参数 180

10.5.2 返回结构体类型数据的函数 181

10.5.3 结构体指针作为函数参数 182

10.6 位段结构体 182

10.6.1 位段结构体类型及其变量的定义 182

10.6.2 位域的引用 183

10.7 链表 184

10.7.1 链表概述 184

10.7.2 内存动态管理 185

10.7.3 创建链表 186

10.7.4 顺序访问链表中的结点 187

10.7.5 在链表中插入结点 187

10.7.6 在链表中删除结点 190

10.8 共用体 192

10.8.1 共用体类型及其变量的定义 192

10.8.2 共用体变量的引用 193

10.9 枚举类型 194

10.9.1 枚举类型和枚举变量的定义 194

10.9.2 枚举类型变量的赋值和使用 195

10.10 用typedef定义类型 196

本章小结 196

习题 197

第11章 文件 202

11.1 文件概述 202

11.1.1 文件的概念 202

11.1.2 文件的分类 202

11.2 文件类型指针和文件位置指针 204

11.2.1 文件类型指针 204

11.2.2 文件位置指针 204

11.3 文件的打开和关闭 204

11.3.1 文件打开函数 205

11.3.2 文件关闭函数 206

11.4 文件的读写 207

11.4.1 读写一个字符的函数 207

11.4.2 块读写函数 208

11.4.3 其他读写函数 210

11.5 文件的定位和出错检测 211

11.5.1 文件的定位函数 211

11.5.2 出错检测函数 212

本章小结 213

习题 213

第12章 C++基础 218

12.1 概述 218

12.1.1 C++的发展历程 218

12.1.2 面向对象程序设计 219

12.2 C++对C的扩充 220

12.2.1 C++的输入/输出 220

12.2.2 重载函数与缺省参数的函数 222

12.2.3 变量的引用 223

12.2.4 内联函数 224

12.2.5 作用域运算符 225

12.2.6 new和delete 225

12.3 类与对象 226

12.3.1 类的定义 226

12.3.2 对象 228

12.3.3 构造函数 229

12.3.4 析构函数 231

12.4 继承与派生 231

12.4.1 继承与派生的方式 231

12.4.2 派生类的三种继承方式 232

12.4.3 派生类的构造和析构函数 234

12.5 多态性与虚函数 236

12.5.1 多态性 236

12.5.2 虚函数 237

本章小结 239

习题 239

第13章 VC++ 6.0开发环境及程序测试与调试 242

13.1 VC++ 6.0的主窗口界面 242

13.2 编辑C语言源程序文件 243

13.2.1 新建C源程序文件 244

13.2.2 编辑已存在的文件 246

13.3 编译、连接和运行程序 246

13.3.1 编译 247

13.3.2 连接 248

13.3.3 运行 249

13.4 建立和运行多个文件的方法 249

13.5 程序测试与调试 251

13.5.1 程序测试 251

13.5.2 程序调试 253

13.6 常见编译出错信息 255

第14章 上机实验内容 260

14.1 上机实验总目的和要求 260

14.1.1 上机实验总目的 260

14.1.2 上机实验总要求 260

14.2 实验一 基本数据类型、运算符与表达式 261

14.2.1 实验目的和要求 261

14.2.2 实验内容及操作步骤 261

14.2.3 选做题 263

14.3 实验二 顺序和选择程序设计 263

14.3.1 实验目的和要求 263

14.3.2 实验内容及操作步骤 263

14.3.3 选做题 265

14.4 实验三 循环程序设计 266

14.4.1 实验目的和要求 266

14.4.2 实验内容及操作步骤 266

14.4.3 选做题 269

14.5 实验四 数组 269

14.5.1 实验目的和要求 269

14.5.2 实验内容及操作步骤 269

14.5.3 选做题 270

14.6 实验五 函数(1) 271

14.6.1 实验目的和要求 271

14.6.2 实验内容及操作步骤 271

14.6.3 选做题 273

14.7 实验六 函数(2)与编译预处理 274

14.7.1 实验目的和要求 274

14.7.2 实验内容及操作步骤 274

14.7.3 选做题 275

14.8 实验七 指针 275

14.8.1 实验目的和要求 275

14.8.2 实验内容及操作步骤 275

14.8.3 选做题 276

14.9 实验八 结构体、共用体与枚举类型 277

14.9.1 实验目的和要求 277

14.9.2 实验内容及操作步骤 278

14.9.3 选做题 280

14.10 实验九 文件 281

14.10.1 实验目的和要求 281

14.10.2 实验内容及操作步骤 281

14.10.3 选做题 282

14.11 实验十 C++基础 282

14.11.1 实验目的和要求 282

14.11.2 实验内容及操作步骤 282

14.11.3 选做题 283

14.12 实验十一 综合程序设计 283

14.12.1 实验目的和要求 283

14.12.2 实验内容及步骤 284

14.12.3 选做题 284

附录Ⅰ ASCII代码对照表 285

附录Ⅱ C语言中的关键字 286

附录Ⅲ 运算符优先级和结合方向 287

附录Ⅳ 常用库函数 289

参考文献 294