第1章 C语言基础 3
1.1 C语言简介 3
第一篇 C程序设计理论与应用部分 3
1.1.1几种常用语言的简单介绍 4
1.1.2 C语言的发展简介 4
1.1.3 C语言的特点和应用 5
1.2简单的C语言程序解析 6
1.2.1 C语言程序的组成规则 7
1.2.2 C语言程序的基本符号 7
1.3 C语言数据类型 9
1.3.1整型数据 10
1.3.2实型数据 10
1.4常量与变量 11
1.4.1常量 11
1.3.3字符型数据 11
1.3.4枚举型数据 11
1.4.2变量 14
1.5运算符和表达式 20
1.5.1算术运算符和表达式 20
1.5.2赋值运算符和赋值表达式 21
1.5.3逗号运算符和逗号表达式 24
1.5.4类型转换 24
本章小结 27
习 题 27
第2章 简单C程序设计 31
2.1 C语句概述 31
2.3算法 33
2.2赋值语句 33
2.3.1算法的概念、特征及组成要素 34
2.3.2算法的描述 35
2.4结构化程序设计方法 38
2.5数据的输入输出 40
2.5.1格式化的输入与输出 40
2.5.2字符数据的输入输出 49
2.6顺序结构程序设计 51
本章小结 53
习题 54
第3章 选择结构程序设计 55
3.1 关系运算符和关系表达式 55
3.1.1关系运算符 55
3.1.2关系表达式 55
3.2.1逻辑运算符 56
3.2逻辑运算符与逻辑表达式 56
3.2.2逻辑表达式 57
3.3 if语句 58
3.3.1 if语句的格式 59
3.3.2 if语句的嵌套与嵌套匹配原则 62
3.4条件运算符和条件表达式 64
3.5 switch语句 66
3.6程序举例 69
本章小结 74
习题 75
第4章 循环结构程序设计 76
4.1 循环概述 76
4.2用goto语句和if语句构成循环 77
4.3 while语句 79
4.4 do-while语句 82
4.5.1 for语句的一般形式 84
4.5 for语句 84
4.5.2 for循环的变量 85
4.5.3无限循环 86
4.5.4无循环体for循环 86
4.6循环的嵌套 89
4.7几种循环的比较 92
4.8 break和continue语句 92
4.8.1 break语句 92
4.8.2 continue语句 93
4.9程序举例 94
本章小结 102
习题 102
5.1.1一维数组的声明 108
第5章 数 组 108
5.1 一维数组 108
5.1.2一维数组元素的引用 110
5.1.3一维数组的赋值 111
5.1.4一维数组越界检查 112
5.1.5一维数组的应用举例 114
5.2二维数组与多维数组 119
5.2.1二维数组的声明与初始化 119
5.2.2二维数组元素的表示方法 121
5.2.3多维数组 123
5.2.4二维数组的应用举例 124
5.3字符与数组 128
5.3.1字符型数据 128
5.3.2一维字符数组的声明及初始化 129
5.3.3一维字符数组的输入与输出 130
5.3.4二维字符数组 132
5.3.5字符串处理函数 133
5.3.6字符数组程序举例 136
本章小结 138
习题 138
第6章 函 数 140
6.1 函数概述 140
6.1.1模块化程序设计 140
6.1.2函数的分类 142
6.1.3 C语言的库函数 143
6.2函数的定义 143
6.3函数的调用 145
6.3.1 函数的简单调用 146
6.3.2函数的嵌套调用 151
6.3.3函数的递归调用 155
6.4变量的作用域 158
6.4.1局部变量 159
6.4.2全局变量 160
6.4.3局部变量与全局变量 162
6.5函数与数组 163
6.5.1数组元素作为函数的参数 163
6.5.2数组名作为函数的参数 164
6.6变量的存储类型 169
6.6.1动态存储方式与静态存储方式 169
6.6.2动态存储变量 170
6.6.3静态存储变量 171
6.6.6存储类型小结 174
6.7内外部函数与多文件程序的运行 174
6.7.1 内部函数和外部函数 175
6.7.2多文件程序的运行 176
本章小结 177
习题 178
第7章 指 针 180
7.1地址与指针 180
7.2指针变量的定义和使用 181
7.2.1指针变量的类型 181
7.2.2指针变量的定义及其初始化 182
7.2.3指针的使用 184
7.3指针的算术运算和指针的比较 189
7.4指针与数组 192
7.4.1通过指针引用数组 192
7.4.2数组名与指针 197
7.4.3指向数组的指针变量 200
7.4.4指针数组 203
7.5指针与字符串 216
7.6指向指针的指针 221
7.7指针与函数 225
7.7.1指针变量作为函数的参数 225
7.7.2返回指针的函数 241
7.7.3指向函数的指针 244
7.8指针应用中的一些问题 248
本章小结 252
习题 253
第8章 结构体、共用体与枚举类型 255
8.1概述 255
8.2.1结构体类型的定义 256
8.2结构体定义 256
8.2.2结构体变量定义 257
8.3结构体变量的使用 260
8.3.1结构体变量初始化 260
8.3.2结构体变量引用 261
8.4结构体数组 263
8.4.1结构体数组定义与初始化 263
8.4.2结构体数组引用 265
8.4.3结构体数组使用实例 266
8.5结构体与指针 268
8.5.1指向结构体的指针 268
8.5.2指向结构体数组的指针 270
8.6结构体与函数 272
8.6.1结构体变量作为函数的参数 272
8.6.2结构体变量指针作为函数的参数 274
8.6.3结构体变量指针应用实例 276
8.7共用体 278
8.7.1共用体的概念和定义 278
8.7.2共用体的引用 279
8.7.2共用体的使用实例 280
8.8枚举类型 282
8.8.1枚举类型的概念、定义及其功能 282
8.8.2枚举类型的使用实例 283
8.9用户定义类型 284
8.9.1用户定义类型的概念与定义 284
8.9.2用户定义类型的应用 285
本章小结 286
习题 286
9.1编译预处理命令 288
9.1.1宏 288
第9章 C语言高级程序设计 288
9.1.2文件包含 290
9.1.3条件编译 292
9.2位运算 294
9.2.1位运算和位运算符 294
9.2.2位运算符的使用 295
9.2.3位段 300
9.3结构体高级应用——链表 303
9.3.1链表和动态存储分配概述 303
9.3.2单链表 305
9.3.3遍历链表 311
9.3.4双向链表 312
9.3.5循环链表 313
9.3.6链表应用实例 313
本章小结 320
习题 322
第10章 文 件 326
10.1文件的概述 326
10.1.1文件的概念 326
10.1.2文件的分类 326
10.1.3操作系统对文件的处理方式 327
10.2缓冲文件系统文件的基本操作 328
10.2.1文件类型指针 328
10.2.2文件打开与关闭函数 329
10.2.3文件读写函数 331
10.2.4文件定位与文件检测 339
10.3非缓冲文件系统文件的基本操作 342
10.3.1 文件的创建函数、打开函数和关闭函数 342
10.3.3文件定位函数 343
10.3.2文件读/写函数 343
本章小结 344
习题 345
第二篇 C语言程序设计上机实验部分 349
预备实验:Turbo C集成开发环境 349
实验一 数据类型和表达式 356
实验二 顺序结构程序设计 358
实验三 选择结构程序设计 360
实验四 循环结构程序设计(一) 362
实验五 循环结构程序设计(二) 364
实验六 循环结构程序设计(三) 366
实验七 一维数组 368
实验八 二维数组 370
实验九 字符数组 372
实验十 函数定义及简单调用 374
实验十一 函数嵌套调用和递归调用 376
实验十二 函数与数组以及多文件程序编译 378
实验十三 简单指针 381
实验十四 指针、函数和数组 384
实验十五 结构体与共用体 387
实验十六 C语言高级程序设计:链表 389
实验十七 C语言高级程序设计:位运算 390
实验十八 文件 392
第三篇 C程序设计课程设计部分 397
课程设计一 编写万年历系统 397
课程设计二 五子棋游戏 398
课程设计三 纸牌算法 401
课程设计四 销售管理系统 403
课程设计五 学生成绩文件管理 405