《计算机程序设计 C语言版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:贾伯琪等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2011
  • ISBN:9787111353515
  • 页数:332 页
图书介绍:本课程以程序设计为主线,介绍C语言的基本概念,讨论C语言的各种数据类型和函数的定义及使用,突出函数、指针类型和结构类型的讲授,强调在程序设计中对指针与结构的使用和实际的应用,培养学生运用程序设计语言解决实际问题的能力,使学生能结合自己的专业,发挥计算机在本学科的作用。

第1章 计算机与程序设计基础 1

1.1 引言 1

1.2 计算机系统的基本组成与工作原理 2

1.2.1 计算机系统的组成 2

1.2.2 计算机的基本工作原理 4

1.3 微型计算机的系统结构 5

1.3.1 微型计算机的主要性能指标 5

1.3.2 微型计算机的硬件组成 5

1.3.3 微型计算机的软件系统 9

1.4 计算机中信息的表示及存储形式 13

1.4.1 计算机采用二进制编码 13

1.4.2 计算机中的信息单位 14

1.4.3 计算机中的数字系统 14

1.5 计算机程序与算法 23

1.5.1 算法的概念 23

1.5.2 算法的基本结构和表示 27

1.5.3 算法设计原则 31

1.5.4 算法的基本分类 32

1.6 程序设计和程序设计语言 35

1.7 本章小结 36

1.8 习题 37

第2章 C程序结构和设计方法 38

2.1 引言 38

2.2 C语言概述 39

2.3 C程序的基本结构 40

2.3.1 预处理部分 40

2.3.2 程序基本部分 40

2.4 程序设计方法 44

2.4.1 明确问题的需求 44

2.4.2 分析问题 46

2.4.3 设计解决问题的算法 46

2.4.4 测试并验证整个程序 50

2.4.5 维护并更新程序 52

2.5 实例研究 52

2.6 本章小结 58

2.7 习题 58

第3章 数据类型、运算符和表达式 59

3.1 引言 59

3.2 对象、变量和常量的概念 59

3.3 整型数据 61

3.3.1 整型数据的分类 61

3.3.2 整型数据所占内存空间的大小和取值范围 62

3.3.3 整型变量的溢出 62

3.3.4 整数常量的表示方法 63

3.4 浮点型数据 64

3.4.1 浮点数据的分类、取值范围和精度 64

3.4.2 浮点数的误差 65

3.4.3 浮点常量的表示方法 65

3.5 字符型数据 66

3.5.1 字符数据类型 66

3.5.2 字符常量 67

3.5.3 字符串常量 68

3.6 void数据类型 69

3.7 表达式和运算符 69

3.7.1 运算符的优先级和结合方向 70

3.7.2 左值的概念 71

3.7.3 几种运算符简介 72

3.8 表达式中类型的隐式转换和显式转换 78

3.9 基本输入输出 81

3.9.1 格式化输出库函数printf()的使用 81

3.9.2 格式化输入库函数scanf()的使用 82

3.9.3 案例研究 83

3.10 本章小结 84

3.11 习题 84

第4章 控制结构与基本算法 86

4.1 引言 86

4.2 C语言语句 88

4.2.1 表达式语句 88

4.2.2 函数调用语句 89

4.2.3 控制语句 89

4.2.4 复合语句 89

4.2.5 空语句 89

4.3 选择结构 89

4.3.1 if语句 89

4.3.2 switch语句 94

4.4 循环控制结构 97

4.4.1 while循环语句 97

4.4.2 do~while语句 99

4.4.3 for循环语句 99

4.4.4 三种循环语句的比较 102

4.4.5 循环的嵌套 102

4.5 控制转向语句 104

4.5.1 break语句 104

4.5.2 continue语句 106

4.5.3 语句标号和goto语句 106

4.6 常用基本算法的程序设计 107

4.6.1 递推法 107

4.6.2 贪心法 109

4.6.3 枚举法 110

4.7 本章小结 111

4.8 习题 112

第5章 数组 114

5.1 引言 114

5.2 一维数组 115

5.2.1 一维数组的定义 115

5.2.2 一维数组的引用 116

5.2.3 一维数组的初始化 117

5.2.4 一维数组作为函数参数 123

5.3 字符数组 127

5.3.1 字符数组与字符串的关系 127

5.3.2 字符数组的定义和引用 127

5.3.3 字符数组的初始化 127

5.3.4 字符数组应用编程(字符串处理) 130

5.4 多维数组 134

5.4.1 二维数组的定义 134

5.4.2 二维数组的内部表示 135

5.4.3 二维数组的引用 135

5.4.4 二维数组的初始化 137

5.4.5 二维数组作为函数参数 141

5.5 数组类型的应用 144

5.5.1 数据统计应用 144

5.5.2 排序算法应用 145

5.5.3 查找算法应用 151

5.5.4 字符文本处理应用 154

5.5.5 矩阵处理应用 156

5.5.6 递推与迭代算法应用 160

5.6 本章小结 162

5.7 习题 163

第6章 函数 166

6.1 引言 166

6.2 函数定义的一般形式与函数原型声明 167

