《程序设计基础》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:李军编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2014
  • ISBN:9787560632339
  • 页数:319 页
图书介绍:本书可以作为程序设计入门教材,既适合作为普通高等学校计算机及其相关专业本科生的教材,又可作为其它理工科专业本科生的教学参考书。本书是在多年使用的《程序设计基础》课程讲义的基础上编写。《程序设计基础》课程讲义博采了现有一些教材特色内容,同时融入了自己的教学实践方法,在陕西理工学院计算机科学与技术专业、信息管理与信息系统专业、网络工程专业的课程教学中使用三届,讲义的思路与体系,得到教师和学生们的认同,取得了良好的教学效果。学生的编程能力较使用纯粹以讲解C语言知识教材有明显的提高,也能为后继学习专业课程打下扎实的基础。大多数学生都期望能够得到该讲义的正式出版物。本书从问题求解方法的角度出发,以C语言为工具,按程序设计的若干主题,用丰富的设计范例和案例,循序渐进地讲述结构化程序设计的基础知识。是一本融语言知识与程序设计方法于一体的程序设计基础教材。

第1章 程序设计概论 1

1.1问题求解的思维过程 1

1.2算法基础 3

1.2.1算法的概念及其特征 3

1.2.2算法的基本结构 4

1.2.3算法的描述方法 4

1.3数据结构基础 6

1.4程序设计语言概述 8

1.4.1程序设计语言的发展历史 8

1.4.2程序设计范型 11

1.4.3过程型程序设计语言的语法元素 12

1.4.4过程型程序设计语言的基本功能 13

1.5程序设计的一般过程 17

1.6程序的构建与运行 19

习题1 21

第2章 C语言概述 22

2.1 C语言程序的基本结构 22

2.1.1结构单一的C程序 22

2.1.2结构相对完整的C程序 24

2.1.3对C程序的一般认识 26

2.2 C语言的语法元素 26

2.2.1字符集 26

2.2.2标识符 27

2.2.3定界符与间隔符 28

2.3数据类型与数据结构 28

2.3.1数据类型 28

2.3.2变量与常量 30

2.4运算与表达式 33

2.5可执行语句 34

2.6函数 35

2.7输入/输出操作与函数 36

2.7.1格式化输入/输出函数 36

2.7.2字符输入/输出函数 40

2.8在Visual C++6.0下调试C程序 40

习题2 44

第3章 算术运算程序设计 46

3.1变量的深度解析 46

3.1.1变量赋初值 46

3.1.2变量的访问 47

3.2算术表达式求值 48

3.2.1算术运算符 48

3.2.2表达式的书写 50

3.2.3表达式的数据类型 52

3.2.4表达式求值规则 55

3.3案例研究——求解一元二次方程 55

3.4变量地址与指针变量 57

3.4.1变量的地址 57

3.4.2简单指针变量 58

3.4.3指针变量的赋值 59

3.4.4指针变量的引用 60

3.4.5指针变量的初步应用 62

3.5常见错误及其排除方法 64

3.5.1语法错误 64

3.5.2运行错误 66

3.5.3逻辑错误 67

习题3 67

第4章 逻辑运算与流程控制 70

4.1逻辑运算及其表达式 70

4.1.1关系运算及其表达式 70

4.1.2逻辑运算 71

4.1.3各类运算符的优先级 72

4.2流程控制概述 73

4.3选择控制结构 73

4.3.1只有一路选择方案的if语句 73

4.3.2具有两路选择方案的if语句 75

4.3.3多路选择方案与if语句嵌套 76

4.4循环控制结构 81

4.4.1计数循环与for语句 82

4.4.2条件循环与while语句 84

4.4.3条件循环与do-while语句 86

4.4.4标志循环与交互式循环 87

4.4.5流程控制结构的嵌套 89

4.5案例研究 90

4.5.1选举计票问题程序设计 90

4.5.2快递运费计价问题程序设计 92

4.6三个流程控制语句的使用 94

4.6.1 break语句 94

4.6.2 continue语句 95

4.6.3 switch语句 96

4.7流程控制中的常见错误 97

4.7.1等式运算符与赋值运算符的误用 97

4.7.2循环语句中的花括号问题 98

4.7.3 if语句与while语句的混淆问题 98

4.7.4死循环与差1循环错误 99

4.7.5其他常见错误 99

习题4 100

第5章 常用基础算法与程序设计 103

5.1基于迭代策略的问题求解 103

5.1.1用递推法求解问题 104

5.1.2用倒推法求解问题 109

5.1.3用迭代法求解高次方程 110

5.2基于穷举策略的问题求解 112

5.2.1穷举法解方程组 113

5.2.2求解数字与数值问题 115

5.2.3求解逻辑问题 120

5.3程序调试 122

5.3.1常用的调试命令 123

