第1章C语言概述1
1.1程序设计语言1
1.1.1低级语言2
1.1.2高级语言3
1.2通过实例认识C程序的结构4
1.2.1问候界面4
1.2.2计算里约奥运会中国军团新人的人数5
1.2.3计算有线电视n年的费用7
1.3C语言的标准和编译器8
1.3.1C语言的标准8
1.3.2常用的C语言编译器9
1.4程序的调试9
1.4.1调试步骤9
1.4.2在VisualC++6.0环境下调试第一个程序10
习题13第2章C语言基础知识15
2.1标识符、变量与常量15
2.1.1标识符15
2.1.2变量17
2.1.3常量18
2.2C语言的数据类型19
2.2.1为什么要讨论数据类型19
2.2.2C语言的数据类型种类22
2.2.3整型数据23
2.2.4字符型数据29
2.2.5浮点型数据35
2.3运算符和表达式38
2.3.1表达式与简单语句38
2.3.2算术运算符39
2.3.3赋值运算符41
2.3.4增1减1运算符42
2.3.5位逻辑运算符43
2.3.6逗号运算符45
2.3.7求字节数运算符46
2.3.8不同数据类型数据间的混合运算47
2.3.9赋值表达式的类型转换50
2.4指针类型与指针运算符55
2.4.1指针概念和指针变量的定义55
2.4.2指针运算符&和 的使用56
2.5典型错误分析59
习题60第3章结构化程序设计65
3.1结构化程序设计65
3.1.1结构化程序设计思想的产生65
3.1.2结构化程序设计的3种基本结构67
3.2语句与分程序70
3.3顺序结构程序设计72
3.4关系运算符与逻辑运算符74
3.4.1关系运算符74
3.4.2逻辑运算符76
3.5选择结构程序设计78
3.5.1问题提出与程序示例78
3.5.2if语句的3种形式79
3.5.3嵌套的if语句90
3.5.4switch语句94
3.5.5条件运算符98
3.5.6选择结构程序举例100
3.6循环结构程序设计104
3.6.1问题提出与程序示例104
3.6.2while语句106
3.6.3dowhile语句110
3.6.4for语句113
3.6.5多重循环115
3.6.6break语句在循环语句中的用法118
3.6.7continue语句120
3.6.8循环结构程序举例123
3.7典型错误分析131
习题137第4章模块化程序设计147
4.1模块化程序设计思想147
4.2函数的定义、声明与调用150
4.2.1函数基础150
4.2.2函数的定义形式151
4.2.3函数的返回值152
4.2.4函数声明152
4.2.5函数调用154
4.3函数的参数传递157
4.3.1形参和实参的关系158
4.3.2普通变量作为函数的形式参数158
4.3.3指针变量作为函数的形式参数159
4.4程序举例162
4.5函数的递归调用165
4.6变量的存储类别168
4.6.1自动变量与外部变量168
4.6.2静态变量177
4.6.3寄存器变量179
4.7预处理命令180
4.7.1宏定义180
4.7.2文件包含184
4.7.3条件编译186
4.8典型错误分析187
习题190第5章数组和指针197
5.1一维数组197
5.1.1问题提出与程序示例197
5.1.2一维数组的定义198
5.1.3一维数组的引用198
5.1.4一维数组的初始化200
5.1.5程序举例201
5.1.6数组名作为函数的参数205
5.2指针与一维数组212
5.2.1指针值的算术运算212
5.2.2指针方式和数组方式对数组元素的操作216
5.2.3指向一组空间首地址的指针作为函数参数2175.3动态的一维数组218
5.3.1空指针218
5.3.2存储器申请与释放219
5.4字符数组与字符串函数221
5.4.1字符数组221
5.4.2字符数据的输入与输出223
5.4.3指针与字符串225
5.4.4程序举例226
5.4.5字符串函数229
5.5二级指针231
5.6指针数组与命令行参数233
5.6.1指针数组233
5.6.2命令行参数237
5.7二维数组238
5.7.1二维数组的定义239
5.7.2二维数组的引用240
5.7.3二维数组的初始化241
5.7.4程序举例242
5.7.5用指针方法操作二维数组247
5.8典型错误分析248
习题253第6章结构体等构造数据类型262
6.1结构体262
6.1.1问题提出与程序示例262
6.1.2结构体的声明和定义263
6.1.3结构体成员的引用266
6.1.4结构体的初始化268
6.2结构体与数组268
6.2.1结构体包含数组268
6.2.2结构体数组269
6.3结构体与指针271
6.3.1指向结构体的指针271
6.3.2用结构体类型指针建立链表274
6.4结构体与函数276
6.4.1结构体数据作为函数的参数276
6.4.2返回指向结构体的指针的函数277
6.5联合体与枚举279
6.5.1使用联合体与枚举的目的279
6.5.2联合体与枚举的声明279
6.5.3联合体变量与枚举变量的定义280
6.5.4联合体变量成员的引用281
6.5.5枚举变量的使用282
6.5.6指向联合体变量的指针284
6.5.7联合体变量与函数284
6.5.8使用联合体与枚举的程序举例285
6.6类型定义287
6.7程序举例288
6.8典型错误分析291
习题294第7章文件301
7.1文件概述301
7.1.1问题提出与程序示例301
7.1.2文件“流”302
7.1.3文件操作的特点303
7.1.4缓冲文件系统303
7.2文件的打开与关闭304
7.2.1文件类型指针304
7.2.2文件的打开304
7.2.3文件的关闭306
7.3文件的读写操作306
7.3.1fputc函数与fgetc函数307
7.3.2fprintf函数与fscanf函数311
7.3.3fread函数与fwrite函数315
7.3.4fgets函数和fputs函数319
7.4文件的定位操作320
7.4.1文件的顺序存取和随机存取320
7.4.2rewind函数320
7.4.3fseek函数321
7.4.4ftell函数和feof函数323
习题323第8章案例326
案例1学生试卷分数统计326
案例2通信录管理系统332
附录AASCII码与字符对照表339
附录B运算符的优先级和结合性341
附录Cprintf函数的转换说明模式343