第1章 C语言概述 1
1.1 C语言的历史背景及其特点 1
1.1.1 C语言的历史背景 1
1.1.2 C语言的特点 3
1.2 C语言程序的基本构成 5
1.2.1 简单的C语言程序介绍 5
1.2.2 C语言程序的书写格式 6
1.2.3 C语言的字符集 7
1.2.4 C语言的词汇 7
1.2.5 C语言的语句 8
1.3 C语言运行步骤 9
1.3.1 C语言程序的开发过程 9
1.3.2 VC++6.0集成开发环境 10
1.3.3 程序的编辑、编译、调试和运行举例 11
习题 12
第2章 基本的数据类型及运算符号 14
2.1 C语言的数据类型 14
2.1.1 常量与变量 15
2.1.2 整型数据 16
2.1.3 浮点型数据 19
2.1.4 字符型数据 20
2.2 C语言的运算符和表达式 23
2.2.1 算术运算符和算术表达式 24
2.2.2 赋值运算符和赋值表达式 26
2.3 数据的混合运算 28
习题 29
第3章 顺序结构程序设计 32
3.1 算法与结构化程序设计 32
3.1.1 算法的概念 32
3.1.2 算法的描述 33
3.1.3 三种基本控制结构的描述 35
3.2 C语言的语句 37
3.3 数据输出 39
3.3.1 printf函数(格式输出函数) 40
3.3.2 putchar函数 43
3.4 数据的输入 43
3.4.1 scanf函数(格式输入函数) 43
3.4.2 getchar函数 45
3.5 顺序结构 46
3.6 实训1 48
习题 49
第4章 选择结构程序设计 50
4.1 选择结构 50
4.2 条件的表示 50
4.2.1 关系运算符和表达式 50
4.2.2 逻辑运算符和表达式 52
4.2.3 条件举例 54
4.3 if语句 55
4.4 用switch语句实现多分支选择结构 62
4.5 实训2 64
习题 65
第5章 循环结构程序设计 67
5.1 循环结构及其算法 67
5.2 用while语句实现循环结构 69
5.3 用do-while语句实现循环结构 71
5.4 用for语句实现循环 74
5.5 循环的嵌套 76
5.6 break语句和continue语句 79
5.7 程序举例 81
5.8 实训3 83
习题 85
第6章 数组 86
6.1 一维数组的定义和使用 86
6.1.1 一维数组的说明 86
6.1.2 一维数组的初始化 88
6.1.3 一维数组元素的引用 89
6.1.4 一维数组的应用 90
6.2 二维数组的定义和使用 92
6.2.1 二维数组的说明 92
6.2.2 二维数组的初始化 93
6.2.3 二维数组的引用 94
6.2.4 二维数组的应用 94
6.3 C语言中字符串的处理方法 96
6.3.1 字符数组 96
6.3.2 字符串 98
6.3.3 字符串处理函数 100
6.3.4 字符串的应用 103
6.4 实训4 104
习题 106
第7章 函数 107
7.1 函数作用 107
7.2 函数的类别 109
7.3 函数的定义 109
7.4 函数的调用 110
7.4.1 函数调用类型 110
7.4.2 形式参数和实际参数 111
7.4.3 函数的返回值 112
7.4.4 被调用函数的声明和函数原型 113
7.4.5 函数的嵌套调用 116
7.4.6 函数的递归调用 118
7.5 数组与函数 123
7.5.1 数组元素作函数实参 123
7.5.2 数组名作为函数参数 124
7.6 局部变量和全局变量 129
7.6.1 局部变量 129
7.6.2 全局变量 131
7.6.3 变量的存储类别 132
7.7 实训5 135
习题 137
第8章 指针 139
8.1 指针的基本概念 139
8.2 变量与指针 141
8.2.1 定义一个指针变量 141
8.2.2 指针变量的引用 142
8.2.3 指针变量作为函数参数 145
8.3 数组与指针 149
8.3.1 指向数组元素的指针 149
8.3.2 通过指针引用数组元素 150
8.3.3 多维数组与指针 153
8.4 字符串与指针 160
8.4.1 字符串的表示形式 160
8.4.2 字符串指针作函数参数 163
8.5 函数与指针 166
8.5.1 用函数指针变量调用函数 166
8.5.2 用指向函数的指针作函数参数 168
8.6 返回指针值的函数 169
8.7 指针数组及双重指针 171
8.7.1 指针数组的概念 171
8.7.2 双重指针 173
8.8 实训6 176
习题 176
第9章 结构体与链表 178
9.1 结构体 178
9.1.1 结构体的定义 178
9.1.2 结构体类型变量的说明 179
9.1.3 结构体变量成员的使用 181
9.1.4 结构体数组的定义 182
9.2 结构体指针变量 185
9.2.1 指向结构体变量的指针 185
9.2.2 指向结构体数组的指针 187
9.2.3 结构体指针变量作函数参数 188
9.3 用typedef命名已有数据类型 190
9.4 动态内存分配 191
9.5 链表的构造与处理 192
9.5.1 简单链表的建立 193
9.5.2 链表的查找 194
9.5.3 链表的删除 195
9.5.4 链表的插入 196
9.5.5 链表的输出 197
9.6 实训7 199
习题 203
第10章 文件 206
10.1 概述 206
10.1.1 文件的存储方式 206
10.1.2 文件类型的指针 207
10.2 文件的打开和关闭 207
10.2.1 打开文件 208
10.2.2 关闭文件 209
10.3 文件的读写 209
10.3.1 字符的读取和写入 210
10.3.2 字符串输入函数和输出函数 213
10.3.3 按格式读取和写入 214
10.3.4 数据块读取和写入 216
10.4 文件的定位操作 217
10.5 实训8 219
习题 220
第11章 综合项目 223
11.1 系统设计要求 223
11.2 系统需求分析 223
11.2.1 设计思想 223
11.2.2 系统完成功能及框图 223
11.3 系统实现 224
附录 233
附录A 基本控制字符/字符与ASCII代码对照表 233
附录B C语言操作符的优先级 234
参考文献 235