第1章 程序设计和C语言基础 1
1.1 程序和程序设计 2
1.1.1 程序 2
1.1.2 程序设计 3
1.2 算法和流程图 5
1.2.1 算法 5
1.2.2 结构化程序设计和流程图 6
1.3 C语言构成 9
1.3.1 C语言简单实例 9
1.3.2 C语言程序的构成 12
1.3.3 C语言特点 13
1.4 C语言开发环境 14
1.4.1 Turbo C 2.0集成开发环境 14
1.4.2 Visual C++集成开发环境 19
1.4.3 两种编程工具的比较 22
1.4.4 语法错误的程序调试方法 23
1.5 C语言基本元素 24
1.5.1 标识符和关键字 24
1.5.2 C语言基本数据类型 25
1.5.3 常量 27
1.5.4 变量及初始化 29
1.5.5 混合运算时的类型转换 31
1.5.6 基本运算符与表达式 32
1.5.7 运算优先级与结合性 34
小结 34
习题 36
第2章 顺序结构程序设计 40
2.1 C语言基本语句简介 41
2.1.1 基本语句 41
2.1.2 赋值语句 42
2.1.3 注释 43
2.1.4 文件包含命令 43
2.2 数据输出函数 44
2.2.1 printf函数(格式输出函数) 44
2.2.2 其他输出函数 49
2.3 数据输入函数 49
2.3.1 scanf函数(格式输入函数) 49
2.3.2 其他输入函数 51
2.4 顺序结构程序设计举例 52
2.5 语句标号和goto语句 55
2.5.1 语句标号 55
2.5.2 goto语句(无条件转向语句) 55
2.6 程序调试方法 57
2.6.1 单步执行 58
2.6.2 设置和使用断点 60
2.6.3 计算表达式 61
小结 61
习题 62
第3章 选择结构程序设计 66
3.1 逻辑运算符与表达式 67
3.1.1 关系运算符与表达式 67
3.1.2 逻辑运算符与表达式 68
3.2 选择语句 70
3.2.1 if语句 70
3.2.2 if-else语句 72
3.2.3 if-else-if语句 73
3.2.4 if语句的嵌套 75
3.3 条件运算符和条件表达式 76
3.4 switch-case(开关)语句 77
小结 79
习题 80
第4章 循环结构程序设计 86
4.1 while循环结构 88
4.2 dowhile循环结构 91
4.3 for循环结构 92
4.3.1 for语句 92
4.3.2 for语句的多样性 95
4.4 循环的嵌套 96
4.5 break语句和continue语句 99
4.5.1 break中断语句 99
4.5.2 continue条件继续语句 100
4.6 程序举例 100
小结 105
习题 105
第5章 数组和字符串 109
5.1 一维数组 110
5.1.1 一维数组的定义及初始化 110
5.1.2 一维数组元素的引用 111
5.2 二维数组 115
5.2.1 二维数组的定义和初始化 115
5.2.2 二维数组的引用 116
5.3 字符数组和字符串处理函数 118
5.3.1 字符数组 118
5.3.2 字符串处理函数 121
5.4 程序举例 124
小结 127
习题 128
第6章 函数和预处理 132
6.1 函数的定义 133
6.2 函数的调用 137
6.2.1 函数调用格式 137
6.2.2 函数调用的方式 138
6.2.3 函数的说明 138
6.2.4 函数参数的传递规则 139
6.2.5 函数的嵌套调用 141
6.2.6 函数的递归调用 142
6.2.7 数组作为函数参数 146
6.3 局部变量和外部(全局)变量 147
6.3.1 局部变量 148
6.3.2 外部(全局)变量 148
6.4 变量的存储类别和作用域 150
6.5 内部函数和外部函数 152
6.6 预处理命令 154
6.6.1 宏定义 155
6.6.2 文件包含 157
6.6.3 条件编译 158
6.6.4 其他预处理命令 160
小结 161
习题 161
第7章 指针 166
7.1 指针的概念 167
7.2 指针变量 168
7.2.1 指针变量的定义及赋值 168
7.2.2 指针变量的引用 169
7.2.3 指针变量做函数参数 171
7.3 指针与数组 173
7.3.1 指向数组元素的指针变量 173
7.3.2 指针运算 175
7.3.3 数组名作为函数参数 176
7.4 指针与函数 178
7.5 返回指针值的函数 182
7.6 指针数组和指向指针数据的指针 183
7.6.1 指针数组 183
7.6.2 指向指针数据的指针 188
7.6.3 指针数组为main函数的形参 188
小结 190
习题 190
第8章 结构体、共用体与位运算 194
8.1 结构体 195
8.1.1 结构体类型 195
8.1.2 结构体类型变量的初始化及引用 197
8.1.3 结构体数组 199
8.1.4 指向结构体类型数据的指针 201
8.2 共用体 203
8.2.1 共用体的定义 203
8.2.2 共用体类型变量的引用 204
8.3 枚举类型 206
8.4 链表 207
8.4.1 链表的建立 208
8.4.2 链表的插入与删除 212
8.5 位运算 216
8.5.1 按位与运算符(&) 216
8.5.2 按位或运算符(|) 217
8.5.3 异或运算符(∧) 217
8.5.4 取反运算符(~) 218
8.5.5 左移运算符(<<) 218
8.5.6 右移运算符(>>) 219
8.5.7 位运算 219
小结 220
习题 220
第9章 文件 224
9.1 文件的概念 225
9.2 文件的打开与关闭 226
9.2.1 打开文件函数(fopen) 227
9.2.2 关闭文件函数(fclose) 228
9.3 文件的读/写 229
9.3.1 字符读/写函数 229
9.3.2 字符串读/写函数 231
9.3.3 数据块读/写函数 232
9.3.4 格式化读/写函数 233
9.4 文件定位函数 235
9.5 文件操作出错检测函数 237
小结 237
习题 237
第10章 应用程序设计实例(课程设计) 240
10.1 程序设计方法简介 241
10.2 课程设计 242
10.3 歌唱比赛评分系统 243
10.3.1 评分过程及功能介绍 243
10.3.2 程序代码 244
10.4 学生成绩管理系统 249
10.4.1 任务介绍及功能分析 249
10.4.2 程序代码 249
10.5 课程设计参考题目 261
小结 262
第11章 实验实训与上机指导 263
实验1 C语言程序运行环境的使用 264
实验2 数据类型及运算符 267
实验3 顺序结构程序设计 269
实验4 选择结构程序设计 271
实验5 循环结构程序设计 271
实验6 数组应用 273
实验7 函数应用 273
实验8 预处理 274
实验9 指针 275
实验10 结构体和共用体 277
实验11 位运算 278
实验12 文件应用 278
附录A ASCII代码 280
附录B TC编译、连接时常见的错误信息 284
附录C 运算符的优先级与结合性 287
附录D 常用Turbo C库函数 288
参考文献 301