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

  • 购买积分:11 如何计算积分?
  • 作  者:马杰,刘艳,杨磊著
  • 出 版 社:南京:南京大学出版社
  • 出版年份:2018
  • ISBN:9787305196348
  • 页数:280 页
图书介绍:本教材以全国计算机等级考试(二级C语言)为主线,深入浅出地介绍程序设计在实际中的应用。在内容上注重知识的完整性,以适合初学者的需求。侧重C语言基础知识的学习和应用,帮助读者深入浅出的了解C语言的特性,提高读者的学习C语言的兴趣以及解决问题的能力。主要内容包括:程序设计与算法,数据类型、运算符与表达式,程序控制语句,数组,函数,指针,结构体与共用体,输入输出和文件系统等。本书整体质量较好,内容丰富。书中存在少量标点符号表达错误,此外存在答案答题不全面的问题。以上问题均在书稿中标明并改正。

第1章 程序设计概述 1

1.1 计算思维与程序设计 1

1.2 算法 2

1.2.1 算法简介 2

1.2.2 如何描述算法 3

1.3 C语言概述 5

1.3.1 C语言的出现和历史背景 5

1.3.2 C语言的特点 6

1.3.3 VC++2010简介和C语言程序结构 7

课后习题 11

第2章 数据类型和运算符 14

2.1 一个简单的C语言程序 14

2.2 数据的表现形式 15

2.2.1 数据类型 15

2.2.2 常量与变量 16

2.2.3 宏常量和const常量 20

2.3 C运算符与表达式 22

2.3.1 sizeof运算符 22

2.3.2 赋值运算符 23

2.3.3 算术运算符与表达式 25

2.3.4 复合的赋值运算符 27

2.3.5 自增自减运算符 28

2.4 常用的标准数学函数 29

2.5 自动类型转换与强制类型转换运算符 30

课后习题 31

第3章 数据的输入输出 34

3.1 数据的格式化屏幕输出 34

3.2 数据的格式化键盘输入 36

3.3 单个字符的输入/输出 38

课后习题 39

第4章 选择结构 42

4.1 关系运算符 42

4.1.1 关系运算符 42

4.1.2 关系表达式和关系表达式的值 43

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

4.2.1 逻辑运算符及其优先次序 43

4.2.2 逻辑表达式 44

4.2.3 与运算(&&)和或运算(‖)的特殊性 44

4.3 if语句构成的选择结构 45

4.3.1 选择结构的常见形式 45

4.3.2 if语句(单分支) 46

4.3.3 带else的if语句(双分支) 48

4.3.4 带else if的if语句(多分支) 49

4.3.5 if语句的嵌套 51

4.4 条件运算符和条件表达式 53

4.4.1 条件运算符 53

4.4.2 条件表达式 53

4.5 switch选择结构和break的使用 54

4.5.1 switch语句 54

4.5.2 switch语句的执行过程 54

4.5.3 break语句的使用 56

4.6 程序举例 57

4.7 位运算 58

课后习题 59

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

5.1 循环结构与循环语句 63

5.2 计数循环 65

5.3 条件循环 72

5.4 流程控制转移 74

5.4.1 break语句 74

5.4.2 continue语句 78

5.5 循环嵌套 79

课后习题 81

第6章 函数 85

6.1 概述 85

6.2 函数的定义与调用 86

6.2.1 函数定义的一般形式 86

6.2.2 函数的调用方式 88

6.2.3 被调函数的声明和函数原型 90

6.3 向函数传递值和从函数返回值 91

6.3.1 向函数传递值 91

6.3.2 从函数返回值 92

6.4 函数的嵌套调用 99

6.5 函数的递归调用与递归函数 100

6.6 变量的作用域和存储类型 103

6.6.1 变量的作用域 103

6.6.2 变量的存储类型 107

课后习题 110

第7章 数组 114

7.1 一维数组 114

7.1.1 一维数组的定义 114

7.1.2 一维数组的引用 115

7.1.3 一维数组的初始化 116

7.2 二维数组 118

7.2.1 二维数组的定义 118

7.2.2 二维数组的引用 119

7.2.3 二维数组的初始化 120

7.3 应用举例 122

7.4 数组用作函数的参数 129