6.3 函数调用 169

6.3.1 函数调用的一般形式及函数的调用方式 170

6.3.2 函数调用中的数值参数传递 171

6.3.3 函数的返回值 176

6.3.4 嵌套调用 178

6.4 函数的递归调用 179

6.5 变量存储空间 181

6.5.1 运行时环境简介 181

6.5.2 局部变量和全局变量 181

6.5.3 动态存储和静态存储 182

6.6 内部函数和外部函数 184

6.6.1 外部函数 184

6.6.2 内部函数 184

6.7 实例研究 184

6.7.1 CDMA系统中码字生成问题 185

6.7.2 DNA序列的翻译问题 186

6.7.3 集合元素的全排列问题 190

6.8 本章小结 193

6.9 习题 194

第7章 预处理命令 196

7.1 引言 196

7.2 宏定义 197

7.2.1 不带形参的宏定义 197

7.2.2 带形参的宏定义 198

7.3 文件包含 200

7.4 条件编译 201

7.5 本章小结 203

7.6 习题 204

第8章 指针 205

8.1 引言 205

8.2 指针的概念 205

8.3 指针变量的定义 207

8.4 指针变量的引用 208

8.4.1 &运算符 208

8.4.2 *运算符 209

8.5 指针变量的运算 210

8.5.1 空指针和无效指针 210

8.5.2 指针运算 211

8.5.3 关系比较运算 214

8.6 指向数组元素的指针 214

8.7 指针作为函数参数 220

8.8 指向字符串的指针变量 224

8.9 指向多维数组的指针变量 226

8.9.1 指向数组元素的指针变量 228

8.9.2 指向行向量的指针变量 229

8.10 指针数组 233

8.10.1 指针数组的定义 233

8.10.2 指针数组的两个典型实例 233

8.11 指向指针的指针 235

8.12 指针数组作main函数的形参 237

8.13 指针函数 239

8.14 指向void量的指针变量 241

8.15 指向函数的指针 244

8.15.1 指向函数的指针变量的初始化和使用 245

8.15.2 指向函数的指针变量作为函数参数 245

8.16 动态分配内存空间和动态数组 250

8.16.1 指针变量与动态内存分配 250

8.16.2 一维动态数组的建立和使用 251

8.16.3 二维动态数组的建立和使用 253

8.16.4 C99标准允许的可变长数组 254

8.17 本章小结 255

8.18 习题 256

第9章 结构体与共用体 258

9.1 引言 258

9.1.1 结构类型定义 258

9.1.2 定义结构类型时需要注意的问题 259

9.2 结构变量的定义、引用、初始化及赋值 260

9.2.1 结构变量的定义 260

9.2.2 结构变量的引用 260

9.2.3 结构变量的初始化 261

9.2.4 结构变量的赋值 261

9.3 结构体数组及其应用 262

9.3.1 定义结构数组 262

9.3.2 结构数组的初始化 262

9.3.3 指向结构数组元素的指针 263

9.3.4 结构数组的应用举例 263

9.4 结构与链表 265

9.4.1 结构的嵌套 266

9.4.2 链表的建立和访问 266

9.4.3 链表结点的插入和删除 269

9.4.4 链表综合实例——职工信息管理系统 271

9.5 共用体和枚举类型 273

9.5.1 共用体类型 273

9.5.2 枚举类型 276

9.5.3 类型定义符typedef 278

9.6 本章小结 278

9.7 习题 279

第10章 位运算 281

10.1 引言 281

10.2 基本位运算 281

10.2.1 按位与 282

10.2.2 按位或 282

10.2.3 按位异或 282

10.2.4 取反 283

10.2.5 左移 283

10.2.6 右移 284

10.2.7 复合赋值运算符 284

10.3 位段 284

10.4 实例研究 285

10.4.1 输出字符型数据的二进制形式 285

10.4.2 求二进制数中1的个数 288

10.5 本章小结 290

10.6 习题 290

第11章 流与文件操作 291

11.1 引言 291

11.2 文件与流 292

11.3 文件类型与文件指针 293

11.4 文件的打开与关闭 293

11.4.1 文件的打开 294

11.4.2 文件的关闭 295

11.4.3 标准流指针 295

11.4.4 文件指针与文件读写位置指针的区别 296

11.5 文件的读写 296

11.5.1 格式化读写 296

11.5.2 数据块(二进制形式)的读写 298

11.5.3 字符读写函数 300

11.5.4 字符串读写 302

11.6 文件的定位和随机读写 305

11.7 文件的错误检测 308

11.8 本章小结 308

11.9 习题 308

第12章 C++语言概述 310

12.1 引言 310

12.2 面向对象程序设计方法 310

12.3 C语言与C++语言的关系 314

12.3.1 C++对C语言的改进 314

12.3.2 C++语言对面向对象方法的支持 314

12.4 本章小结 315

12.5 习题 315

附录A 常用库函数 316

附录B ASCII码表 320

附录C C语言程序的上机过程与UNIX系统中的使用 324

附录D VC++6.0集成开发环境简介 329

参考文献 332