第1章C语言概述 1
1.1程序设计与计算机语言 1
1.1.1程序设计 1
1.1.2计算机语言 1
1.2 C语言的发展过程和特点 3
1.2.1 C语言的发展过程 3
1.2.2 C语言的特点 3
1.3 C程序的基本结构和组成 4
1.3.1 C程序的基本结构 4
1.3.2 C程序的基本组成 5
1.4 C语言的基本标识符 6
1.5运行C程序的步骤实例 7
1.5.1运行C程序的一般过程 7
1.5.2运行C程序的一个实例 7
本章小结 10
习题 10
实训 11
第2章C语言的数据类型、运算符与表达式 13
2.1 C语言的数据类型 13
2.2常量 14
2.2.1整型常量 14
2.2.2实型常量 15
2.2.3字符常量 16
2.2.4字符串常量 17
2.2.5符号常量 18
2.3变量 18
2.3.1变量的定义与初始化 18
2.3.2整型变量 19
2.3.3实型变量 21
2.3.4字符型变量 22
2.4运算符及表达式 24
2.4.1算术运算符和算术表达式 24
2.4.2关系运算符和关系表达式 25
2.4.3逻辑运算符和逻辑表达式 26
2.4.4赋值运算符和赋值表达式 27
2.4.5逗号运算符和逗号表达式 27
2.4.6变量的自增(++)、自减(--)运算符 28
2.4.7混合运算和类型转换 29
本章小结 30
习题 30
实训 33
第3章 程序控制结构 36
3.1顺序结构 36
3.1.1赋值语句 36
3.1.2数据输出 37
3.1.3数据输入 41
3.1.4应用实例 44
3.2选择结构 46
3.2.1单分支选择结构 46
3.2.2双分支选择结构 47
3.2.3多分支选择结构 52
3.3循环结构 54
3.3.1循环的基本概念 55
3.3.2用while语句设计循环结构程序 55
3.3.3用do-while语句设计循环结构程序 57
3.3.4用for语句设计循环结构程序 58
3.3.5 break语句与continue语句 61
3.3.6几种循环语句的比较 62
3.3.7循环的嵌套 63
3.3.8应用实例 64
3.4实际应用 67
本章小结 71
习题 72
实训 78
第4章 数组 83
4.1数组的基本概念 83
4.2一维数组 84
4.2.1一维数组的定义 84
4.2.2一维数组的初始化 84
4.2.3一维数组的引用 85
4.2.4一维数组程序举例 86
4.3二维数组 87
4.3.1二维数组的定义 88
4.3.2二维数组的初始化 88
4.3.3二维数组的引用 89
4.3.4二维数组程序举例 90
4.4字符数组 91
4.4.1字符数组的定义、初始化及引用 91
4.4.2字符串与字符数组 92
4.5字符串处理函数 94
4.5.1字符串输出函数puts 94
4.5.2字符串输入函数gets 94
4.5.3字符串连接函数strcat 95
4.5.4字符串拷贝函数strcpy 95
4.5.5字符串比较函数strcmp 96
4.5.6测字符串长度函数strlen 96
4.5.7字符串小写函数strlwr 96
4.5.8字符串大写函数strupr 96
4.6应用实例 97
4.7实际应用 100
本章小结 103
习题 103
实训 108
第5章 函数 111
5.1模块化设计与函数 111
5.1.1模块化设计 111
5.1.2函数 112
5.2函数定义与分类 114
5.2.1函数的定义 114
5.2.2函数的分类 115
5.3函数的调用 117
5.3.1函数调用的方式 117
5.3.2函数的参数传递 117
5.4函数的声明与返回 120
5.4.1函数的声明 120
5.4.2函数的返回值 121
5.5函数的嵌套和递归调用 121
5.5.1函数的嵌套调用 121
5.5.2函数的递归调用 122
5.6变量的存储类型和作用域 126
5.6.1变量的存储类型 126
5.6.2变量的作用域 129
5.7外部函数和内部函数 132
5.7.1外部函数 132
5.7.2内部函数 133
5.8实际应用 134
本章小结 136
习题 136
实训 141
第6章 编译预处理 145
6.1宏定义 145
6.1.1不带参数的宏定义 145
6.1.2带参数的宏定义 147
6.2文件包含处理 149
6.3条件编译 150
6.3.1#ifdef…#endif和#ifndef…#endif命令 150
6.3.2#if…#endif 151
本章小结 151
习题 151
实训 153
第7章 结构体与共用体 156
7.1结构体的定义及其变量的初始化 156
7.1.1结构体的定义 156
7.1.2结构类型变量的说明 157
7.1.3结构体变量的初始化 158
7.2结构体类型变量的引用 160
7.3结构体数组 160
7.3.1定义 161
7.3.2结构体数组初始化 161
7.4指针和结构体 163
7.4.1指向结构体变量的指针 163
7.4.2指向结构体数组的指针 164
7.4.3结构指针参数 164
7.5用指针处理链表 165
7.5.1链表 165
7.5.2建立链表 166
7.5.3链表输出 168
7.5.4对链表中的元素进行删除 168
7.5.5对链表插入结点 170
7.5.6主函数 170
7.6共用体 172
7.6.1共用体的概念 172
7.6.2共用体的引用方式 172
7.6.3共用体的特点 173
7.7枚举 173
7.8用typedef定义类型 174
7.9实际应用 175
本章小结 178
习题 179
实训 184
第8章 指针 189
8.1指针概述 189
8.1.1指针与指针变量 189
8.1.2指针变量的定义和应用 190
8.1.3指针变量的运算 192
8.1.4指向指针的指针 195
8.2指针与数组 195
8.2.1指针与一维数组 196
8.2.2指针与二维数组 197
8.2.3指针与字符串 198
8.2.4指针数组 200
8.2.5指向指针的指针 201
本章小结 203
习题 203
实训 206
第9章 位运算 208
9.1位运算和位运算符 208
9.1.1按位与运算 209
9.1.2按位或运算 209
9.1.3按位异或运算 210
9.1.4求反运算 211
9.1.5左移运算 211
9.1.6右移运算 211
9.1.7位复合赋值运算符 212
9.2位域 212
9.2.1位域的定义和位域变量的说明 213
9.2.2关于位域的定义和引用的说明 213
9.2.3位域的使用 214
本章小结 215
习题 215
实训 217
第10章 文件 220
10.1文件概述 220
10.1.1文件的概念及分类 220
10.1.2 C文件结构及其指针 220
10.1.3文件系统的缓冲性 221
10.2文件的打开与关闭 222
10.2.1文件的打开函数fopen 222
10.2.2文件的关闭函数fclose 223
10.3文件的读写操作 224
10.3.1读/写字符函数fgetc和fputc 224
10.3.2读/写字符串函数fgets和fputs 224
10.3.3读/写数据块函数fread和fwrite 225
10.3.4读/写格式化函数fscanf和fprintf 226
10.4文件的定位 226
10.5文件检测函数 227
10.6实际应用 228
本章小结 228
习题 229
实训 230
第11章C语言实验指导 232
11.1实验概述 232
11.1.1实验的性质和任务 232
11.1.2实验的目的 232
11.1.3实验步骤 232
11.2集成开发环境 233
11.2.1 Turbo C启动和主界面介绍 233
11.2.2各菜单项功能 234
11.2.3 C语言程序的调试过程 241
11.3常见错误分析 242
11.3.1错误类型 242
11.3.2常见错误举例 243
本章小结 248
附录一ASCII代码表 249
附录二C语言常用关键字及说明 250
附录三C语言运算符及优先级 251
附录四 常用库函数 252
参考文献 259