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

  • 购买积分:11 如何计算积分?
  • 作  者:贾志娟主编;贾遂民,张红艳,张永副主编
  • 出 版 社:北京:科学出版社
  • 出版年份:2017
  • ISBN:9787030533760
  • 页数:278 页
图书介绍:C语言处理功能丰富,表达能力强,使用灵活方便,执行程序效率高,可移植性强:具有丰富的数据类型和运算符,语句非常简单,源程序简洁清晰;可以直接处理硬件系统和对外围设备接口进行控制。C语言是一种结构化的程序设计语言,支持自顶向下、逐步求精的结构化程序设计技术。《C语言程序设计》一书详细介绍了C语言程序设计的基本原理和方法,全书共分12章,主要介绍C语言基础知识,程序的控制结构,C语言中的构造数据类型,指针数据类型,程序中的文件及C语言的特点等内容。此外,本书还提供了大量的实例与习题,注重各部分知识的综合应用训练。

第1章 C语言概述 1

1.1 程序设计语言 1

1.1.1 程序的概念 1

1.1.2 程序设计语言的发展 2

1.2 C语言的发展 3

1.2.1 C语言的起源 3

1.2.2 C语言的发展 4

1.2.3 C语言的特点 6

1.3 C程序初识 6

1.3.1 编辑 6

1.3.2 编译、链接和执行 7

1.3.3 处理错误 8

1.4 简单的C语言程序 8

实验题目 10

习题1 11

第2章 简单C程序设计 12

2.1 如何将数据存入计算机 12

2.1.1 内存与内存空间 13

2.1.2 变量的作用 13

2.1.3 利用数据类型高效利用空间 13

2.1.4 变量的定义 16

2.2 其他数据表示 17

2.2.1 常量 17

2.2.2 符号常量 19

2.3 数据的输入与输出 21

2.3.1 格式化输出函数 21

2.3.2 格式化输入函数 24

2.4 数据的运算 26

2.4.1 C常见运算符 26

2.4.2 不同类型数据之间的转换 27

2.4.3 常用数学函数 29

实验题目 30

习题2 31

第3章 选择控制结构 34

3.1 逻辑类型与关系运算 34

3.1.1 逻辑类型与关系表达式 34

3.1.2 关系运算符 35

3.2 流程控制语句之if 35

3.2.1 单分支控制条件语句 35

3.2.2 复合语句(代码块) 36

3.2.3 双分支if语句 38

3.2.4 三目运算符 39

3.3 逻辑运算符与字符类型 39

3.3.1 逻辑运算符 40

3.3.2 运算符的优先级 40

3.3.3 字符类型 41

3.4 流程图、伪代码和代码缩进 43

3.4.1 流程图和嵌套的if else语句 43

3.4.2 多分支if语句 44

3.4.3 缩进、代码块与更易读的代码 46

3.4.4 伪代码和注释 47

3.5 switch语句 47

3.5.1 switch语句 47

3.5.2 break语句 48

实验题目 50

习题3 51

第4章 循环控制结构 52

4.1 循环的基本原理 52

4.2 循环语句 53

4.2.1 while语句 53

4.2.2 do-while语句 54

4.2.3 for语句 56

4.3 几种循环语句的比较 63

4.3.1 计数控制的循环 63

4.3.2 条件控制的循环 64

4.3.3 循环的嵌套 68

4.4 控制流程的跳转语句 71

4.4.1 break语句 71

4.4.2 continue语句 73

4.4.3 goto语句 75

4.5 类型溢出问题 77

实验项目 79

习题4 79

第5章 函数 81

5.1 函数概述 81

5.1.1 模块化程序设计 81

5.1.2 函数的概念 84

5.1.3 函数的分类 85

5.2 函数的定义和调用 87

5.2.1 函数的定义 87

5.2.2 return语句 92

5.2.3 函数调用 92

5.2.4 函数原型 97

5.3 函数的嵌套调用和递归调用 98

5.3.1 函数的嵌套调用 98

5.3.2 函数的递归调用 101

5.4 变量的作用域和存储类型 108

5.4.1 局部变量 108

5.4.2 全局变量 110

5.4.3 变量的存储类型 113

5.5 内部函数与外部函数 119

5.5.1 内部函数 120

5.5.2 外部函数 120

5.6 函数的设计原则 121

实验题目 122

习题5 123

第6章 数组 125

6.1 为什么使用数组 125

6.2 一维数组的定义和引用 125

6.2.1 一维数组的定义 125

6.2.2 一维数组的初始化 128

6.2.3 一维数组的应用举例 129

6.3 数组作为函数参数 132

6.4 数组的排序和查找 136

6.4.1 数组的查找 136

