第1章 C语言程序概述 1
1.1 C语言的发展 1
1.2 C语言的特点 2
1.3 简单的C语言程序介绍 3
1.4 Turboc 2.0的上机过程 5
1.4.1 编辑、编译、连接、执行及调试程序的概念 5
1.4.2 Turbo C 2.0集成开发环境的使用 7
1.5 程序设计算法简介 10
1.5.1 算法的概念 10
1.5.2 算法的特性 10
1.5.3 算法的表示 11
习题1 13
第2章 数据类型与运算符 15
2.1 C语言的数据类型概述 15
2.2 标识符、常量和变量 16
2.2.1 标识符 16
2.2.2 常量 16
2.2.3 变量 17
2.3 C语言的基本数据类型 18
2.3.1 整型数据 18
2.3.2 实型数据 19
2.3.3 字符型数据 20
2.4 变量赋初值与类型转换 24
2.4.1 变量赋初值 24
2.4.2 类型转换 24
2.5 运算符和表达式 26
2.5.1 算术运算符和算术表达式 26
2.5.2 关系运算符和关系表达式 27
2.5.3 逻辑运算符和逻辑表达式 28
2.5.4 条件运算符和条件表达式 30
2.5.5 赋值运算符和赋值表达式 31
2.5.6 逗号运算符和逗号表达式 32
2.5.7 C语言运算符的优先级与结合性 33
习题2 34
第3章 结构化程序设计 36
3.1 顺序程序设计 36
3.1.1 数据的输入和输出 36
3.1.2 printf()函数 37
3.1.3 scanf()函数 41
3.1.4 getchar()函数与putchar()函数 44
3.1.5 基本语句及复合语句 45
3.1.6 程序示例 46
3.2 分支程序设计 48
3.2.1 if语句的结构及应用 48
3.2.2 switch语句的结构及应用 52
3.3 循环型程序设计 54
3.3.1 while语句的结构及应用 54
3.3.2 do…while语句的结构及应用 56
3.3.3 for语句的结构及应用 57
3.3.4 goto语句 59
3.3.5 break语句及continue语句 60
习题3 61
第4章 数组 65
4.1 一维数组 65
4.1.1 一维数组的定义 65
4.1.2 一维数组的初始化 66
4.1.3 一维数组的引用 66
4.1.4 一维数组的应用举例 67
4.2 二维数组 71
4.2.1 二维数组的定义和引用 71
4.2.2 二维数组的初始化 71
4.2.3 二维数组在内存中的存放 72
4.2.4 二维数组的应用举例 72
4.3 字符数组 74
4.3.1 字符数组的定义 74
4.3.2 字符数组的初始化 74
4.3.3 字符数组的整体操作 75
4.3.4 常用的字符串处理函数 76
4.4 数组应用举例 79
习题4 82
第5章 函数 87
5.1 函数的引入 87
5.2 函数定义的形式 90
5.3 函数的参数和返回值 92
5.3.1 形式参数和实际参数 92
5.3.2 函数的返回值 93
5.4 函数的调用 94
5.4.1 函数调用的一般形式 94
5.4.2 函数调用的方式 95
5.4.3 对被调用函数的说明 95
5.5 函数的递归调用 97
5.6 数组作为函数的参数 101
5.6.1 数组元素作为函数参数 101
5.6.2 数组名作为函数的形参和实参 101
5.7 数据存储类别 103
5.7.1 自动变量 103
5.7.2 寄存器变量 104
5.7.3 外部变量 104
5.7.4 静态变量 106
5.8 编译预处理 108
5.8.1 概述 108
5.8.2 宏定义 108
5.8.3 无参数宏定义 109
5.8.4 带参数宏定义 111
5.8.5 文件包含 115
5.8.6 条件编译 116
习题5 117
第6章 指针 125
6.1 指针概述 125
6.1.1 地址与指针 125
6.1.2 指针变量的定义与引用 126
6.2 指针与数组 130
6.2.1 指针与一维数组 130
6.2.2 指针与二维数组 133
6.2.3 指针与字符串 134
6.2.4 指针数组与多级指针 136
6.3 指针与函数 138
6.3.1 指针作为函数参数 138
6.3.2 指向函数的指针 142
6.3.3 返回指针值的函数 144
6.3.4 main函数中的参数 145
习题6 146
第7章 结构体、共用体和枚举类型 151
7.1 结构体类型 151
7.1.1 结构体类型变量的定义 151
7.1.2 结构体类型变量的引用 154
7.1.3 结构体数组 156
7.1.4 结构体变量与指针 158
7.1.5 结构体变量与函数 160
7.1.6 动态分配与链表 161
7.2 共用体类型 175
7.2.1 共用体的定义及引用 175
7.2.2 共用体变量的应用 176
7.3 枚举类型数据 178
7.3.1 枚举变量的定义与声明 178
7.3.2 枚举变量的赋值与使用 178
7.4 用TYPEDEF定义类型 179
习题7 180
第8章 位运算 184
8.1 位运算概念 184
8.2 位运算符使用方法 184
8.2.1 按位与运算符(&) 185
8.2.2 按位或运算符(|) 185
8.2.3 按位异或运算符(∧) 185
8.2.4 按位取反运算符(~) 186
8.2.5 左移运算符(<<) 187
8.2.6 右移运算符(>>) 187
8.3 位运算示例 188
习题8 189
第9章 文件 191
9.1 文件概述 191
9.1.1 文件的概念 191
9.1.2 缓冲文件系统(标准I/O)和非缓冲文件系统(系统I/O) 192
9.1.3 文件(FILE)类型指针 193
9.2 文件的打开与关闭 193
9.2.1 文件的打开(fopen函数) 193
9.2.2 文件的关闭(fclose函数) 195
9.3 文件的顺序读写 195
9.3.1 输入和输出一个字符 195
9.3.2 输入和输出一个字符串 199
9.3.3 按“记录”的方式输入和输出 201
9.3.4 格式化的输入和输出 202
9.4 文件的定位与随机读写 204
9.4.1 文件的定位 204
9.4.2 随机读写 205
9.5 文件操作的检测 206
9.6 非缓冲文件系统与C语言库文件 207
9.6.1 非缓冲文件系统 207
9.6.2 C语言库文件 208
习题9 209
第10章 综合应用程序实例 212
10.1 文件加密技术 212
10.2 学生成绩管理系统 214
10.3 简单的接口程序 222
10.4 图形模式下的文本输出及屏幕操作 228
附录1 常用字符和ASCII代码对照表 233
附录2 运算符优先级和结合方向 234
附录3 常用库函数 235