5.3.2动态调试的主要方法 123

习题5 125

第6章 模块化程序设计技术 126

6.1函数的定义及其原型声明 126

6.1.1函数的定义 126

6.1.2函数原型声明 128

6.2数据在函数中的传递方式 130

6.2.1函数的调用方式 130

6.2.2函数参数的传递方式 131

6.2.3函数值的返回方式 132

6.2.4函数中的自动局部变量 133

6.3函数与指针 134

6.3.1用指针作为函数的形式参数 134

6.3.2返回指针值的函数 136

6.3.3指向函数的指针 137

6.4递归问题程序设计 139

6.5模块化程序设计技术 142

6.5.1使用函数的好处 142

6.5.2模块化程序设计方法 143

6.6案例研究——分数运算的解决方案 146

6.7函数编程的常见错误与程序测试 151

6.7.1函数编程的常见错误 151

6.7.2程序测试 152

习题6 153

第7章 批量数据处理程序设计 156

7.1一维数组 156

7.1.1一维数组的定义和引用 156

7.1.2一维数组的初始化与赋值 157

7.1.3指向数组元素的指针 159

7.1.4将一维数组传递给函数 163

7.2一维数组的应用 164

7.2.1集合搜索 164

7.2.2集合中元素的排序 168

7.3二维数组 170

7.3.1二维数组的定义及引用 170

7.3.2二维数组的初始化 171

7.3.3二维数组与指向行元素的指针 172

7.3.4二维数组作为函数参数 176

7.4二维数组的应用 178

7.4.1矩阵的简单运算 179

7.4.2栅格数据处理 182

7.5案例研究——快递费用核算解决方案 185

7.6动态创建数组 189

7.6.1动态创建一维数组 189

7.6.2动态创建二维数组 191

7.7数组下标越界问题 192

习题7 193

第8章 文本信息处理程序设计 199

8.1字符数组与字符串 199

8.1.1字符数组 199

8.1.2字符串 200

8.2字符串的输入/输出 201

8.2.1字符串的格式化输入/输出 201

8.2.2字符串的整行输入/输出 202

8.3对字符串的操作 202

8.3.1两个字符串的相互赋值 203

8.3.2字符串长度的测定 204

8.3.3字符串的比较 204

8.3.4字符串的连接 205

8.3.5字符串的搜索与定位 206

8.4案例研究——文本信息处理 208

8.5字符分析与常见字符串编程错误 213

8.5.1字符分析与转换 213

8.5.2常见字符串编程错误 213

习题8 215

第9章 结构数据类型 218

9.1结构类型及结构体 218

9.1.1结构类型的定义 218

9.1.2结构体的定义及引用 220

9.1.3结构体作为函数的参数及返回值 222

9.1.4结构数组 224

9.1.5指向结构类型的指针 226

9.2对结构类型的操作 229

9.2.1用结构类型表示复数 230

9.2.2对结构体进行输入/输出 232

9.2.3对结构体进行比较运算 233

9.3链表 234

9.3.1链表概述 234

9.3.2动态创建链表 236

9.3.3遍历与查找链表 238

9.3.4向链表中插入结点 239

9.3.5从链表中删除结点 241

9.3.6链表的综合操作 242

9.4案例研究——用结构类型改进快递费用结算方案 244

9.5常见编程错误与共用类型 250

9.5.1结构类型常见编程错误 250

9.5.2共用类型 251

9.5.3枚举类型 254

习题9 256

第10章 在磁盘上存取数据 259

10.1磁盘文件概述 259

10.1.1文件的分类 259

10.1.2文件名 259

10.1.3文件控制块与指针 260

10.1.4文件缓冲区 261

10.2文件的打开与关闭 261

10.3对文本文件的操作 263

10.3.1文本文件的存储格式 263

10.3.2对文本文件的读写操作 263

10.4对二进制文件的操作 267

10.5文件的随机读写 271

10.6案例研究——快递业务简单数据库的建立 273

10.7文件的常见编程错误 280

习题10 281

第11章 位运算 283

11.1按位进行逻辑运算 283

11.1.1位逻辑运算的概念 283

11.1.2位运算的应用 285

11.2移位运算 289

11.2.1移位运算的概念 289

11.2.2移位运算的应用 290

11.3位运算在加密/解密中的应用 290

习题11 293

第12章 编写大型程序 295

12.1复杂问题的抽象与分解 295

12.1.1过程抽象 295

12.1.2数据抽象 296

12.2个人函数库的创建 296

12.2.1头文件 297

12.2.2实现文件 298

12.3变量的存储类别 299

12.3.1 extem声明全局变量 300

12.3.2 auto变量 302

12.3.3 static变量 302

12.3.4 register变量 304

12.4条件编译 305

习题12 307

附录A ASCII字符表 310

附录B C语言库函数 312

参考文献 319