前言 1
第1章 绪言 1
1.1 程序设计及其语言 1
1.2 有关算法的基本知识 2
1.2.1 算法的概念 2
1.2.2 算法的表示和简单算法举例 2
1.2.3 算法的特性和质量 5
1.2.4 三种基本结构和N-S结构图 6
1.3 结构化程序设计方法 8
1.4 C语言的发展历史 8
1.5 C语言的特点 9
1.6 简单的C语言程序 10
1.7 C语言程序的开发过程和上机步骤 13
1.7.1 C语言程序的开发过程 13
1.7.2 C语言程序的上机步骤 15
复习思考题 15
第2章 数据类型、运算符和表达式 16
2.1 常量和变量 16
2.2 基本数据类型及其常量 17
2.2.1 整型变量及常量 17
2.2.2 实型变量及常量 18
2.2.3 字符型变量及常量 19
2.2.4 长整型、短整型和无符号整型 21
2.3 算术运算符、赋值运算符及其表达式 21
2.3.1 算术运算符和算术表达式 21
2.3.2 赋值运算符和赋值表达式 24
2.4 运算符及其表达式 24
2.4.1 关系运算符和关系表达式 24
2.4.2 逻辑运算符和逻辑表达式 25
2.4.3 条件运算符和条件表达式 27
2.5 逗号运算符及其表达式 28
2.7 不同数据类型之间的转换 29
2.6 变量的初始化 29
2.7.1 自动类型转换 30
2.7.2 强制类型转换 31
2.8 应用举例 31
复习思考题 32
第3章 基本语句 34
3.1 C语言语句概述 34
3.2 数据的输出 35
3.2.1 字符输出函数putchar 35
3.2.2 格式输出函数printf 36
3.3 数据的输入 38
3.3.1 字符输入函数getchar 38
3.3.2 格式输入函数scanf 39
3.4 应用举例 40
复习思考题 41
第4章 选择结构程序设计 42
4.1 if条件选择语句 42
4.2 Switch多分支选择语句 45
4.3 应用举例 47
复习思考题 49
第5章 循环结构程序设计 51
5.1 while循环语句 51
5.2 do-while循环语句 53
5.3 for循环语句 54
5.4 循环的嵌套 55
5.5 break语句和continue语句 56
5.5.1 break语句 56
5.5.2 continue语句 57
5.6 goto语句 58
5.7 应用举例 59
复习思考题 62
第6章 数组 64
6.1 一维数组 64
6.1.1 一维数组的定义 64
6.1.2 一维数组元素的引用 65
6.1.3 一维数的初始化 66
6.2 二维数组 67
6.2.1 二维数组的定义 67
6.2.2 二维数组元素的引用 68
6.2.3 二维数组的初始化 69
6.3 字符数组和字符串 72
6.3.1 字符数组的定义 72
6.3.2 字符串 72
6.3.3 字符数组的初始化 73
6.3.4 字符数组的输入和输出 74
6.3.5 常用的字符串处理函数 76
6.4 应用举例 79
复习思考题 82
第7章 函数与变量 84
7.1 函数的概念 84
7.2 函数的定义和调用 85
7.2.1 函数的定义 85
7.2.2 函数的调用 87
7.3 函数的返回值及其类型 89
7.4 函数的参数及其传递方式 92
7.4.1 非数组作为函数参数 93
7.4.2 数组作为函数参数 93
7.5.1 函数的嵌套调用 95
7.5 函数的嵌套调用和递归调用 95
7.5.2 函数的递归调用 97
7.6 变量的作用域及其存储类型 100
7.6.1 局部变量及其存储类型 101
7.6.2 全局变量及其存储类弄 105
7.7 内部函数和外部函数 108
7.7.1 内部函数 108
7.7.2 外部函数 109
7.8 应用举例 109
复习思考题 115
8.1.1 结构体类型的定义 117
第8章 结构体和共用体 117
8.1 结构体类型 117
8.1.2 结构体变量和数组的定义 118
8.1.3 结构体变量和数组的初始化 119
8.1.4 结构体变量和数组的引用 120
8.1.5 结构体的嵌套 123
8.1.结构体与函数 124
8.2 共用体类型 126
8.2.1 共用体类型的定义 126
8.2.2 共用体变量和数组的定义 126
8.2.3 共用体变量和数组的引用 127
8.2.4 共用体类型的嵌套 128
8.3 枚举类型 129
8.4 用typedef定义类型 131
8.5 应用举例 132
复习思考题 135
第9章 指针 136
9.1 指针的基本概念 136
9.2 指针变量的定义和引用 138
9.2.1 指针变量的定义 138
9.1.2 指针变量的引用 139
9.3 指针和数组 141
9.3.1 用指针访问一维数组 142
9.3.2 用指针访问多维数组 144
9.3.3 用指针访问字符串 149
9.3.4 指针数组 152
9.3.5 指向指针变量的指针 153
9.4 指针和结构体 154
9.4.1 指向结构的指针 155
9.4.2 指针作为结构体的成员 156
9.5 指针和函数 157
9.5.1 指针变量作为函数参数 157
9.5.2 函数的返回值是指针 159
9.5.3 指向函数的指针变量 160
9.5.4 命令行参数 162
9.6 应用举例 164
复习思考题 167
第10章 位运算 170
10.1 位运算符 170
10.2 位段 172
10.3 应用举例 174
复习思考题 176
第11章 编译预处理 177
11.1 宏定义 177
11.1.1 不带参数的宏定义 177
11.1.2 带参数的宏定义 179
11.2 文件包含 181
11.3 条件编译 182
11.4 应用举例 184
复习思考题 185
第12章 文件 187
12.1 文件概述 187
12.2 缓冲文件系统 189
12.2.1 文件(FILE)类型指针 189
12.2.2 文件的打开 189
12.2.3 文件的关闭 191
12.2.4 文件的读写 191
12.2.5 文件的定位 194
12.3 非缓冲文件系统 196
12.3.1 open函数和creat函数 197
12.3.2 close函数 197
12.3.3 read函数 197
12.3.4 write函数 197
12.3.5 文件定位函数lseek和tell 198
12.4 应用举例 198
复习思考题 201
第13章 C语言的综合应用 202
13.1 文本多级菜单的编制 202
13.2.1 ROM-BIOS的功能调用 204
13.2 C语言与系统功能调用 204
13.2.2 DOS功能调用 208
13.3 访问端口 209
复习思考题 210
附录 211
附录A 标准ASCⅡ字符集 211
附录B C语言中的关键字 212
附录C 运算符和结合性 213
附录D Turbo C集成开发环境简介 214
附录E C语言的库函数 218
参考文献 223