章C语言概述1
1.1程序设计的相关概念1
1.1.1基本概念1
1.1.2算法1
1.1.3数据结构3
1.1.4算法+数据结构=程序3
1.2C/C++语言的产生及特点3
1.3C语言程序结构的特点4
1.4C语言中的词汇6
1.5C语言程序编写的基本规范7
1.6C语言程序的开发步骤及MicrosoftVisualC++2010Express集成开发环境介绍9
1.6.1C语言程序的开发步骤9
1.6.2MicrosoftVisualC++2010Express集成开发环境介绍9
1.6.3利用集成开发环境进行程序开发10
第2章基本数据类型与表达式14
2.1C语言的数据类型14
2.2标识符、常量和变量15
2.2.1标识符15
2.2.2常量和符号常量15
2.2.3变量16
2.3整型17
2.3.1整型常量17
2.3.2整型变量17
2.3.3整型数据的存储形式18
2.4实型19
2.4.1实型常量19
2.4.2实型变量19
2.4.3实型数据在内存中的存储形式19
2.5字符型20
2.5.1字符常量20
2.5.2字符串常量21
2.5.3字符变量22
2.6算术表达式22
2.6.1C语言运算符简介22
2.6.2数值型数据混合运算时的类型转换22
2.6.3算术运算符及算术表达式23
2.7赋值表达式25
2.7.1赋值运算符和赋值表达式25
2.7.2复合赋值表达式25
2.7.3赋值运算中的类型转换26
2.8关系表达式和逻辑表达式27
2.8.1C语言的逻辑值27
2.8.2关系运算符及关系表达式27
2.8.3逻辑运算符及逻辑表达式27
2.9逗号表达式28
2.10位运算29
2.10.1位运算符29
2.10.2位域简介32
2.11条件运算符和条件表达式33
第3章顺序结构程序设计35
3.1C语句概述35
3.2程序的三种基本结构37
3.3数据的输入/输出39
3.3.1格式输出函数printf39
3.3.2格式输入函数scanf44
3.3.3字符输出函数putchar47
3.3.4字符输入函数getchar47
3.4顺序结构程序设计举例48
第4章选择结构程序设计55
4.1关系运算符与关系表达式55
4.1.1关系运算符55
4.1.2关系表达式56
4.2逻辑运算符与逻辑表达式56
4.2.1逻辑运算符56
4.2.2逻辑表达式57
4.3if语句57
4.3.1if语句的三种形式57
4.3.2if语句的嵌套使用62
4.4switch语句64
4.5选择结构程序设计举例67
第5章循环结构程序设计71
5.1概述71
5.2while语句及其循环结构72
5.3do-while语句及其循环结构75
5.4for语句及其循环结构76
5.5break、continue和goto语句78
5.5.1break语句80
5.5.2continue语句80
5.5.3goto语句81
5.6循环的嵌套81
5.7循环程序举例83
第6章数组87
6.1一维数组87
6.1.1一维数组的定义87
6.1.2一维数组元素的引用88
6.1.3一维数组的初始化89
6.1.4一维数组程序举例90
6.2二维数组96
6.2.1二维数组的定义96
6.2.2二维数组元素的引用96
6.2.3二维数组的初始化97
6.2.4二维数组程序举例98
6.3字符数组103
6.3.1字符数组的定义104
6.3.2字符数组的初始化104
6.3.3字符数组的引用105
6.3.4字符串和字符串结束标志106
6.3.5字符数组的输入/输出107
6.3.6字符串处理函数109
6.3.7字符数组应用举例114
第7章函数118
7.1函数概述118
7.2函数的定义与返回值119
7.2.1函数的定义119
7.2.2函数的返回值121
7.3函数的调用122
7.3.1函数的参数及其传递122
7.3.2函数调用方式124
7.3.3函数声明和函数原型125
7.4函数的嵌套调用126
7.5函数的递归调用128
7.6数组作为函数的参数132
7.6.1数组元素作为函数实参132
7.6.2数组名作为函数参数133
7.7局部变量和全局变量137
7.7.1局部变量及其作用域和生存期138
7.7.2全局变量及其作用域和生存期141
7.8内部函数和外部函数144
第8章编译预处理147
8.1宏定义147
8.1.1无参宏的定义147
8.1.2带参数的宏定义150
8.2文件包含153
8.3条件编译155
第9章指针159
9.1存储单元及其地址159
9.2变量的实质160
9.3指针和变量162
9.3.1指针相关概念的引入162
9.3.2指针变量的定义和声明163
9.3.3指针变量的引用164
9.4指针和数组168
9.4.1指向一维数组元素的指针168
9.4.2通过指针变量引用一维数组元素170
9.4.3指向二维数组的指针171
9.4.4指针型数组175
9.4.5动态数组的实现178
9.5指针和字符串180
9.5.1字符指针180
9.5.2字符指针变量和字符数组的比较182
9.5.3字符串数组的进一步讨论183
9.6指针和函数186
9.6.1指针作为函数的参数186
9.6.2指针型函数190
9.6.3指向函数的指针191
9.6.4数组和指向数组的指针变量作为函数参数的进一步讨论194
9.7指针和多级指针196
9.7.1指向指针的指针196
9.7.2多级指针198
0章结构体与链表199
10.1概述199
10.2结构体类型的声明200
10.3结构体变量的定义200
10.4结构体变量的引用202
10.4.1对结构体变量成员的引用203
10.4.2对结构体变量的整体引用203
10.5结构体变量的初始化203
10.6结构体数组204
10.6.1结构体数组的定义205
10.6.2结构体数组的初始化206
10.6.3结构体数组元素的引用207
10.7指向结构体类型数据的指针208
10.7.1指向结构体变量的指针208
10.7.2指向结构体数组的指针209
10.7.3结构体变量和指向结构体的指针作为函数参数211
10.8链表216
10.8.1链表概述216
10.8.2处理动态链表所需的函数216
10.8.3单链表217
10.8.4双向链表230
10.9用typedef定义类型236
1章共用体和枚举238
11.1共用体类型238
11.1.1共用体类型和共用体变量的定义238
11.1.2共用体变量的引用240
11.1.3共用体的特点240
11.1.4共用体和结构体的比较241
11.2共用体类型应用举例241
11.3枚举类型243
11.3.1枚举类型的定义243
11.3.2枚举类型的特点244
11.3.3枚举类型应用举例244
2章文件247
12.1文件概述247
12.2文件指针248
12.3文件的打开和关闭249
12.3.1文件的打开函数fopen249
12.3.2文件的关闭函数fclose250
12.4文件的读/写251
12.4.1字符读/写函数fgetc和fputc251
12.4.2字符串读/写函数fgets和fputs252
12.4.3数据块读/写函数fread和fwrite252
12.4.4格式化读/写函数fscanf和fprintf253
12.5文件的随机读/写253
12.5.1文件定位253
12.5.2文件的随机读/写254
12.6文件检测函数255
12.6.1文件结束检测函数feof255
12.6.2读/写文件出错检测函数ferror255
12.6.3文件出错标志和文件结束标志置零函数clearerr255
12.7库文件255
12.8文件应用举例256
附录AASCII码表261
附录B运算符的优先级和结合方向一览264
附录CC语言标准库函数265
C.1头文件265
C.2常用库函数分类266
参考文献269