《精通C程序设计教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:赵宏宇编著
  • 出 版 社:成都:西南交通大学出版社
  • 出版年份:2004
  • ISBN:7810578073
  • 页数:343 页
图书介绍:本书为高等学校教材。书中对C语言及程序设计的基础知识进行了全面的介绍。围绕重新设计的语法和算法两大核心主题展开教学内容,在体系结构与教学思想上突破了语法学习和算法实践并重的鲜明特点。

目 录 1

第1章C程序设计基础知识 1

1.1程序语言与编程方法的发展 1

1.1.1机器语言 2

1.1.2汇编语言 3

1.1.3高级语言 4

1.1.4程序语言集成开发工具 6

1.1.5程序语言的分代与编程方法的演变 7

1.1.6指令、程序与软件 9

1.2 C语言的历史发展与特点 10

1.2.1 C语言的历史发展 10

1.2.2 C语言的特点 11

1.3.1 二进制、八进制、十六进制 13

1.3计算机中的信息存储 13

1.3.2整数与实数的存储格式 16

1.3.3 字符编码 22

1.3.4磁盘文件 23

1.4语法、数据结构与算法 24

1.4.1 语法 24

1.4.2数据结构 26

1.4.3算法 26

习题 31

第2章C源程序基本语法与顺序结构简单程序设计 33

2.1 C语源程序的组成与结构 33

2.1.1 C源程序的语义字符 34

2.1.2 C语言的标识符与关键字 34

2.1.3 C语言的句法单位 36

2.1.5 C源程序的一般结构 39

2.1.4 C语言的函数 39

2.1.6 C源程序风格与书写规范 40

2.2调试第一个C程序 40

2.2.1 Windows的“MS-DOS方式” 41

2.2.2用Turbo C2.0调试C程序 43

2.2.3 用Turbo C++3.0或Borland C++3.1调试C程序 47

2.2.4用Visual C++6.0调试C程序 48

2.3 C语言的基本数据类型、常量与变量 50

2.3.1 C语言的基本数据类型 50

2.3.2 C语言的常量 53

2.3.3 C语言的变量 57

2.4 C语言的运算符与表达式 59

2.4.1 算术运算符、数学库函数与数学表达式 59

2.4.2二进制位运算符与位运算表达式 64

2.4.3关系、逻辑运算符及关系、逻辑表达式 68

2.4.4类型强制运算符与求存储长度运算符 70

2.4.5赋值运算符与赋值表达式 71

2.4.6条件运算符和逗号运算符 72

2.4.7运算符的优先级与结合性 73

2.4.8表达式数据类型的计算转换规则 73

2.4.9表达式应用举例 75

2.5 C程序的输入与输出 76

2.5.1单个字符的输入与输出函数 76

2.5.2格式化输出函数printf 78

2.5.3格式化输入函数scanf 82

2.6顺序结构简单程序设计 86

习题 88

3.1.1 if语句 91

3.1选择结构 91

第3章选择结构与循环结构 91

3.1.2 switch语句 97

3.2循环结构 99

3.2.1 while循环语句 100

3.2.2 do…while循环语句 103

3.2.3 for循环语句 104

3.2.4多重循环 106

3.2.5循环体中的break语句与continue语句 107

3.3 goto语句 110

习题 110

第4章基本程序设计技术 114

4.1计数(统计)问题 114

4.2求最大值与最小值 116

4.3递推迭代(数列求和与求积) 118

4.4字符图形 125

4.5搜索(穷举)求解 129

4.6数论有关问题 131

习 题 135

第5章数组 138

5.1一维数组 138

5.1.1 一维数组的定义 138

5.1.2访问一维数组的元素 138

5.1.3一维数组的初始化 139

5.2二维数组 140

5.2.1 二维数组的定义 140

5.2.2访问二维数组的元素 141

5.2.3 二维数组的初始化 141

5.3.1 多维数组的定义与元素访问 144

5.3多维数组 144

5.3.2多维数组的初始化 145

习题 146

第6章指针初步 148

6.1指针的概念与基本操作 148

6.1.1指针的概念 148

6.1.2指针常量与变量 149

6.1.3指针的基本运算与操作 151

6.2指针与一维数组 155

6.2.1一维数组名 155

6.2.2元素等价形式与地址等价形式 156

6.2.3一维动态数组 158

6.3 字符串处理 160

6.3.1 字符串的存储格式 160

6.3.2程序中存储字符串与访问字符串的方法 161

6.3.3字符串的输入与输出 162

6.3.4字符串操作常用库函数 162

6.3.5 字符串处理程序设计举例 164

6.4数组整体拷贝 167

习题 168

第7章函数 170