7.4.1 数组元素作函数参数 129

7.4.2 数组名作为函数参数 130

课后习题 133

第8章 指针 136

8.1 指针概念 136

8.1.1 变量名、指针和值 136

8.1.2 内存的访问方式 137

8.2 指针变量 138

8.2.1 指针变量的定义 138

8.2.2 指针变量初始化 139

8.2.3 指针变量的引用 140

8.3 指针作为函数参数 144

8.4 应用举例 149

课后习题 153

第9章 指针和数组 156

9.1 指针和一维数组的关系 156

9.1.1 一维数组的地址 156

9.1.2 一维数组的指针 157

9.1.3 一维数组的应用 159

9.2 将数组传递给函数 161

9.3 指针和二维数组的关系 168

9.3.1 二维数组的行地址和列地址 169

9.3.2 二维数组的行指针和列指针引用二维数组元素 172

9.4 动态数组 176

9.4.1 内存动态分配的概念 176

9.4.2 动态内存分配函数 177

9.4.3 动态数组的实现 178

9.5 重要概念讨论 182

9.5.1 二级指针 182

9.5.2 指针数组和数组指针 183

9.5.3 函数指针和指针函数 185

9.5.4 指针小结 188

9.6 带参数的main()函数 189

课后习题 191

第10章 字符串 193

10.1 字符串常量 193

10.2 字符串的存储 194

10.2.1 字符数组 194

10.2.2 字符指针 194

10.2.3 对使用字符数组和字符指针变量的讨论 196

10.2.4 二维数组用于表示多个字符串 198

10.2.5 指针数组用于表示多个字符串 198

10.3 字符串的输入输出 199

10.3.1 单个字符的输入输出 199

10.3.2 字符串的整体输入输出 201

10.4 字符串函数 204

10.4.1 字符串长度函数strlen 204

10.4.2 字符串复制函数strcpy 205

10.4.3 字符串连接函数strcat 205

10.4.4 字符串比较函数strcmp 206

10.5 字符串应用 207

10.5.1 字符串基本操作函数实现 207

10.5.2 典型题目举例 211

课后习题 217

第11章 结构体与共用体 221

11.1 结构体 221

11.1.1 结构体类型的定义 221

11.1.2 结构体类型的变量定义方法 222

11.1.3 结构体变量的引用 225

11.1.4 结构体变量的赋值 226

11.1.5 结构体变量的初始化 227

11.2 类型定义符typedef 228

11.3 结构体类型的数组 229

11.3.1 结构体类型数组的定义 229

11.3.2 结构体类型数组的初始化 230

11.3.3 结构体数组应用举例 231

11.4 结构体类型的指针 233

11.4.1 定义结构体类型的指针变量 233

11.4.2 指向结构体数组的指针 235

11.4.3 用结构体变量和指向结构体的指针作函数参数 237

11.5 利用结构体变量构成链表 238

11.5.1 链表的概念 238

11.5.2 处理动态链表所需的函数 240

11.5.3 建立动态链表 242

11.5.4 输出链表 244

11.5.5 链表的删除操作 245

11.5.6 链表的插入操作 246

11.5.7 链表的综合操作 248

11.6 共用体 250

11.6.1 共用体变量的定义 250

11.6.2 共用体变量的引用 251

11.7 枚举类型 254

11.7.1 枚举类型的定义和枚举变量的说明 254

11.7.2 枚举类型变量的赋值和使用 254

课后习题 255

第12章 文件 258

12.1 文件指针 259

12.2 文件的打开与关闭 259

12.2.1 打开文件 259

12.2.2 关闭文件 260

12.3 文件的读写 261

12.3.1 字符读写函数fgetc和fputc 261

12.3.2 字符串读写函数fgets和fputs 264

12.3.3 数据块读写函数fread和fwtrite 266

12.3.4 格式化读写函数fscanf和fprintf 268

12.4 文件的定位 270

12.4.1 rewind函数 270

12.4.2 fseek函数 271

12.4.3 ftell函数 272

文件检测函数 273

课后习题 273

附录 276

附录A C关键字(共32个) 276

附录B C基本数据类型的取值范围(Visual C++下) 278

附录C C关键字运算符的优先级和结合性 279

参考文献 280