第1章 C语言程序设计基础 1
1.1 C程序及其主函数 1
简单的C程序 1
程序语句 4
大小写字母的使用 6
程序的书写格式 6
简单C程序的基本结构模式 6
1.2基本的输入与输出 7
1.3初学者最容易出现的错误 8
1.4使用C程序解题的完整过程 9
程序的编辑、编译和运行的基本概念 9
熟悉使用集成环境的重要性 9
解题的简单过程 10
1.5 Visual C++6.0上机指南 11
1.6基本数据类型和表达式 15
标识符 15
变量 17
基本数据类型 18
常量 19
运算符与表达式 22
1.7数据输出 24
putchar函数(字符输出函数) 24
printf函数(格式输出函数) 25
1.8数据输入 28
getchar函数(字符输入函数) 28
scanf函数(格式输入函数) 28
1.9典型例题及错误分析 31
典型例题 31
典型错误分析 32
实训1 如何编辑、编译、调试和运行一个实际程序 34
习题1 34
第2章 C语言的控制结构 36
2.1 C语言的程序控制语句分类 36
2.2关系运算 36
关系运算符及其优先顺序 36
关系表达式 37
2.3逻辑运算 37
逻辑运算符及其优先次序 38
逻辑表达式 38
2.4控制选择 38
条件分支程序设计 39
switch开关分支程序设计 43
2.5循环控制程序设计 45
while语句 45
do...while语句 46
for语句 47
do...while、while及for语句的比较 49
break语句与continue语句 51
2.6 goto语句 53
2.7计算机解题实例 54
枚举法 54
计算机求解逻辑思维题的方法 55
计算机解题小结 58
使用C程序解题的基本步骤 58
2.8错误分析 60
实训2 通过调试改正程序中的错误 64
习题2 65
第3章 函数与变量类型 68
3.1函数 68
函数和函数原型 69
函数值和return语句 69
函数调用形式 71
函数的形参和实参 72
被调用函数的返回位置 73
3.2变量的作用域 73
3.3算法基本概念和典型实例 77
算法基本概念 77
迭代算法 78
递推算法 79
递归算法 82
3.4 C语言预处理器 84
宏定义与const修饰符 85
文件包含 86
条件编译 86
3.5 C程序的典型结构 88
单文件结构 88
一个源文件和一个头文件 89
多文件结构 90
3.6正确使用库函数 95
3.7错误分析 97
实训3 编辑含有多个文件的函数调用程序 99
习题3 99
第4章 数组和指针 103
4.1数组 103
一维数组 103
数组元素的初始化 107
多维数组 109
字符串数组 111
4.2指针 111
构造指针类型 111
指针变量的说明 113
指针运算符 114
地址运算 116
动态分配函数 117
综合例题 119
4.3指针与数组 122
指针与数组的关系 122
指针数组 126
用指针或数组名进行函数参数传递 127
4.4对指针使用const限定符 130
指向常量的指针 130
常量指针 132
指向常量的常量指针 133
使用const限定数组和指针作为函数参数 133
4.5指向指针的指针 134
4.6指针函数 136
4.7查找算法 138
线性查找 138
二分查找 139
4.8使用数组与指针易犯的错误 140
数组使用错误 140
指针使用不当 141
变量传递给函数 143
实训4 使用数组和指针 144
习题4 145
第5章 结构类型 148
5.1结构定义及其变量的初始化 148
结构定义 148
结构变量的初始化 150
结构使用的运算符 152
5.2结构数组 152
结构数组实例 152
结构数组定义 154
结构数组的初始化 154
5.3结构指针 155
结构数组的指针 155
结构指针的初始化 157
结构指针参数 158
使用结构指针 159
5.4结构的内存分配 160
5.5引用自身的结构 161
5.6枚举 163
5.7使用结构应注意的问题 163
实训5 使用结构指针数组 164
习题5 165
第6章 文件 167
6.1文件概述 167
6.2文件的打开与关闭 168
文件的打开(fopen函数) 168
文件的关闭(fclose函数) 170
6.3文件的读写 171
fputc(putc)函数和fgetc(getc)函数 171
fread()函数和fwrite()函数 174
fprintf()函数和fscanf()函数 178
文件的内存分配 179
其他读写函数 179
6.4文件的定位 180
rewind()函数 180
fseek()函数和随机读写 180
ftell()函数 181
6.5出错的检测 182
ferror()函数 182
clearerr()函数 182
6.6文件输入输出小结 182
6.7文件使用错误分析 183
实训6 在函数里使用文件 183
习题6 184
第7章 C程序结构化设计实例 185
7.1实用结构化程序设计基础 185
模块化程序设计 185
分块开发 186
工程文件 188
7.2函数设计注意事项 189
函数类型和返回值 189
传值 191
传地址 192
结构与函数 196
7.3软件测试 197
7.4程序的测试与调试 199
7.5程序设计、管理与测试实例 202
功能设计要求 202
总体设计 204
函数设计 205
7.6参考程序 208
7.7测试示例 223
菜单项及空表和空文件测试 223
测试建表 224
测试读取文件 226
7.8扩充完善学生成绩管理程序 229
实训题目和要求 229
改进措施 229
参考程序 230
修改科目和排序 247
附录A C语言新版本与老版本的主要差别 249
附录B C语言操作符的优先级 251
附录C C语言关键字 253
附录D 七位ASCII代码表 255
附录E 常用标准库解析 256
参考文献 260