第一部分 基础篇 1
案例1 简单学习机 1
第1章 C语言及程序设计基本知识 5
1.1 程序及程序设计语言 5
1.1.1 程序 6
1.1.2 程序设计语言 7
1.1.3 算法 7
1.1.4 结构化程序设计方法 8
1.2 C程序结构 9
1.2.1 C语言的发展及特点 10
1.2.2 C语言程序格式说明 11
1.3 C程序调试 11
1.4 习题与实训 16
第2章 数据与运算 19
2.1 变量定义 19
2.1.1 数据类型 19
2.1.2 常量 20
2.1.3 变量 22
2.2 数据运算 25
2.2.1 类型转换 25
2.2.2 算术运算 26
2.2.3 赋值运算 27
2.2.4 逗号运算 28
2.3 习题与实训 29
第3章 顺序结构程序设计 34
3.1 数据输入 34
3.1.1 赋值语句 35
3.1.2 字符数据输入函数 35
3.1.3 格式化输入函数 35
3.2 数据输出 37
3.2.1 字符数据输出函数 37
3.2.2 格式化输出函数 38
3.3 注释 40
3.4 应用举例 40
3.5 习题与实训 43
第4章 选择结构程序设计 50
4.1 关系表达式和逻辑表达式 50
4.1.1 关系表达式 50
4.1.2 逻辑表达式 51
4.2 简单选择结构流程控制 52
4.2.1 简单if语句 53
4.2.2 复合语句 54
4.2.3 空语句 54
4.2.4 条件表达式 55
4.3 复杂选择结构流程控制 55
4.3.1 嵌套if语句 56
4.3.2 switch语句 56
4.4 应用举例 58
4.5 习题与实训 63
第5章 循环结构程序设计 72
5.1 循环结构流程控制 72
5.1.1 while语句 73
5.1.2 do…while语句 74
5.1.3 for语句 75
5.2 循环结构中的跳转控制 77
5.2.1 break语句 77
5.2.2 continue语句 78
5.3 多重循环结构 79
5.4 应用举例 81
5.5 习题与实训 88
第6章 函数 97
6.1 函数的定义和调用 97
6.1.1 函数定义 98
6.1.2 函数调用 100
6.1.3 函数声明 103
6.2 局部变量与全局变量 106
6.2.1 局部变量 106
6.2.2 全局变量 107
6.3 动态变量与静态变量 108
6.3.1 动态存储方式和静态存储方式 108
6.3.2 动态变量 109
6.3.3 静态变量 110
6.4 内部函数与外部函数 113
6.4.1 内部函数 113
6.4.2 外部函数 114
6.5 应用举例 114
6.6 习题与实训 118
第二部分 提高篇 127
案例2 班级成绩管理系统 127
第7章 数组 134
7.1 一维数组 134
7.1.1 一维数组的定义与引用 134
7.1.2 一维数组初始化 135
7.2 二维数组 137
7.2.1 二维数组的定义与引用 137
7.2.2 二维数组初始化 139
7.3 字符数组 140
7.3.1 字符数组的定义、引用与初始化 141
7.3.2 字符串与字符数组 142
7.3.3 字符串函数 143
7.4 应用举例 146
7.5 习题与实训 152
第8章 指针 159
8.1 指针的概念及基本运算 159
8.1.1 指针的概念 159
8.1.2 指针变量 160
8.1.3 指针变量的运算 161
8.2 指针与数组 164
8.2.1 指针与一维数组 165
8.2.2 指针与二维数组 170
8.2.3 指针与字符串 176
8.2.4 指针数组 178
8.3 指针与函数 180
8.3.1 指针作函数参数 180
8.3.2 指针函数 184
8.3.3 函数指针 185
8.4 指向指针的指针与命令行参数 186
8.4.1 指向指针的指针 186
8.4.2 命令行参数 188
8.5 应用举例 189
8.6 习题与实训 192
第9章 结构体与共用体 201
9.1 结构体 201
9.1.1 结构体的基本操作 201
9.1.2 结构体数组 206
9.1.3 结构体指针 208
9.1.4 结构体与函数 209
9.2 链表 211
9.2.1 动态分配函数 212
9.2.2 链表节点类型的定义 214
9.2.3 建立链表 214
9.2.4 链表的基本操作 216
9.3 共用体 220
9.3.1 共用体类型的定义 221
9.3.2 共用体变量的定义 222
9.3.3 共用体变量的引用 222
9.4 枚举 223
9.4.1 枚举类型的定义 224
9.4.2 枚举变量的定义 225
9.4.3 枚举变量的应用 226
9.5 自定义类型 228
9.6 应用举例 228
9.7 习题与实训 233
第10章 编译预处理与位运算 248
10.1 编译预处理 248
10.1.1 宏定义 248
10.1.2 文件包含 250
10.1.3 条件编译 252
10.2 位运算 254
10.3 应用举例 256
10.4 习题与实训 257
第11章 文件 263
11.1 文件的基本概念 264
11.2 文件的基本操作 265
11.2.1 定义文件指针 265
11.2.2 打开与关闭文件 266
11.2.3 读写文件 268
11.2.4 定位文件 273
11.2.5 检测文件是否结束 275
11.3 应用举例 276
11.4 习题与实训 278
附录 286
参考文献 293