第1章 C语言的基本知识 1
1.1 C语言的发展和特点 1
1.1.1历史背景简介 1
1.1.2 C语言的特点 1
1.2简单的C程序介绍 3
1.2.1源程序和书定格式 3
1.2.2函数的基本形式 3
1.3常量 4
1.3.1整型常量 4
1.3.2实型常量 4
1.3.3字符常量 5
1.3.4字符串常量 5
1.3.5符号常量 6
1.4变量 6
1.4.1整数型变量 7
1.4.2实型变量 8
1.4.3字符变量 8
1.4.4指针变量 9
1.5算术运算符和算术表达式 11
1.5.1 C运算符简介 11
1.5.2算术运算符及表达式 11
1.5.3自增自减运算符 12
1.5.4类型转换及强制类型转换运算符 13
1.6赋值运算符和赋值表达式 14
1.6.1赋值运算符 14
1.6.2赋值表达式与赋值语句 15
1.7逗号运算符和逗号表达式 15
1.7.1逗号表达式的一般形式 16
1.7.2逗号表达式的扩展形式 16
1.8关系运算和逻辑运算 16
1.8.1关系运算符和关系运算 16
1.8.2逻辑运算符和逻辑运算 17
1.9小结 18
习题 18
上机实习 21
第2章 C语言的输入输出 25
2.1输出函数 25
2.1.1格式输出函数printf() 25
2.1.2输出字符的函数putchar() 30
2.1.3输出字符串的函数puts() 31
2.2输入函数 31
2.2.1格式输入函数scanf() 31
2.2.2字符输入函数getchar() 34
2.2.3字符串输入函数gets() 35
2.3小结 35
习题 35
上机实习 38
第3章 C语言程序的控制流程结构设计 39
3.1分支程序设计 39
3.1.1 if语句 39
3.1.2条件运算符 41
3.1.3 switch语句 43
3.2循环控制语句 44
3.2.1 while循环结构 44
3.2.2 do-while循环语句 46
3.2.3 for循环语句 47
3.2.4循环语句的嵌套 49
3.2.5循环语句的辅助控制 49
3.2.6 goto语句 50
3.3应用举例 51
3.4小结 52
习题 52
上机实习 53
第4章 数组与指针 54
4.1一维数组 54
4.1.1一维数组的定义 54
4.1.2一维数组的初始化 55
4.1.3一维数组和指针 56
4.2二维数组 61
4.2.1二维数组的定义 61
4.2.2二维数组的初始化 62
4.2.3二维数组和指针 63
4.3字符数组 66
4.3.1字符串与字符数组 66
4.3.2字符数组的初始化 67
4.3.3字符串的输入和输出 67
4.3.4字符数组和指针 68
4.3.5字符串处理函数 70
4.3.6应用举例 73
4.4小结 75
习题 76
上机实习 79
第5章 结构体与共用体 80
5.1结构体与结构体变量的定义 80
5.1.1结构体的定义 81
5.1.2结构体变量的定义 82
5.2结构体变量的引用和初始化 83
5.2.1结构体成员的引用 83
5.2.2结构体变量的初始化 84
5.3结构体数组和指针 85
5.3.1结构体数组 85
5.3.2结构体指针 86
5.4结构体与链表 87
5.4.1什么是链表 87
5.4.2建立链表 88
5.4.3输出链表 89
5.4.4删除链表 90
5.4.5插入链表 91
5.5共用体和枚举类型 92
5.5.1共用体 92
5.5.2枚举类型 94
5.6小结 95
习题 95
上机实习 101
第6章 函数与存储类别 102
6.1有关函数的概念 102
6.1.1函数分哪几类 102
6.1.2怎样定义函数 103
6.1.3函数的参数及返回值 104
6.2函数的调用 106
6.2.1函数的语句调用 107
6.2.2函数的表达式调用 107
6.2.3函数的参数调用 108
6.2.4函数的嵌套调用 108
6.2.5函数的递归调用 109
6.3函数各种类型的参数 110
6.3.1指针变量作函数参数 110
6.3.2数组作函数参数 112
6.3.3字符串指针作函数参数 116
6.3.4结构体指针作函数参数 119
6.4函数与指针 119
6.4.1函数的指针和指向函数的指针变量 119
6.4.2返回指针值的函数 120
6.5变量的使用范围 123
6.5.1局部变量 123
6.5.2全局变量 125
6.6函数的使用范围 129
6.7小结 130
习题 130
上机实习 137
第7章 位运算 139
7.1位运算符 139
7.1.1什么是位 139
7.1.2位运算符 139
7.2位段 144
7.2.1什么是位段 144
7.2.2位段中的数据如何引用 145
7.3小结 145
习题 145
上机实习 147
第8章 编译预处理 149
8.1宏定义 149
8.1.1不带参数的宏定义 149
8.1.2带参数的宏定义 150
8.2“文件包含”预处理 151
8.2.1头文件 151
8.2.2文件包含 152
8.3条件编译 153
8.4小结 154
习题 154
上机实习 156
第9章 文件 158
9.1文件的概述 158
9.2文件类型指针 159
9.3文件操作 160
9.3.1文件的打开 160
9.3.2文件的关闭 161
9.4文件的读写 161
9.4.1 fputc函数和fgetc函数 161
9.4.2 fputs函数和fgets函数 164
9.4.3 fprintf和fscanf函数 165
9.4.4 fread函数和fwrite函数 166
9.5文件定位函数 168
9.5.1反绕函数rewind() 168
9.5.2移动文件位置指针的函数fseek() 168
9.5.3 ftell函数 169
9.6应用举例 170
9.7小结 171
习题 172
上机实习 175
附录A ASCII码与字符对应表 176
附录B C的关键字 177
附录C C的运算符和结合性 178
附录D C库函数 179
附录E Turbo C编译时常见的错误信息 183