图书目录

第1章C语言概述1

1.1计算机与程序、程序设计语言1

1.2C语言出现的历史背景2

1.3C 语言的特点3

1.4简单的C语言程序4

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

1.5.1运行C程序的步骤8

1.5.2上机运行C程序的方法8

本章小结15

习题16

第2章数据类型、运算符与表达式17

2.1C语言的数据类型17

2.2常量与变量17

2.2.1常量18

2.2.2变量19

2.3整型数据20

2.3.1整型常量的表示形式20

2.3.2整型变量21

2.3.3整型数据在内存中的存放形式22

2.3.4整型数据的溢出23

2.3.5整型常量的类型24

2.4浮点型数据24

2.4.1浮点型常量的表示形式24

2.4.2浮点型变量25

2.4.3浮点型常量的类型26

2.5字符型数据27

2.5.1字符常量27

2.5.2字符变量28

2.5.3字符数据在内存中的存储形式及其使用方法28

2.5.4字符串常量31

2.6各类数值型数据间的混合运算32

2.7算术运算符和算术表达式33

2.7.1C语言运算符和C算术表达式简介33

2.7.2主要的算术运算符和算术表达式34

2.8逗号运算符和逗号表达式36

本章小结38

习题38

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

3.1程序的三种基本结构40

3.2C语句概述41

3.3赋值表达式和赋值语句43

3.3.1赋值表达式43

3.3.2赋值过程中的类型转换46

3.3.3赋值语句48

3.3.4变量赋初值48

3.4数据输入输出的概念及在C语言中的实现49

3.5字符数据的输入输出50

3.5.1用putchar函数输出一个字符50

3.5.2用getchar函数输入一个字符51

3.6简单的格式输入与输出52

3.6.1用简单的printf函数输出数据52

3.6.2用简单的scanf函数输入数据55

3.7较复杂的输入输出格式控制58

3.7.1输出数据格式控制58

3.7.2输入数据格式控制63

3.8顺序结构程序设计举例64

本章小结66

习题67

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

4.1关于算法69

4.1.1算法的概念69

4.1.2怎样表示算法71

4.2条件判断73

4.2.1关系运算和关系表达式73

4.2.2逻辑运算符和逻辑表达式75

4.3用if语句实现选择结构78

4.3.1if语句的3种形式78

4.3.2if语句的嵌套81

4.3.3条件运算符和条件表达式84

4.4利用switch语句实现多分支选择结构87

4.5程序举例89

本章小结94

习题94

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

5.1循环的概念96

5.2用while语句和do…while语句实现循环96

5.2.1用while语句实现循环96

5.2.2用do…while语句实现循环98

5.2.3while和do…while循环的比较99

5.2.4while循环程序举例100

5.3用for 语句实现循环101

5.3.1for语句的一般形式和执行过程101

5.3.2for语句的各种形式102

5.3.3for循环程序举例105

5.4循环的嵌套106

5.5用break语句和continue语句改变循环状态107

5.5.1用break语句提前退出循环107

5.5.2用continue语句提前结束本次循环108

5.6几种循环的比较109

5.7程序举例109

本章小结112

习题113

第6章数组115

6.1数组的概念115

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

6.2.1定义一维数组115

6.2.2引用一维数组元素116

6.2.3一维数组的初始化117

6.2.4一维数组程序举例117

6.3二维数组的定义和引用120

6.3.1定义二维数组120

6.3.2引用二维数组的元素120

6.3.3二维数组的初始化121

6.3.4二维数组程序举例122

6.4字符数组124

6.4.1定义字符数组124

6.4.2字符数组的初始化125

6.4.3引用字符数组的元素125

6.4.4字符串和字符串结束标志126

6.4.5字符数组的输入输出128

6.4.6字符串处理函数130

6.4.7字符数组应用举例134

本章小结137

习题138

第7章函数调用140

7.1函数概述140

7.2函数定义的一般形式142

7.2.1为什么要定义函数142

7.2.2怎样定义无参函数142

7.2.3怎样定义有参函数143

7.2.4定义空函数143

7.3函数参数和函数的值144

7.3.1形式参数和实际参数144

7.3.2函数的返回值145

7.4函数的调用147

7.4.1函数调用的一般形式147

7.4.2函数调用的方式148

7.4.3对被调用函数的声明和函数原型148

7.5函数的嵌套调用152

7.6函数的递归调用153

7.7数组作为函数参数160

7.7.1数组元素作函数实参160

7.7.2数组名作函数参数161

7.7.3用多维数组名作函数参数165

7.8变量的作用域——局部变量和全局变量166

7.8.1局部变量166

7.8.2全局变量167

7.9变量的存储方式和生存期170

7.9.1局部变量的存储类别171

7.9.2全局变量的存储类别174

7.9.3存储类别小结177

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

7.11内部函数和外部函数180

7.11.1内部函数180

7.11.2外部函数181

本章小结183

习题184

第8章指针186

8.1地址和指针的概念186

8.2变量的指针和指向变量的指针变量188

8.2.1怎样定义指针变量188

8.2.2怎样引用指针变量190

8.2.3指针变量作为函数参数192

8.3通过指针引用数组197

8.3.1数组元素的指针197

8.3.2指针的运算197

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

8.3.4用数组名作函数参数203

8.3.5通过指针引用多维数组210

8.4通过指针引用字符串218

8.4.1字符串的表示形式218

8.4.2字符指针作函数参数221

8.4.3对使用字符指针变量和字符数组的讨论224

8.5指向函数的指针226

8.5.1什么是函数指针226

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

8.5.3用指向函数的指针作函数参数230

8.6返回指针值的函数233

8.7指针数组和多重指针235

8.7.1指针数组的概念235

8.7.2指向指针数据的指针238

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

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

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

8.8.3void指针类型242

本章小结244

习题246

第9章用户建立的数据类型248

9.1结构体类型和结构体变量248

9.1.1结构体类型248

9.1.2定义结构体类型变量250

9.1.3引用结构体变量251

9.1.4结构体变量的初始化252

9.2结构体数组253

9.2.1定义结构体数组253

9.2.2结构体数组的初始化254

9.2.3结构体数组应用举例255

9.3结构体指针256

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

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

9.3.3结构体变量和指向结构体的指针作函数参数260

9.4用指针处理链表262

9.4.1链表概述262

9.4.2建立简单的静态链表263

9.4.3建立动态链表264

9.4.4输出链表267

9.5共用体类型269

9.5.1什么是共用体类型269

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

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

9.6枚举类型274

9.7用typedef命名类型278

本章小结280

习题281

第10章文件操作283

10.1C文件的有关概念283

10.1.1什么是文件283

10.1.2文件名284

10.1.3文件的分类284

10.1.4文件缓冲区285

10.1.5文件指针285

10.1.6文件的位置指针286

10.2文件的打开与关闭287

10.2.1文件的打开287

10.2.2文件的关闭288

10.3文件的顺序读写289

10.3.1向文件读写一个字符289

10.3.2向文件读写一个字符串292

10.3.3向文件进行格式化读写295

10.3.4向文件读写一组数据296

10.4文件的随机读写300

10.4.1文件位置指针的定位300

10.4.2随机读写302

10.5文件读写的出错检测303

本章小结303

习题305

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

附录BC语言中的关键字307

附录C运算符和结合性308

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

附录EC库函数316

参考文献323