7.1函数的定义与调用 170

7.1.1 定义函数的语法格式 170

7.1.2函数调用 173

7.2函数的参数传递 176

7.2.1 实参表达式向形参变量传值 176

7.2.2指针变量作形参 177

7.2.3一维数组作形参 180

7.2.4二维数组作形参 182

7.2.5多维数组作形参 183

7.3变量的特性 184

7.3.1全局变量 184

7.3.2局部变量 185

7.3.3变量的存储类型 186

7.3.4变量的生存期与变量的初始化 187

7.3.5全局(外部)变量说明 189

7.4外部函数与内部函数 190

7.4.1 外部函数与内部函数的概念 190

7.4.2外部函数说明 190

7.4.3 工程文件 191

7.5返回值为指针类型的函数 192

7.6.1选择排序 195

7.6排序与查找 195

7.6.2插入排序 196

7.6.3冒泡排序 198

7.6.4索引排序 200

7.6.5顺序查找 201

7.6.6折半查找 202

7.7递归 203

7.7.1递归程序设计 203

7.7.2递归程序分析 207

习题 211

第8章编译预处理 216

8.1宏定义 216

8.1.1 不带参数的宏定义 216

8.1.2带参数的宏定义 217

8.1.3宏名字的作用域 218

8.2包含文件 219

8.3条件编译 220

习题 222

第9章指针深入 223

9.1多级指针与指针数组 223

9.1.1 多级指针 223

9.1.2指针数组 224

9.2指向数组的指针 226

9.2.1 定义指向m维数组的指针变量 227

9.2.2指向数组的指针类型名、类型强制与指针运算 227

9.2.3m维数组与指向数组的指针 230

9.2.4 m维动态数组 233

9.2.6指向数组的指针作函数的返回值 235

9.2.5指向数组的指针作函数的形参 235

9.2.7指向数组的指针作数组元素 236

9.3函数指针 236

9.3.1 定义函数指针变量 236

9.3.2 函数指针变量的初始化、赋值操作与函数调用 237

9.3.3 函数指针作函数的形参 238

9.3.4 函数指针作函数的返回值 238

9.3.5 函数指针作数组元素 239

9.4带参数的main函数 240

习题 241

第1O章派生数据类型 243

10.1枚举类型 243

10.2结构体 245

10.2.1定义结构体 246

10.2.2结构体的成员变量 247

10.2.3结构体成员变量的输入与输出 248

10.2.4结构体类型作函数形参与返回值 250

10.3联合体 251

10.4位段 252

10.4.1位段的定义与存储结构 252

10.4.2位段型成员变量的使用 253

10.5类型定义 254

10.6链表 255

10.6.1链表的图形表示与结点数据结构 255

10.6.2链表的基本操作 257

10.6.3链表算法程序举例 262

10.6.4静态链表 270

10.7.1二叉树的基本概念 271

10.7.2二叉树结点结构与数据类型 271

10.7二叉树 271

10.7.3遍历二叉树 272

10.7.4建立二叉树 274

10.7.5删除二叉树 274

10.7.6 二叉树算法程序举例 275

习题 279

第11章文件操作 283

11.1 C语言文件操作基本知识 283

11.2 C语言文件操作数据结构 284

11.3 C语言文件操作函数 284

11.3.1 文件的打开与关闭函数 285

11.3.2文件读写函数 286

11.3.3文件的读写位置指针与操作函数 288

11.3.4 字符文件操作与二进制文件操作的区别 290

11.3.5操作系统文件操作命令函数 290

11.4字符文件应用 291

11.5二进制文件应用 295

习题 297

第12章算法与C程序综合举例 301

12.1约瑟夫问题 301

12.2打印万年历 302

12.3排列问题与组合问题 306

12.3.1排列问题 306

12.3.2组合问题 311

12.4汉诺塔问题 313

12.5八皇后问题 315

12.6数值计算方法举例 316

12.6.1 用辛普森法求定积分 316

12.6.2用高斯消元法解线性方程组 318

12.6.3用高斯-塞德尔(Gauss-Seidel)迭代法求解线性方程组 322

12.6.4用二分法求方程的根 324

12.6.5用截弦法求方程的根 325

12.6.6用牛顿迭代法求方程的根 326

12.7产生随机数 327

12.7.1均匀分布随机数 327

12.7.2正态分布随机数 329

12.7.3指数分布随机数 330

12.7.4泊松分布随机数 330

习题 331

附录Ⅰ 标准ASCII码表 334

附录Ⅱ C语言常用库函数 335

附录Ⅲ C语言向C++语言过渡 339

附录Ⅳ C++的new和delete操作符 341

参考文献 343