图书目录

目录

第1章程序设计和C语言1

1.1什么是计算机程序1

1.2什么是计算机语言1

1.3C语言的发展及其特点3

1.4最简单的C语言程序5

1.4.1最简单的C语言程序举例5

1.4.2C语言程序的结构9

1.5运行C程序的步骤与方法12

1.6程序设计的任务13

习题14

第2章算法——程序的灵魂16

2.1程序=算法+数据结构16

2.2什么是算法17

2.3简单的算法举例17

2.4算法的特性21

2.5怎样表示一个算法22

2.5.1用自然语言表示算法22

2.5.2用流程图表示算法22

2.5.3三种基本结构和改进的流程图26

2.5.4用NS流程图表示算法28

2.5.5用伪代码表示算法32

2.5.6用计算机语言表示算法33

2.6结构化程序设计方法34

习题36

第3章最简单的C程序设计——顺序程序设计37

3.1顺序程序设计举例37

3.2数据的表现形式及其运算39

3.2.1常量和变量39

3.2.2数据类型42

3.2.3整型数据44

3.2.4字符型数据47

3.2.5浮点型数据49

3.2.6怎样确定常量的类型50

3.3运算符和表达式52

3.3.1C运算符52

3.3.2基本的算术运算符52

3.3.3自增(++)、自减(--)运算符53

3.3.4算术表达式和运算符的优先级与结合性53

3.3.5不同类型数据间的混合运算54

3.3.6强制类型转换运算符55

3.4C语句56

3.4.1C语句的作用和分类56

3.4.2最基本的语句——赋值语句58

3.5数据的输入输出64

3.5.1输入输出举例64

3.5.2有关数据输入输出的概念65

3.5.3用printf函数输出数据67

3.5.4用scanf函数输入数据73

3.5.5字符输入输出函数76

习题79

第4章选择结构程序设计82

4.1选择结构和条件判断82

4.2用if语句实现选择结构84

4.2.1用if语句处理选择结构举例84

4.2.2if语句的一般形式86

4.3关系运算符和关系表达式88

4.3.1关系运算符及其优先次序88

4.3.2关系表达式89

4.4逻辑运算符和逻辑表达式89

4.4.1逻辑运算符及其优先次序90

4.4.2逻辑表达式90

4.5条件运算符和条件表达式93

4.6选择结构的嵌套95

4.7用switch语句实现多分支选择结构97

4.8选择结构程序综合举例100

习题105

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

5.1为什么需要循环控制108

5.2用while语句实现循环109

5.3用do…while语句实现循环110

5.4用for语句实现循环114

5.5循环的嵌套118

5.6几种循环的比较119

5.7改变循环执行的状态119

5.7.1用break语句提前终止循环119

5.7.2用continue语句提前结束本次循环121

5.7.3break语句和continue语句的区别122

5.8循环程序举例124

习题134

第6章利用数组处理批量数据136

6.1怎样定义和引用一维数组136

6.1.1怎样定义一维数组137

6.1.2怎样引用一维数组元素137

6.1.3一维数组的初始化138

6.1.4一维数组程序举例139

6.2怎样定义和引用二维数组142

6.2.1怎样定义二维数组142

6.2.2怎样引用二维数组的元素144

6.2.3二维数组的初始化144

6.2.4二维数组程序举例145

6.3字符数组147

6.3.1怎样定义字符数组147

6.3.2字符数组的初始化148

6.3.3怎样引用字符数组中的元素148

6.3.4字符串和字符串结束标志149

6.3.5字符数组的输入输出151

6.3.6使用字符串处理函数153

6.3.7字符数组应用举例157

习题160

第7章用函数实现模块化程序设计162

7.1为什么要用函数162

7.2怎样定义函数164

7.2.1为什么要定义函数164

7.2.2定义函数的方法165

7.3调用函数166

7.3.1函数调用的形式166

7.3.2函数调用时的数据传递167

7.3.3函数调用的过程169

7.3.4函数的返回值169

7.4对被调用函数的声明和函数原型171

7.5函数的嵌套调用174

7.6函数的递归调用176

7.7数组作为函数参数183

7.7.1数组元素作函数实参184

7.7.2一维数组名作函数参数185

7.7.3多维数组名作函数参数188

7.8局部变量和全局变量190

7.8.1局部变量190

7.8.2全局变量191

7.9变量的存储方式和生存期195

7.9.1动态存储方式与静态存储方式195

7.9.2局部变量的存储类别196

7.9.3全局变量的存储类别199

7.9.4存储类别小结203

7.10关于变量的声明和定义205

7.11内部函数和外部函数206

7.11.1内部函数206

7.11.2外部函数206

习题209

第8章善于利用指针211

8.1指针是什么211

8.2指针变量213

8.2.1使用指针变量的例子213

8.2.2怎样定义指针变量214

8.2.3怎样引用指针变量216

8.2.4指针变量作为函数参数217

8.3通过指针引用数组222

8.3.1数组元素的指针222

8.3.2在引用数组元素时指针的运算223

8.3.3通过指针引用数组元素224

8.3.4用数组名作函数参数229

8.3.5通过指针引用多维数组236

8.4通过指针引用字符串246

8.4.1字符串的引用方式246

8.4.2字符指针作函数参数250

8.4.3使用字符指针变量和字符数组的比较254

8.5指向函数的指针256

8.5.1什么是函数的指针256

8.5.2用函数指针变量调用函数257

8.5.3怎样定义和使用指向函数的指针变量258

8.5.4用指向函数的指针作函数参数261

8.6返回指针值的函数264

8.7指针数组和多重指针267

8.7.1什么是指针数组267

8.7.2指向指针数据的指针变量269

8.7.3指针数组作main函数的形参272

8.8动态内存分配与指向它的指针变量274

8.8.1什么是内存的动态分配274

8.8.2怎样建立内存的动态分配275

8.8.3void指针类型276

8.9有关指针的小结278

习题281

第9章用户自己建立数据类型283

9.1定义和使用结构体变量283

9.1.1自己建立结构体类型283

9.1.2定义结构体类型变量285

9.1.3结构体变量的初始化和引用286

9.2使用结构体数组289

9.2.1定义结构体数组289

9.2.2结构体数组的应用举例291

9.3结构体指针292

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

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

9.3.3用结构体变量和结构体变量的指针作函数参数295

9.4用指针处理链表298

9.4.1什么是链表298

9.4.2建立简单的静态链表299

9.4.3建立动态链表300

9.4.4输出链表303

9.5共用体类型306

9.5.1什么是共用体类型306

9.5.2引用共用体变量的方式307

9.5.3共用体类型数据的特点307

9.6使用枚举类型311

9.7用typedef声明新类型名314

习题317

第10章对文件的输入输出319

10.1C文件的有关基本知识319

10.1.1什么是文件319

10.1.2文件名320

10.1.3文件的分类320

10.1.4文件缓冲区321

10.1.5文件类型指针321

10.2打开与关闭文件323

10.2.1用fopen函数打开数据文件323

10.2.2用fclose函数关闭数据文件325

10.3顺序读写数据文件326

10.3.1怎样向文件读写字符326

10.3.2怎样向文件读写一个字符串329

10.3.3用格式化的方式读写文本文件333

10.3.4用二进制方式向文件读写一组数据333

10.4随机读写数据文件338

10.4.1文件位置标记及其定位338

10.4.2随机读写 341

10.5文件读写的出错检测342

习题343

附录344

附录A常用字符与ASCII码对照表344

附录BC语言中的关键字345

附录C运算符和结合性346

附录DC语言常用语法提要349

附录EC库函数353

参考文献359