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

  • 购买积分:10 如何计算积分?
  • 作  者:刘法功,李永明编著
  • 出 版 社:北京:地震出版社
  • 出版年份:2003
  • ISBN:7502817018
  • 页数:229 页
图书介绍:

目录 1

第1章算法与程序设计 1

1.1程序设计的基本概念 1

1.1.1什么是程序 1

1.1.2计算机如何运行程序 1

1.1.3如何实现程序设计 2

1.2算法和流程图 3

1.2.1什么是算法 3

1.2.2算法应具备的特性 4

1.2.3怎样表示算法 4

1.3结构化程序设计 6

1.3.1为什么要采用结构化程序设计 6

1.3.2结构化程序的基本组成 6

1.3.3复杂问题的解决方法 8

1.3.4如何评价一个程序 9

练习题 10

第2章C语言程序设计的基础知识 11

2.1简单C语言程序的组成和格式 11

2.1.1一个简单的C语言程序 11

2.1.2 C语言程序的组成和格式 12

2.1.3关键字和标识符 13

2.1.4常量和变量 13

2.2简单的数据类型 14

2.2.1为什么要区分不同的数据类型 14

2.2.2整型常量和变量 15

2.2.3实型常量和变量 15

2.2.4字符型常量和变量 16

2.2.5符号常量、不可变的变量 17

2.2.6无值型 18

2.3算术运算 18

2.3.1算术运算符和表达式 18

2.3.2数据类型的转换 19

2.3.3如何使用C语言的标准库函数 20

2.4赋值运算、逗号运算和自加、自减运算 21

2.4.1赋值运算符和表达式 21

2.4.2 自加、自减运算符和表达式 22

2.4.3逗号运算符和表达式 23

2.5Turbo C环境下的上机操作步骤 23

2.5.1如何进入和退出Turbo C 2.0 23

2.5.2如何编辑源程序文件 25

2.5.3如何编译和运行程序 25

练习题 26

第3章顺序结构的程序设计 27

3.1顺序结构问题的提出 27

3.2赋值语句 28

3.3数据输入语句 28

3.3.1 scanf格式输入函数的使用 28

3.4.1 printf格式输出函数的使用 30

3.3.2 getchar字符输入函数的使用 30

3.4数据输出语句 30

3.4.2 putchar字符输出函数的应用 31

3.5顺序结构程序设计举例 32

3.6复合语句和空语句 33

3.6.1复合语句 33

3.6.2空语句 33

练习题 34

10.6常见算法介绍 1 34

第4章分支结构的程序设计 36

4.1分支结构问题的提出 36

4.2判断条件的描述方法 36

4.2.1用关系表达式描述判断条件 36

4.2.2用逻辑表达式描述判断条件 37

4.3解决简单的分支问题 38

4.3.1 if语句 38

4.3.3 if语句的嵌套 40

4.3.2 if-else语句 40

4.4.1 利用if语句的嵌套功能 42

4.3.4条件运算符和条件表达式 42

4.4解决多重分支的问题 42

4.4.2使用switch语句实现多重分支 43

4.5程序测试的问题 45

练习题 46

第5章循环结构的程序设计 48

5.1循环结构问题的提出 48

5.2.1 while循环语句 48

5.2解决单重循环的问题 48

5.2.2 do-while循环语句 49

5.2.3 for循环语句 50

5.2.4三种循环语句的比较 51

5.2.5典型程序举例 52

5.3解决多重循环的问题 54

5.3.1三种循环语句的混合嵌套问题 55

5.3.2 continue语句和break语句在循环中的应用 56

5.4简单的程序调试 57

练习题 58

第6章自定义函数的设计和使用 60

6.1 问题的提出 60

6.2函数的定义 60

6.2.1函数的定义形式 60

6.2.2函数的返回值 61

6.3函数的调用 61

6.3.1函数原型说明 61

6.3.2函数的调用 62

6.4函数的嵌套调用 64

6.5函数的递归调用 65

6.5.1 问题的提出 65

6.5.2递归调用的举例 66

练习题 68

7.1.1地址和指针的概念 69

第7章地址和指针 69

7.1地址和指针的概念 69

7.1.2为什么使用指针 70

7.2指针变量的定义和指针变量的基类型 72

7.2.1指针变量的定义和指针变量的基类型 72

7.2.2指针变量的基类型的作用 73

7.3给指针变量赋值 73

7.3.1使指针指向一个对象 73

7.3.2给指针变量赋“空”值 74

7.4对指针变量的操作 74

7.4.1通过指针或地址引用一个存储单元 74

7.4.2指针(变量)的运算 76

7.5指针在函数方面的应用 77

7.5.1在被调用函数中直接改变主调用函数中的参数值 77

7.5.2使函数返回一个地址 77

练习题 78

8.1.一维数组的用途 80

第8章一维数组的应用 80

8.1了解一维数组 80

8.1.2一维数组的定义 81

8.1.3一维数组元素的引用 82

8.1.4一维数组的初始化 83

8.2一维数组的简单应用 83

8.3利用地址和指针访问数组元素 85

8.3.1数组名、元素地址及指针的关系 85

