第1章 C语言概述 1
1.1 C语言的特点 1
1.2 C程序的构成 1
1.2.1 简单的C源程序举例 1
1.2.2 C程序的基本结构 3
1.3 算法的概念和特性 4
1.3.1 算法的概念 4
1.3.2 算法的特征 4
1.3.3 算法的复杂度 4
1.3.4 算法的设计原则 5
1.4 算法的表示 5
1.4.1 伪代码表示算法 5
1.4.2 流程图表示算法 7
1.4.3 N-S流程图表示算法 8
1.5 结构化程序设计 11
习题1 11
第2章 数据类型及其运算 14
2.1 C语言的数据类型 14
2.2 常量和变量 14
2.2.1 常量 14
2.2.2 变量 15
2.3 整数类型 16
2.3.1 整型常量的表示方法 16
2.3.2 整型变量 16
2.4 实数类型 17
2.4.1 实型常量的表示方法 17
2.4.2 实型变量 17
2.5 字符型数据 18
2.5.1 字符型常量 18
2.5.2 字符型变量 19
2.5.3 字符串常量 19
2.6 算术运算符和算术表达式 19
2.6.1 算术运算符 19
2.6.2 算术表达式 21
2.7 赋值运算符和赋值表达式 22
2.7.1 简单赋值表达式 22
2.7.2 复合赋值表达式 22
2.8 逗号运算符和逗号表达式 23
2.9 关系运算符和关系表达式 24
2.10 逻辑运算符和逻辑表达式 24
2.11 各种数值型数据间的混合运算 26
2.12 运算优先级和结合性 26
习题2 27
实训1 C语言的上机环境 29
第3章 顺序结构程序设计 32
3.1 赋值语句 32
3.2 数据输入输出 32
3.3 格式输入与输出 33
3.3.1 格式输入 33
3.3.2 格式输出 34
3.4 专用于字符数据的输入与输出函数 36
3.4.1 getchar()函数 36
3.4.2 putchar()函数 37
3.5 应用举例 37
习题3 39
实训2 顺序结构程序设计 41
第4章 选择结构程序设计 42
4.1 if语句 42
4.1.1 if语句的格式 42
4.1.2 if语句的嵌套 45
4.1.3 条件运算符 46
4.2 switch语句 47
4.3 应用举例 48
习题4 52
实训3 选择结构程序设计 54
第5章 循环结构程序设计 57
5.1 for语句 57
5.2 while语句 58
5.3 do~while语句 61
5.4 循环的嵌套 63
5.5 break和continue语句 64
5.5.1 break语句 64
5.5.2 continue语句 66
5.6 goto语句 67
5.7 应用举例 67
习题5 70
实训4 循环结构程序设计 74
第6章 数组 76
6.1 一维数组的定义和引用 76
6.1.1 一维数组的定义 76
6.1.2 一维数组的初始化 76
6.1.3 一维数组元素的引用 77
6.1.4 一维数组的应用举例 78
6.2 二维数组的定义和引用 81
6.2.1 二维数组的定义 81
6.2.2 二维数组的初始化 81
6.2.3 二维数组元素的引用 82
6.2.4 二维数组的应用举例 83
6.2.5 大于二维的数组定义和引用 84
6.3 字符串和字符数组 85
6.3.1 字符串和字符串结束标记 85
6.3.2 字符数组的定义 85
6.3.3 字符数组的初始化 85
6.3.4 字符数组的输入输出 87
6.3.5 字符串处理函数 88
6.3.6 字符数组应用举例 90
习题6 92
实训5 数组的应用 96
第7章 函数 98
7.1 库函数的调用 98
7.2 函数定义的一般形式 99
7.3 函数的参数和返回值 100
7.3.1 形式参数与实在参数 100
7.3.2 函数的返回值 101
7.4 函数的调用 101
7.4.1 函数调用的一般形式 101
7.4.2 调用方式 104
7.5 函数的嵌套调用 104
7.6 函数的递归调用 107
7.7 参数传递的方式 110
7.8 局部变量和全局变量 112
7.8.1 局部变量 112
7.8.2 全局变量 113
7.9 变量的存储类型 114
7.9.1 自动变量 115
7.9.2 寄存器变量 116
7.9.3 静态变量 117
7.9.4 外部变量 118
7.10 内外部函数和多文件的程序 118
7.10.1 内部、外部函数 118
7.10.2 多文件的程序 119
习题7 120
实训6 递归程序设计 124
第8章 编译预处理 127
8.1 宏定义和调用 127
8.2 文件包含处理 130
习题8 130
第9章 结构体、共用体与枚举类型 134
9.1 结构体 134
9.1.1 结构体类型变量的定义 134
9.1.2 结构体类型变量的初始化 136
9.1.3 结构体类型变量的引用 136
9.1.4 结构体数组 137
9.1.5 应用举例 139
9.2 共用体 141
9.2.1 共用体类型变量的定义 141
9.2.2 共用体类型变量的引用 142
9.3 枚举类型 144
9.4 用typedef说明数据类型 146
习题9 146
实训7 结构体类型程序设计 150
第10章 指针 153
10.1 地址和指针的概念 153
10.2 指针变量的定义 153
10.3 指针变量的引用 154
10.4 指针变量作为函数参数 156
10.5 指针与数组 159
10.5.1 指针与一维数组 159
10.5.2 指针与二维数组 161
10.6 指针与字符串 163
10.7 指向函数的指针 165
10.8 返回指针值的函数 166
10.9 指针数组和指向指针的指针 167
10.9.1 指针数组 167
10.9.2 指向指针的指针 170
10.10 指向结构体类型数据的指针 171
10.10.1 指向结构体变量的指针 171
10.10.2 链表的建立 172
10.10.3 对链表的处理 175
习题10 177
实训8 指针的应用 181
第11章 位运算 183
11.1 位运算符和位运算 183
11.2 应用举例 186
习题11 187
第12章 文件 190
12.1 文件类型指针 190
12.2 文件的打开和关闭 190
12.2.1 文件的打开 191
12.2.2 文件的关闭 192
12.3 文件的读写 192
12.3.1 fputc函数和fgetc函数 192
12.3.2 fputs函数和fgets函数 194
12.3.3 fread函数和fwrite函数 196
12.3.4 fprintf函数和fscanf函数 198
12.4 文件的定位 200
12.4.1 rewind函数 200
12.4.2 fseek函数 201
12.4.3 ftell函数 202
12.5 应用举例 202
习题12 205
实训9 文件的使用 208
附录1 C语言的上机环境介绍 212
附录2 C语言的关键字 219
附录3 C语言的常用库函数 221
附录4 常用字符与ASCII码对照表 224
参考文献 225