第一章 绪论 1
1.1 C语言概述 1
1.1.1 C语言的发展 1
1.1.2 C语言的特点 2
1.2 C语言程序的基本结构 3
1.3 C程序的编辑、编译、链接和运行 5
1.3.1 源程序的编辑 5
1.3.2 源程序的编译 6
1.3.3 目标文件的链接 6
1.3.4 运行 6
1.4 Turbo C 2.0 6
1.4.1 安装方法和主要文件 6
1.4.2 Turbo C 2.0集成环境的使用 8
1.5 习题一 12
1.6 上机实习一 13
第二章 基本数据类型、数据的输入/输出 15
2.1 基本数据类型 15
2.1.1 常量和变量 15
2.1.2 基本数据类型 16
2.2 整型数据的表示方法 17
2.2.1 整型常量 17
2.2.2 整型变量 17
2.2.3 整型常量的类型 20
2.3 实型数据的表示方法 20
2.3.1 实型常量 20
2.3.2 实型变量 20
2.4 字符型数据的表示方法 21
2.4.1 字符常量 22
2.4.2 字符变量 23
2.4.3 字符串 24
2.5 输出函数 24
2.5.1 printf()函数 25
2.5.2 putchar()字符输出函数 29
2.6 输入函数 30
2.6.1 scanf()函数 30
2.6.2 getchar()字符输入函数 34
2.7 习题二 36
2.8 上机实习二 38
第三章 基本运算符及表达式 40
3.1 表达式 40
3.1.1 表达式概念 40
3.1.2 表达式的值 41
3.1.3 语句和表达式的关系 41
3.2 算术运算符及其算术表达式 41
3.3 赋值运算符及其赋值表达式 44
3.4 关系运算符及其关系表达式 45
3.4.1 关系运算符 45
3.4.2 关系表达式 46
3.5 逻辑运算符及其逻辑表达式 46
3.5.1 逻辑运算符 46
3.5.2 按位逻辑运算符 48
3.6 其他运算符的运用 50
3.6.1 自增运算符和自减运算符 50
3.6.2 复合赋值运算符 52
3.6.3 逗号运算符 52
3.6.4 条件运算符 53
3.7 习题三 54
3.8 上机实习三 57
第四章 控制语句 58
4.1 程序基本控制结构 58
4.1.1 顺序结构 58
4.1.2 分支结构 59
4.1.3 循环结构 60
4.2 复合语句 60
4.3 if条件分支语句 61
4.3.1 一般格式 62
4.3.2 嵌套的if语句 63
4.4 switch多分支语句 65
4.5 循环语句 68
4.5.1 while循环语句 69
4.5.2 do~while循环语句 70
4.5.3 for循环语句 72
4.5.4 循环语句嵌套 74
4.6 break、continue、goto语句 75
4.6.1 break语句 75
4.6.2 continue语句 76
4.6.3 标号与goto语句 77
4.7 习题四 78
4.8 上机实习四 83
第五章 数组及其他数据类型 84
5.1 一维数组 84
5.1.1 一维数组的定义 84
5.1.2 一维数组的初始化 85
5.1.3 一维数组元素的引用 86
5.1.4 应用举例 86
5.2 二维数组 89
5.2.1 二维数组的定义 89
5.2.2 二维数组的初始化 90
5.2.3 二维数组元素的引用 91
5.2.4 多维数组 91
5.2.5 应用举例 92
5.3 字符数组 92
5.3.1 字符数组的定义和初始化 93
5.3.2 字符数组的输入与输出 94
5.3.3 字符串处理函数 95
5.3.4 应用举例 98
5.4 结构体 98
5.4.1 结构体类型和结构体类型变量的定义 100
5.4.2 结构体类型变量的使用 101
5.4.3 结构体变量的初始化 102
5.4.4 结构体数组 102
5.5 共用体 103
5.5.1 共用体类型及共用体类型变量的定义 103
5.5.2 共用体类型变量的使用 104
5.6 枚举类型 105
5.6.1 枚举类型及枚举类型变量的定义 105
5.6.2 枚举类型变量的使用 106
5.7 typedef自定义类型 106
5.8 习题五 108
5.9 上机实习五 112
第六章 指针 114
6.1 指针与指针变量 114
6.1.1 地址与指针 114
6.1.2 变量的指针 115
6.1.3 指针变量的定义及赋值 116
6.2 指针运算 116
6.2.1 取地址运算“&”与取内容运算“*” 116
6.2.2 指针与整数的加减运算 117
6.2.3 指针的关系运算 118
6.3 指针与数组 119
6.3.1 一维数组的指针 119
6.3.2 二维数组的指针 121
6.3.3 字符串指针 123
6.4 指针数组和指向指针的指针 126
6.4.1 指针数组 126
6.4.2 指向指针的指针 128
6.5 指针与结构体 130
6.5.1 结构体指针变量 130
6.5.2 指向结构体数组的指针 131
6.5.3 结构体指针数组 132
6.6 指针与链表 134
6.6.1 链表 134
6.6.2 内存的动态分配和释放 135
6.6.3 链表结点在C语言中的表示 136
6.6.4 链表的操作 137
6.7 习题六 143
6.8 上机实习六 149
第七章 函数 151
7.1 函数定义和调用 151
7.1.1 函数定义 151
7.1.2 函数调用 153
7.2 函数的递归调用 158
7.3 函数与数组 162
7.3.1 数组元素作函数的参数 162
7.3.2 数组名作为函数的参数 162
7.4 函数与指针 164
7.4.1 指针作为函数的参数 164
7.4.2 返回值是指针的函数 164
7.4.3 指向函数的指针 166
7.4.4 函数与链表 168
7.5 命令行参数 171
7.6 习题七 173
7.7 上机实习七 179
第八章 变量存储类别及编译预处理命令 181
8.1 变量的存储类别 181
8.1.1 局部变量和全局变量 181
8.1.2 动态存储和静态存储 184
8.2 编译预处理 188
8.2.1 宏定义 188
8.2.2 文件包含 191
8.2.3 条件编译 191
8.3 习题八 194
8.4 上机实习八 197
第九章 文件操作 198
9.1 文件与流概念 198
9.2 打开、关闭文件函数 199
9.2.1 打开文件函数fopen() 200
9.2.2 关闭文件函数fclose() 200
9.3 标准流式文件 201
9.4 文件读写函数 202
9.4.1 fputc()和fgetc()函数 202
9.4.2 fputs()和fgets()函数 205
9.4.3 feof()函数 205
9.4.4 fread()函数和fwrite()函数 207
9.4.5 格式输出函数fprintf()和格式输入函数fscanf() 210
9.5 文件定位函数 212
9.5.1 rewind()函数 212
9.5.2 fseek()函数 212
9.5.3 ftell()函数 213
9.6 习题九 214
9.7 上机实习九 216
附录一 C语言运算符一览表 218
附录二 220