第1章 C程序设计基础1
1.1 程序设计概述1
1.1.1 程序设计的概念1
1.1.2 程序设计方法1
1.1.3 程序设计语言及其发展2
1.2 C语言概述4
1.2.1 C语言的发展4
1.2.2 C语言的特点5
1.2.3 C语言的应用6
1.3 C程序的组成7
1.3.1 简单程序举例7
1.3.2 C程序的组成特点9
1.3.3 C程序的书写规范9
1.4 C程序设计的一般步骤10
1.5 C语言程序开发调试环境11
1.5.1 Visual C++6.0简介11
1.5.2 Visual C++6.0下开发调试C程序的方法
与步骤12
1.6 小结17
1.7 练习17
第2章 基本数据类型及运算19
2.1 C语言的构成元素19
2.1.1 构成元素概述19
2.1.2 字符集19
2.1.3 标识符20
2.2 C语言的数据类型21
2.2.1 数据类型概述21
2.2.2 整型22
2.2.3 浮点型24
2.2.4 字符型25
2.3 常量25
2.3.1 符号常量26
2.3.2 整型常量26
2.3.3 浮点型常量28
2.3.4 字符常量28
2.3.5 字符串常量30
2.4 变量30
2.4.1 变量的概念30
2.4.2 变量定义31
2.4.3 变量初始化31
2.4.4 变量赋值31
2.5 运算符和表达式32
2.5.1 运算符概述32
2.5.2 算术运算符和算术表达式33
2.5.3 赋值运算符和赋值表达式36
2.5.4 逗号运算符和逗号表达式38
2.6 数据类型转换38
2.6.1 自动转换38
2.6.2 强制类型转换39
2.7 小结40
2.8 练习40
第3章 简单C程序设计44
3.1 算法44
3.1.1 算法的概念44
3.1.2 算法的特性45
3.1.3 算法设计的要求45
3.1.4 算法的描述46
3.2 C语句概述49
3.3 C语言的输入输出51
3.3.1 输入输出概述51
3.3.2 格式输出函数printf52
3.3.3 格式输入函数scanf57
3.3.4 字符输出函数与字符输入函数60
3.4 程序设计举例61
3.5 小结62
3.6 练习62
第4章 选择结构64
4.1 关系运算符和关系表达式64
4.1.1 关系运算符64
4.1.2 关系运算符的优先级65
4.1.3 关系表达式65
4.1.4 关系表达式的值65
4.2 逻辑运算符和表达式66
4.2.1 逻辑运算符66
4.2.2 逻辑运算符的优先级66
4.2.3 逻辑表达式66
4.2.4 逻辑表达式的值66
4.3 if语句69
4.3.1 if语句的形式69
4.3.2 if语句的嵌套76
4.4 条件运算符和条件表达式80
4.5 switch语句82
4.6 程序设计举例87
4.7 小结94
4.8 练习94
第5章 循环结构98
5.1 while语句98
5.2 do…while语句101
5.3 for语句103
5.4 循环嵌套108
5.5 break语句111
5.6 continue语句112
5.7 goto语句115
5.8 程序设计举例116
5.9 小结122
5.10 练习123
第6章 数组128
6.1 一维数组128
6.1.1 一维数组的定义128
6.1.2 一维数组的初始化129
6.1.3 一维数组元素的引用130
6.1.4 程序设计举例131
6.2 二维数组137
6.2.1 二维数组的定义137
6.2.2 二维数组的初始化138
6.2.3 使用二维数组139
6.2.4 程序设计举例141
6.3 字符数组143
6.3.1 字符数组的定义143
6.3.2 字符数组的初始化143
6.3.3 字符数组的输入输出145
6.3.4 字符串处理函数148
6.3.5 程序设计举例158
6.4 小结161
6.5 练习161
第7章 函数166
7.1 函数概述166
7.2 函数的定义168
7.2.1 函数的定义形式168
7.2.2 函数的参数169
7.2.3 函数的返回值171
7.3 函数的声明和调用172
7.3.1 函数的声明172
7.3.2 函数的调用174
7.3.3 函数的嵌套调用174
7.3.4 函数的递归调用176
7.4 变量的作用域与存储类别178
7.4.1 变量的作用域178
7.4.2 变量的存储类别182
7.4.3 变量的作用域与存储类别小结187
7.5 内部函数与外部函数187
7.5.1 内部函数187
7.5.2 外部函数188
7.6 预处理189
7.6.1 文件包含189
7.6.2 宏定义190
7.7 小结196
7.8 练习196
第8章 指针203
8.1 指针的概念203
8.2 指针变量203
8.2.1 指针变量的概念203
8.2.2 指针变量的定义204
8.2.3 指针变量的赋值204
8.2.4 指针变量的引用205
8.3 指针与数组208
8.3.1 指向数组元素的指针208
8.3.2 指向一维数组的指针变量214
8.3.3 指针数组215
8.4 指针与字符串216
8.4.1 指向字符串的指针变量216
8.4.2 指向字符串的指针变量与字符数组的区别220
8.5 指针与函数222
8.5.1 指针变量作为函数参数222
8.5.2 返回指针值的函数226
8.5.3 指向函数的指针228
8.5.4 指针数组作为main函数的参数231
8.6 指向指针的指针233
8.7 小结235
8.8 练习235
第9章 构造数据类型239
9.1 结构体 239
9.1.1 结构体类型 239
9.1.2 结构体类型的声明240
9.1.3 结构体变量 240
9.1.4 结构体数组 244
9.1.5 结构体指针 247
9.2 链表251
9.2.1 链表概述251
9.2.2 链表操作252
9.3 共用体 258
9.3.1 共用体类型 258
9.3.2 共用体变量 259
9.4 枚举类型 261
9.4.1 枚举类型 261
9.4.2 枚举变量 262
9.5 用typedef定义类型别名263
9.6 小结264
9.7 练习264
第10章 位运算267
10.1 位运算符 267
10.2 简单位运算268
10.3 位域272
10.4 小结274
10.5 练习275
第11章 文件276
11.1 文件概述276
11.2 文件的打开与关闭277
11.2.1 文件指针277
11.2.2 文件的打开278
11.2.3 文件的关闭279
11.3 文件的读写279
11.3.1 字符的读写279
11.3.2 字符串读写282
11.3.3 数据块读写284
11.3.4 格式化读写函数286
11.4 文件的定位287
11.5 文件的检测291
11.6 小结291
11.7 练习292
附录A 常用字符与ASCII代码对照表297
附录B C语言中的关键字300
附录C 运算符和结合性301
附录D C常用库函数303
参考文献310