目录
第1章C语言概述1
1.1程序与程序设计1
1.2C语言简介2
1.2.1C语言的发展2
1.2.2C语言的特点3
1.3简单的C程序3
1.4算法5
1.4.1算法概述5
1.4.2算法图示表示法6
小结8
习题18
第2章数据类型、运算符与表达式9
2.1C语言的数据类型9
2.2常量与变量10
2.2.1直接常量10
2.2.2符号常量10
2.2.3变量的定义11
2.2.4变量的赋值与初始化12
2.3基本数据类型13
2.3.1整型数据13
2.3.2实型数据15
2.3.3字符型数据16
2.3.4枚举类型数据19
2.3.5自定义类型名typedef21
2.4各种类型数据之间的混合运算21
2.5运算符与表达式22
2.5.1运算符与表达式简介232.5.2算术运算符与算术表达式24
2.5.3赋值运算符与赋值表达式26
2.5.4逗号运算符与逗号表达式28
2.5.5位运算符29
小结32
习题232
第3章顺序程序设计35
3.1C语句概述35
3.2赋值语句38
3.3数据输入输出的概念及在C语言中的实现39
3.4字符数据的输入输出40
3.4.1字符输出函数putchar函数40
3.4.2字符输入函数getchar函数41
3.5格式输入与输出42
3.5.1格式输出函数printf42
3.5.2格式输入函数scanf48
3.6编译预处理51
3.6.1宏定义51
3.6.2“文件包含”处理52
3.6.3“条件编译”处理54
3.7顺序结构程序设计举例55
小结57
习题357
第4章选择结构程序设计62
4.1关系运算符和关系表达式62
4.2逻辑运算符和逻辑表达式63
4.3if语句68
4.3.1if语句的三种形式68
4.3.2if语句的嵌套77
4.3.3条件运算符和条件表达式81
4.4switch语句84
小结89
习题489
第5章循环控制94
5.1goto语句以及用goto语句构成循环94
5.2while语句96
5.3dowhile语句99
5.4for语句102
5.5循环的嵌套105
5.6几种循环的比较108
5.7break和continue语句112
5.7.1break语句112
5.7.2continue语句116
小结118
习题5118
第6章数组126
6.1一维数组126
6.1.1一维数组的定义与引用126
6.1.2一维数组的初始化129
6.1.3一维数组程序举例130
6.2二维数组134
6.2.1二维数组的定义与引用134
6.2.2二维数组的初始化136
6.2.3二维数组程序举例137
6.3字符数组与字符串142
6.3.1字符数组的定义与引用142
6.3.2字符数组的初始化144
6.3.3字符串处理函数145
6.3.4字符数组举例149
小结152
习题6152
第7章函数160
7.1函数概述160
7.2函数的定义与调用161
7.2.1函数的定义161
7.2.2函数的返回值162
7.2.3函数声明163
7.2.4函数的调用165
7.2.5参数传递167
7.3函数的嵌套调用和递归调用170
7.3.1函数的嵌套调用170
7.3.2函数的递归调用171
7.4变量的作用域与存储类别173
7.4.1变量的作用域173
7.4.2变量的存储类别176
7.5函数的作用范围179
小结181
习题7181
第8章结构体与共用体185
8.1结构体185
8.1.1结构体概述及定义185
8.1.2结构体变量定义及使用186
8.2共用体192
8.2.1共用体定义193
8.2.2共用体变量定义及使用193
8.3结构体与共用体区别194
小结195
习题8196
第9章指针与链表201
9.1指针概述201
9.2指针变量及定义201
9.3使用指针变量202
9.3.1指针运算符202
9.3.2二级指针与多级指针205
9.4指针与数组207
9.4.1一维数组与指针207
9.4.2二维数组与指针212
9.4.3字符串与指针216
9.4.4指针数组220
9.4.5带参数的主函数223
9.5指针与函数225
9.5.1指针做函数参数225
9.5.2返回指针的函数230
9.5.3指向函数的指针231
9.6指针与结构体233
9.6.1指向结构体变量的指针233
9.6.2指向结构体数组的指针235
9.6.3结构体指针变量做函数参数236
9.7链表237
9.7.1链表概述237
9.7.2动态存储分配238
9.7.3单向链表的基本操作241
小结252
习题9253
第10章文件261
10.1文件概述261
10.2文件的打开与关闭262
10.2.1文件的打开函数fopen262
10.2.2文件的关闭函数fclose263
10.3文件的读写264
10.3.1字符方式文件读写函数fgetc()和fputc()264
10.3.2字符串方式文件读写函数fputs()和fgets()266
10.3.3格式化方式文件读写函数fscanf()和fprintf()268
10.3.4数据块方式文件读写函数fread()和fwrite()269
10.4文件的定位271
10.4.1rewind()函数272
10.4.2fseek()函数272
10.4.3ftell()函数272
小结272
习题10273
附录AASCII码表276
附录BC语言关键字277
附录CC语言运算符278
附录DC语言常用库函数279
参考文献284