第1章 C语言的初步知识 1
1.1 C程序的构成 1
目录 1
1.2 函数的构成 2
1.3 源程序的书写格式和程序风格 3
习题 3
第2章 数据类型及其运算 5
2.1 C语言的数据类型 5
2.2 常量与变量 5
2.2.1 常量和符号常量 5
2.2.3 整型数据 6
2.2.2 变量 6
2.2.4 实型数据 8
2.2.5 字符型数据 9
2.3 数值型数据间的混合运算 11
2.4 C语言的运算符和表达式 11
2.4.1 C语言运算符 11
2.4.2 C语言表达式的类型 12
2.4.3 表达式的求值规则 12
2.4.4 算术表达式 13
2.4.5 赋值表达式 13
2.4.6 逗号表达式 16
2.4.7 关系表达式 17
2.4.8 逻辑表达式 18
2.4.9 条件表达式 19
2.5 程序举例 20
习题 21
第3章 基本语句 24
3.1 C语句概述 24
3.2 赋值语句 25
3.3 数据输入与输出 25
3.3.1 字符输入输出函数 26
3.3.2 格式输出函数 27
3.3.3 格式输入函数 30
3.4 程序举例 34
习题 35
第4章 控制语句 39
4.1 if语句 39
4.1.1 if语句的三种形式 39
4.1.2 if语句的嵌套 41
4.1.3 用if语句实现选择结构 42
4.2 switch语句 43
4.3 goto语句 46
4.4.3 while和do-while循环的比较 47
4.4.2 do-while语句 47
4.4 while和do while语句 47
4.4.1 while语句 47
4.5 for语句 48
4.6 break语句和continue语句 51
4.6.1 break语句 51
4.6.2 continue语句 52
4.7 循环的嵌套 53
4.8 程序举例 53
习题 62
5.1.1 数组的定义 69
5.1 数组的定义和引用 69
第5章 数组 69
5.1.2 数组的初始化 70
5.1.3 数组元素的引用 72
5.2 数组应用举例 73
5.3 字符数组 80
5.3.1 字符数组的定义 80
5.3.2 字符数组的初始化 80
5.3.3 字符串结束标志 81
5.3.4 字符数组的输入输出 81
5.3.5 字符串处理函数 83
5.3.6 程序举例 86
习题 90
第6章 函数 96
6.1 概述 96
6.2 函数定义的一般形式 97
6.3 函数参数和函数的值 98
6.3.1 形式参数和实际参数 98
6.3.2 函数的返回值 99
6.4.1 函数调用的一般形式 100
6.4.2 函数调用的方式 100
6.4 函数的调用 100
6.4.3 对被调用函数的声明 101
6.4.4 程序举例 103
6.5 函数的嵌套调用 105
6.6 函数的递归调用 108
6.7 局部变量和全局变量 110
6.7.1 局部变量 110
6.7.2 全局变量 111
6.8 动态存储变量与静态存储变量 113
6.8.1 变量的存储类别 113
6.8.2 局部变量的存储方式 113
6.8.3 全局变量的存储方式 116
6.8.4 存储类别小结 117
6.9 内部函数和外部函数 118
6.9.1 内部函数 118
6.9.2 外部函数 118
习题 119
第7章 编译预处理 123
7.1 宏定义 123
7.1.1 不带参数的宏定义 123
7.1.2 带参数的宏定义 125
7.2 “文件包含”处理 127
习题 128
第8章 指针 133
8.1 指针的概念 133
8.2 变量的指针和指向变量的指针变量 134
8.2.1 指针变量的定义 134
8.2.2 指针变量的引用 135
8.2.3 指针变量作为函数参数 136
8.3 数组的指针和指向数组的指针变量 138
8.3.1 指向数组元素的指针变量的定义与赋值 138
8.3.2 通过指针引用数组元素 139
8.3.3 数组名作函数参数 141
8.3.4 指向多维数组的指针和指针变量 145
8.4 字符串的指针和指向字符串的指针变量 146
8.4.1 字符串的表示形式 146
8.4.2 字符指针变量与字符数组 148
8.4.3 字符串指针作函数参数 150
8.5 函数的指针和指向函数的指针变量 153
8.5.1 用函数指针变量调用函数 153
8.5.2 把指向函数的指针变量作函数参数 155
8.6 返回指针值的函数 155
8.7 指针数组和指向指针的指针 156
8.7.1 指针数组的概念 156
8.7.2 指向指针的指针 157
8.7.3 main函数的命令行参数 159
习题 160
第9章 结构体与共用体 164
9.1 概述 164
9.2 定义结构体类型变量的方法 164
9.3 结构体类型变量的引用 166
9.4 结构体数组 168
9.5 指向结构体类型数据的指针 170
9.5.1 指向结构体变量的指针 170
9.5.2 指向结构体数组的指针 171
9.5.3 用指向结构体的指针作函数参数 172
9.6 用指针处理链表 173
9.6.1 链表概述 173
9.6.2 用typedef定义类型 174
9.6.3 链表的建立、输出、插入和删除 175
9.7 共用体 181
9.7.1 共用体的概念 181
9.7.2 共用体变量的引用方式 182
9.7.3 共用体类型数据的特点 183
习题 183
10.1 “按位与”运算 189
第10章 位运算 189
10.2 “按位或”运算 190
10.3 “异或”运算 190
10.4 “取反”运算 190
10.5 左移运算 191
10.6 右移运算 191
10.7 位运算复合赋值运算 192
10.8 不同长度数据的位运算 192
习题 192
第11章 文件 195
11.1 C文件概述 195
11.3.1 文件的打开(fopen函数) 196
11.2 文件类型指针 196
11.3 文件的打开与关闭 196
11.3.2 文件的关闭(fclose函数) 197
11.4 文件的读写 198
11.4.1 fputc函数和fgetc函数(putc函数和getc函数) 198
11.4.2 fputs函数和fgets函数 200
11.4.3 fread函数和fwrite函数 200
11.4.4 fprintf函数和fscanf函数 201
11.5 文件的定位 202
11.5.1 rewind函数 202
11.5.2 fseek函数和随机读写 202
习题 203
附录 207
附录1 常用字符与ASCII代码对照表 207
附录2 C语言中的关键字 208
附录3 运算符和结合性 208
附录4 C语言常用语法提要 209
附录5 C库函数 213
附录6 全国计算机等级考试二级(基础知识和C语言程序设计)考试大纲 220
附录7 2001年下半年全国计算机等级考试二级(基础知识和C语言程序设计)笔试试题 223
附录8 本书各章习题参考答案 233
参考文献 274