目录 1
第1章 C语言概述 1
1.1 C语言简介 1
1.1.1 计算机语言 1
1.1.2 C语言的发展过程和特点 3
1.1.3 C程序的结构和书写特点 4
1.2 Turbo C 2.0的基本操作 6
1.2.1 Turbo C 2.0的集成开发环境 6
1.2.2 用Turbo C运行C程序的步骤 7
1.3 习题 8
2.1 C的数据类型 10
第2章 数据类型、运算符与表达式 10
2.2 常量与变量 11
2.2.1 标识符 11
2.2.2 关键字 11
2.2.3 常量与符号常量 12
2.2.4 变量 13
2.3 整型数据 13
2.3.1 整型常量 13
2.3.2 整型变量 14
2.4 实型数据 15
2.4.1 实型常量 15
2.4.2 实型变量 16
2.5.2 转义字符 17
2.5.1 字符常量 17
2.5 字符型数据 17
2.5.3 字符串常量 19
2.5.4 字符变量 19
2.6 变量赋初值 20
2.7 算术运算符和算术表达式 21
2.7.1 C运算符简介 21
2.7.2 算术运算符和算术表达式 22
2.8 赋值运算符和赋值表达式 25
2.8.1 赋值运算符 25
2.8.2 赋值表达式 27
2.9 逗号运算符和逗号表达式 27
2.10 习题 28
3.1.1 三种基本结构 29
3.1.2 C语言中的语句 29
第3章 简单的C程序设计 29
3.1 流程结构和语句 29
3.2 格式输入输出函数 30
3.2.1 标准输出函数printf 30
3.2.2 标准输入函数scanf函数 35
3.3 字符输入输出函数 37
3.3.1 字符输出函数putchar 37
3.3.2 字符输入函数getchar 38
3.4 顺序结构程序设计举例 38
3.5 习题 39
4.1.2 关系表达式 43
4.1.1 关系运算符及其优先次序 43
4.1 关系运算符和关系表达式 43
第4章 选择结构程序设计 43
4.2 逻辑运算符和逻辑表达式 44
4.2.1 逻辑运算符及其优先次序 44
4.2.2 逻辑表达式 45
4.3 条件语句和条件运算符 45
4.3.1 if语句 45
4.3.2 条件运算符 49
4.4 switch语句 50
4.5 程序举例 52
4.6 习题 56
5.1 goto语句 59
第5章 循环结构程序设计 59
5.2 while语句构成的循环结构 60
5.3 do-while语句构成的循环结构 62
5.4 for语句 63
5.5 循环的嵌套 65
5.6 break语句和continue语句 66
5.6.1 break语句 66
5.6.2 continue语句 67
5.7 应用综合举例 67
5.8 习题 71
第6章 数组 74
6.1 一维数组 74
6.1.1 一维数组的定义 74
6.1.2 一维数组的初始化 75
6.1.4 一维数组程序举例 76
6.1.3 一维数组元素的引用 76
6.2 二维数组 78
6.2.1 二维数组的定义 78
6.2.2 二维数组的初始化 80
6.2.3 二维数组元素的引用 81
6.2.4 二维数组程序举例 81
6.3 习题 84
第7章 函数 87
7.1 概述 87
7.2.1 无参函数的定义 88
7.2.2 有参函数的定义 88
7.2 函数的定义 88
7.3 函数的参数和函数的返回值 89
7.3.1 形参和实参 89
7.3.2 数组作为函数参数 91
7.3.3 函数的返回值 92
7.4 函数的一般调用 93
7.4.1 函数调用的一般形式 93
7.4.2 函数调用的几种常用方法 94
7.4.3 函数的声明 94
7.5 函数的嵌套调用 96
7.6 函数的递归调用 99
7.7 局部变量和全局变量 101
7.7.1 局部变量 101
7.7.2 全局变量 103
7.8.1 动态存储方式与静态存储方式 104
7.8 变量的存储类别 104
7.8.2 auto变量 105
7.8.3 用static声明的变量 105
7.8.4 register变量 107
7.8.5 用extern声明外部变量 108
7.9 内部函数与外部函数 110
7.9.1 内部函数 110
7.9.2 外部函数 110
7.9.3 多个文件的运行方法 111
7.10 程序举例 111
7.11 习题 114
8.1.1 变量的地址和指针的概念 117
8.1.2 指针变量的概念 117
8.1 指针变量的定义与应用 117
第8章 指针 117
8.1.3 指针变量的定义 118
8.1.4 指针变量的赋值 119
8.1.5 对指针变量的操作 120
8.1.6 指针变量的运算 123
8.1.7 指针变量作为函数参数 124
8.2 一维数组的指针和指向一维数组的指针变量 127
8.2.1 数组元素的指针 127
8.2.2 通过指针引用数组元素 128
8.2.3 数组名作函数的参数 132
8.3 二维数组的指针和指向数组的指针变量 139
8.3.1 二维数组的指针 139
8.3.2 指向由多个元素组成的一维数组的指针变量 142
8.3.3 指针数组 143
8.3.4 二维数组名和指针数组作为函数的参数 144
8.3.5 指向指针的指针变量 145
8.3.6 main函数的参数 147
8.4 函数指针和指向函数的指针变量 148
8.5 返回指针值的函数 149
8.6 有关指针的数据类型的小结和void指针类型 151
8.6.1 指针的数据类型小结 151
8.6.2 void指针类型 152
8.7 习题 152
9.1 用一维数组存放字符串 155
9.1.1 C语言对字符串的约定 155
第9章 字符串 155
9.1.2 通过赋初值的方式给一维数组赋字符串 156
9.1.3 程序执行时给一维数组赋字符串 156
9.2 指向字符串的指针 157
9.2.1 使指针指向一个字符串 157
9.2.2 使用字符串指针变量与字符数组的区别 157
9.3 字符数组的输入和输出 159
9.3.1 用格式说明符%s进行整串输入和输出 159
9.3.2 调用gets、puts函数,从终端进行字符串的输入和输出 160
9.3.3 其他字符串处理函数 162
9.4 字符串数组 164
9.5 程序举例 165
9.6 习题 166
10.1.1 不带参数的宏定义 169
第10章 C语言预处理 169
10.1 宏定义 169
10.1.2 带参数的宏定义 172
10.2 文件包含 175
10.3 条件编译 177
10.4 习题 179
第11章 结构体、共用体和用户定义类型 182
11.1 结构体类型 182
11.1.1 结构体的基本概念与基本操作 182
11.1.2 结构数组 187
11.1.3 结构与指针 190
11.1.4 结构与函数 192
11.2.1 链表概述 194
11.2 链表基础 194
11.2.2 动态链表 196
11.3 共用体 202
11.4 枚举类型 204
11.5 用typedef定义数据类型 205
11.6 习题 206
第12章 位运算 209
12.1 位运算符和位运算 209
12.1.1 按位与——& 209
12.1.2 按位或——| 210
12.1.3 异或运算符——∧ 210
12.1.7 不同长度的数据进行位运算时的规则 211
12.1.6 右移运算符——>> 211
12.1.5 左移运算符——<< 211
12.1.4 取反运算符—— 211
12.2 位运算举例 212
12.3 习题 213
第13章 文件 215
13.1 C文件概述 215
13.2 文件类型指针 216
13.3 文件的打开与关闭 216
13.3.1 文件的打开(fopen函数) 216
13.3.2 文件的关闭(fclose函数) 217
13.4 文件的读写 218
13.4.1 fputc函数和fgetc函数(putc函数和getc函数) 218
13.4.2 fgets函数和fputs函数 221
13.4.3 fread函数和fwrite函数 222
13.4.4 fprintf函数和fscanf函数 225
13.5 文件的定位 226
13.5.1 rewind函数 226
13.5.2 fseek函数 226
13.5.3 ftell函数 227
13.6 文件检测函数 228
13.7 习题 228
附录 231
附录Ⅰ C语言关键字 231
附录Ⅱ C语言运算符的优先级与结合性 231
附录Ⅲ ASCII字符编码表 232
附录Ⅳ C常用库函数浏览 232