第1章 C语言概述 1
1.1计算机语言的发展历程 1
1.2 C语言产生发展及特点 4
1.3 C语言程序上机 8
1.3.1 C语言程序开发过程 8
1.3.2常用C语言集成开发环境简介 10
1.4算法概述 14
1.4.1算法的概念 14
1.4.2简单算法举例 15
1.4.3算法的特性 16
1.4.4算法的表示 17
1.5实训指导 23
习题1 24
第2章 数据类型、运算符与表达式 26
2.1 C语言的数据类型 26
2.2关键字与标识符 27
2.2.1关键字 27
2.2.2标识符 27
2.3常量与变量 28
2.3.1常量 28
2.3.2变量 29
2.4基本数据类型 29
2.4.1整型 29
2.4.2实型 31
2.4.3字符型 32
2.5变量赋初值与类型转换 36
2.5.1变量赋初值 36
2.5.2类型转换 37
2.6运算符和表达式 39
2.6.1算术运算符和算术表达式 39
2.6.2关系运算符和关系表达式 41
2.6.3逻辑运算符和逻辑表达式 42
2.6.4条件运算符和条件表达式 43
2.6.5赋值运算符和赋值表达式 44
2.6.6逗号运算符和逗号表达式 46
2.6.7运算符的优先级与结合性 47
2.7实训指导 48
习题2 49
第3章 顺序程序设计 52
3.1数据的输入和输出 52
3.1.1 printf()函数 53
3.1.2 scanf()函数 57
3.1.3 getchar()函数与putchar()函数 60
3.2 C语言的语句 62
3.3实训指导 63
习题3 65
第4章 选择程序设计 70
4.1 if语句 70
4.1.1 if语句的三种基本形式 71
4.1.2 if语句的嵌套 74
4.2 switch语句 76
4.3实训指导 78
习题4 80
第5章 循环程序设计 85
5.1 goto语句 86
5.2 while语句 86
5.3 do…while语句 89
5.4 for语句 91
5.5 break语句及continue语句 93
5.6实训指导 95
习题5 97
第6章 数组 103
6.1一维数组 103
6.1.1一维数组的定义 103
6.1.2一维数组的引用 104
6.1.3一维数组的初始化 105
6.1.4一维数组的应用举例 106
6.2二维数组 109
6.2.1二维数组的定义和引用 109
6.2.2二维数组的初始化 110
6.2.3二维数组应用举例 111
6.3字符数组 113
6.3.1字符数组的定义 113
6.3.2字符数组的初始化 113
6.3.3字符串与字符串结束标志 115
6.3.4字符数组的输入与输出 117
6.3.5常用的字符串处理函数 118
6.4数组应用举例 123
6.5实训指导 126
习题6 128
第7章 函数 135
7.1函数的引入 135
7.2函数定义的形式 138
7.3函数的参数和返回值 140
7.3.1形式参数和实际参数 140
7.3.2函数的返回值 141
7.4函数的调用 142
7.4.1函数调用的一般形式 142
7.4.2函数调用的方式 143
7.4.3对被调用函数的说明 143
7.5函数的递归调用 145
7.6数组作为函数的参数 148
7.6.1数组元素作为函数参数 149
7.6.2数组名作为函数的形参和实参 149
7.7数据存储类别 150
7.7.1自动变量 151
7.7.2寄存器变量 151
7.7.3外部变量 152
7.7.4静态变量 154
7.8编译预处理 156
7.8.1概述 156
7.8.2宏定义 156
7.8.3无参数宏定义 157
7.8.4带参数宏定义 159
7.8.5文件包含 163
7.8.6条件编译 164
7.9实训指导 165
习题7 166
第8章 指针 172
8.1指针概述 172
8.1.1地址与指针 172
8.1.2指针变量的定义与引用 174
8.2指针与数组 182
8.2.1指针与一维数组 183
8.2.2指针与二维数组 185
8.2.3指针与字符串 189
8.2.4指针数组与多级指针 191
8.3指针与函数 193
8.3.1指针作为函数参数 193
8.3.2指向函数的指针 197
8.3.3返回指针值的函数 199
8.3.4 main函数中的参数 200
8.4实训指导 201
习题8 203
第9章 结构体与共用体 208
9.1结构体 208
9.1.1结构体类型的定义 208
9.1.2结构体变量的定义与引用 210
9.1.3指向结构体变量的指针 215
9.1.4链表 218
9.2共用体 230
9.2.1共用体类型的定义和共用体变量 231
9.2.2共用体变量的赋值和应用 233
9.3枚举类型 234
9.3.1枚举类型的定义和枚举变量 234
9.3.2枚举变量的赋值和使用 235
9.4用typedef定义类型 236
9.5实训指导 237
习题9 238
第10章 文件与位运算 242
10.1文件概述 242
10.1.1文件的概念 242
10.1.2文件的分类及处理方式 242
10.2文件指针 244
10.2.1文件指针 244
10.2.2文件操作一般过程 245
10.3文件的打开与关闭 245
10.3.1文件打开函数fopen 245
10.3.2文件关闭函数fclose 248
10.4文件读写 248
10.4.1字符读写函数fgetc和fputc 248
10.4.2字符串读写函数fgets和fputs 252
10.4.3数据块读写函数fread和fwrite 253
10.4.4格式化读写函数fscanf和fprintf 255
10.5文件的定位与随机读写 257
10.6位运算 260
10.6.1位运算概述 260
10.6.2位的逻辑运算 261
10.6.3位的移位运算 263
10.6.4位的赋值运算 264
10.6.5位运算符的优先级与结合性 264
10.6.6位段 264
10.7实训指导 266
习题10 267
附录1常用字符和ASCII码对照表 272
附录2运算符优先级和结合方向 273
附录3常用库函数 274
参考文献 278