8.3.2通过数组首地址访问数组元素 86

8.3.3通过指针访问数组元素 87

8.4与一维数组有关的参数传递 88

8.4.1数组元素作实参 88

8.4.2数组名作实参 89

8.5.1查找 90

8.4.3数组元素的地址作实参 90

8.5一维数组操作中的常用算法介绍 90

8.5.2插入 94

8.5.3删除 97

8.5.4排序 99

练习题 103

第9章二维数组的应用 105

9.1了解二维数组 105

9.1.1二维数组的用途 105

9.1.2二维数组的定义 105

9.1.3二维数组元素的引用 106

9.1.4二维数组的初始化 106

9.2二维数组的简单应用 108

9.3利用地址和指针访问二维数组 110

9.3.1二维数组与一维数组及指针的关系 110

9.3.2通过地址引用二维数组元素 112

9.3.3通过指针数组引用二维数组元素 112

9.4二维数组名作函数的实参 113

9.5.1查找 114

9.5二维数组操作中的常用算法介绍 114

9.5.2矩阵运算 115

9.5.3特殊矩阵的生成 117

练习题 120

第10章字符串处理 122

10.1 了解字符串 122

10.1.1字符串的应用 122

10.1.2字符型一维数组与字符串 122

10.1.3通过赋初值为字符型一维数组赋字符串 123

10.2字符指针与字符串 124

10.2.1使指针指向字符串 124

10.2.2用字符数组和字符指针处理字符串的区别 125

10.3字符串的输入和输出 126

10.3.1逐个字符的输入输出 126

10.3.2字符串整体输入输出 127

10.4多个字符串的存储和操作 129

10.5用于字符串处理的库函数 132

练习题 137

第11章用户标识符的作用域和存储类别 139

11.1作用域和存储类别的概念 139

11.1.1作用域 139

11.1.2存储类别和生存期 139

11.2局部变量和全局变量 140

11.2.1局部变量及其作用域 140

11.2.2全局变量及其作用域 141

11.3局部变量的存储类别和生存期 142

11.3.1 auto变量 142

11.3.2 register变量 143

11.3.3用static说明局部变量 144

11.4.1用extern说明全局变量 145

11.4全局变量的存储类别和生存期 145

11.4.2用static说明全局变量 146

11.5函数的存储分类 147

11.5.1用extern说明函数 147

11.5.2用static说明函数 148

11.6如何运行一个由多个源文件组成的程序 148

练习题 149

第12章编译预处理 152

12.1 了解编译预处理 152

12.2宏定义 152

12.2.1不带参数的宏定义 152

12.2.2带参数的宏定义 154

12.3文件包含 156

12.4条件编译 157

练习题 158

13.1.1可以由用户构造的数据类型 161

第13章结构体的应用 161

13.1 了解由用户构造的数据类型 161

13.1.2用typedef定义类型名 162

13.2结构体类型说明及结构体变量 163

13.2.1结构体类型的说明 164

13.2.2结构体变量的定义 165

13.2.3结构体变量的初始化 166

13.2.4结构体变量中成员的访问 167

13.3结构体数组 169

13.3.1结构体数组的定义 169

13.3.2结构体数组的初始化 170

13.3.3结构体数组的应用 171

13.4函数之间结构体类型的数据传递 173

13.4.1结构体变量的成员作实参 173

13.4.2结构体变量作形参 174

13.4.3结构体变量的地址作实参 175

13.4.4结构体数组名作实参 176

13.5利用结构体变量构成静态链表 177

13.5.1构成单向链表的结点结构 177

13.5.2静态链表 178

13.6利用指针处理动态链表 179

13.6.1动态链表的概念 179

13.6.2动态生成和释放结点所需的函数 179

13.6.3动态链表的建立和输出 180

13.6.4链表中结点的删除 182

13.6.5链表中结点的插入 184

练习题 185

第14章数据文件的应用 187

14.1文件的概念 187

14.1.1文件的分类 187

14.1.3 C语言文件概述 188

14.1.2数据文件的用途 188

14.2文件的打开与关闭 190

14.2.1文件的打开 190

14.2.2文件的关闭 191

14.3文件的顺序读写 191

14.3.1单个字符的读写 191

14.3.2按格式读写文本文件 194

14.3.3字符串的读写 195

14.3.4数据块的读写 197

14.4文件的定位与随机读写 198

14.4.1文件位置指针的反绕 198

14.4.2文件位置指针的移动和随机读写 199

14.4.3文件位置的测定 200

练习题 201

实训1算法的描述 203

第15章实训 203

实训2熟悉Turbo C 2.0的上机环境 205

实训3顺序结构的程序设计 206

实训4分支结构程序设计 207

实训5循环结构的程序设计 209

实训6函数的应用 211

实训7指针在函数中的应用 213

实训8一维数组的应用 215

实训9二维数组的应用 217

实训10字符串处理 219

实训11结构体的应用 221

实训12数据文件的应用 223

附录 224

附录一C语言的关键字 224

附录二运算符的优先级和结合性 224

附录三常用字符与ASCII代码对照表 225

附录四C库函数 226