6.4.2 数组的排序 138

6.5 二维数组 144

6.5.1 二维数组的定义和引用 144

6.5.2 二维数组的初始化 144

6.5.3 二维数组的应用举例 146

实验题目 151

习题6 152

第7章 字符串 153

7.1 什么是字符串 153

7.1.1 字符串的定义 153

7.1.2 声明初始化字符串变量 154

7.2 字符串存储 155

7.3 字符串的输入输出 157

7.4 字符数组 158

7.4.1 字符数组的定义 158

7.4.2 字符数组初始化 159

7.4.3 字符数组的引用 159

7.4.4 字符数组的输入输出 160

7.4.5 字符串排序 161

7.5 字符串常用函数 163

7.5.1 求字符串长度函数strlen() 163

7.5.2 字符串复制函数strcpy()和strncpy() 164

7.5.3 字符串连接函数strcat()和strncat() 165

7.5.4 字符串比较函数strcmp()和strncmp() 166

7.5.5 字符串的查找函数strchr() 167

7.6 字符串的简单应用 168

7.6.1 统计单词个数 168

7.6.2 统计整数及小数的和 169

7.6.3 十进制数转换二进制数 170

实验题目 171

习题7 172

第8章 指针 173

8.1 变量的内存地址 173

8.2 指针的基础知识 174

8.2.1 指针的概念 174

8.2.2 指针变量的定义 175

8.2.3 指针变量的初始化 175

8.2.4 指针的间接寻址运算符 178

8.3 指针作为参数 180

8.4 指针和一维数组 185

8.4.1 指针运算在一维数组中的应用 185

8.4.2 一维数组与指针的关系 187

8.4.3 一维数组作为函数参数 189

8.5 指针和二维数组 192

8.5.1 二维数组的行地址和列地址 192

8.5.2 利用二维数组名做指针 193

8.5.3 指向数组的指针 195

8.6 指针和字符串 197

8.6.1 字符串常量及存储方式 197

8.6.2 字符指针 197

8.6.3 利用指针处理字符串 199

8.7 指针的高级应用 202

8.7.1 动态分配数组和字符串 202

8.7.2 释放动态分配的存储空间 203

实验题目 204

习题8 205

第9章 结构体和共用体 208

9.1 结构体基本知识 208

9.1.1 结构体类型的概念 208

9.1.2 结构体变量的定义 209

9.1.3 使用typedef定义数据类型 211

9.1.4 结构体变量的初始化 211

9.1.5 结构体变量的引用 212

9.1.6 本节实验 213

9.2 结构体数组 214

9.2.1 结构体数组的定义 214

9.2.2 本节实验 216

9.3 结构体指针 217

9.3.1 指向结构体变量的指针 217

9.3.2 指向结构体数组的指针 219

9.3.3 结构体作为函数参数 220

9.3.4 本节实验 222

9.4 共用体基本知识 224

9.4.1 共用体的概念 224

9.4.2 共用体变量的引用 225

9.4.3 共用体类型数据的特点 226

9.4.4 本节实验 226

9.5 枚举类型基本知识 228

9.5.1 枚举类型的定义 228

9.5.2 枚举变量的说明 228

9.5.3 枚举类型的引用 229

9.5.4 本节实验 230

9.6 结构的应用——单链表 232

9.6.1 单链表类型的定义 233

9.6.2 单链表的建立 234

9.6.3 单链表的遍历 236

9.6.4 单链表的插入 237

9.6.5 单链表的删除 238

9.6.6 单链表的查找 239

实验题目 240

习题9 241

第10章 编译预处理 248

10.1 预处理的工作原理 248

10.2 预处理指令 249

10.3 #define预处理指令 250

10.3.1 符号常量 250

10.3.2 带参数的宏 250

10.3.3 #undef指令 252

10.4 文件包含 252

10.4.1 include指令 252

10.4.2 模块化程序中的多文件程序 253

10.5 条件编译 254

10.5.1 #if指令 254

10.5.2 #ifdef指令和#ifndef指令 255

实验题目 255

习题10 256

第11章 文件 257

11.1 文件的打开与关闭 257

11.1.1 文件的概念 257

11.1.2 文件指针 258

11.1.3 文件打开 259

11.1.4 文件关闭 260

11.1.5 本节实验 261

11.2 顺序文件的读写 262

11.2.1 按字符读写文件 262

11.2.2 按字符串读写文件 264

11.2.3 按数据块读写文件 265

11.2.4 按格式读写文件 267

11.2.5 本节实验 268

11.3 随机文件的读写 270

11.3.1 文件定位 270

11.3.2 文件的随机读写 272

11.3.3 本节实验 273

实验题目 274

习题11 275