目录
第1章 C程序设计初步 1
1.1 简单的C程序 1
1.2 基本的输入输出函数 3
1.2.1
scanf()函数的简单应用 3
1.2.2
printf()函数的简单应用 6
1.3
C程序的基本结构 6
1.4
C程序的开发环境 8
1.4.1
C/C 程序设计学习与实验系统 8
1.4.2
Visual C 2010 11
1.4.3
C/C 程序设计学习与实验系统与Visual C 2010直通车 15
1.5 算法 16
1.6 综合实例:学生成绩管理程序(一) 21
1.7 常见程序错误及解决方法 22
1.8 学习C程序设计的方法 25
1.8.1
学习C程序设计是否过时 25
1.8.2
如何学习C程序设计 26
本章小结 30
习题1 30
实验1 C程序集成实验环境 31
第2章 顺序结构程序设计 41
2.1 顺序结构程序引例 41
2.2 标识符 42
2.3 编程规范 42
2.4 基本数据类型 44
2.5 常量与变量 44
2.5.1
常量 44
2.5.2
变量 48
2.6 运算符与表达式 56
2.6.1
常用的运算符与表达式 56
2.6.2
赋值运算符与赋值表达式 57
2.6.3
算术运算符与算术表达式 61
2.6.4
条件运算符与条件表达式 64
2.6.5
逗号运算符与逗号表达式 65
2.6.6
位运算符与位表达式 66
2.7 常见的数学函数与表达式 70
2.8 顺序结构程序设计 71
2.8.1
C语句 71
2.8.2
数据的输入输出 72
2.9 顺序结构程序举例 79
2.10
综合实例:学生成绩管理程序(二) 84
2.11
常见程序错误及解决方法 85
本章小结 87
习题2 87
实验2 顺序结构程序设计 89
第3章 选择结构程序设计 91
3.1 选择引例 91
3.2 选择条件 92
3.2.1
关系运算符和关系表达式 92
3.2.2
逻辑运算符和逻辑表达式 92
3.3
if语句 93
3.3.1
if语句的一般形式 93
3.3.2
用if语句实现简单的选择结构 96
3.3.3
用if语句实现多分支选择结构 99
3.4
switch语句 104
3.4.1
switch语句的一般形式 104
3.4.2
用switch语句实现多分支选择结构 106
3.5 应用举例 109
3.6 综合实例:学生成绩管理程序(三) 116
3.7 常见程序错误及解决方法 119
本章小结 120
习题3 120
实验3 选择程序设计 124
第4章 循环结构程序设计 128
4.1 循环引例 128
4.2
while语句 129
4.3
do…while语句 131
4.4
for语句 135
4.5 循环结构的比较 137
4.6
break和continue语句 139
4.6.1
break语句 139
4.6.2
continue语句 141
4.7 循环的嵌套 143
4.8 循环程序举例 147
4.9 综合实例:学生成绩管理程序(四) 158
4.10
常见程序错误及解决方法 160
本章小结 162
习题4 163
实验4 循环结构程序设计 166
第5章 数组 170
5.1 数组引例 170
5.2 一维数组 171
5.2.1
一维数组的定义 171
5.2.2
一维数组的引用 172
5.2.3
一维数组的初始化 173
5.2.4
一维数组的应用 173
5.3 二维数组及多维数组 176
5.3.1
二维数组的定义 176
5.3.2
二维数组的引用 177
5.3.3
二维数组的初始化 178
5.3.4
二维数组的应用 179
5.4 字符数组与字符串 182
5.4.1
字符数组的定义 182
5.4.2
字符数组的引用 183
5.4.3
字符数组的初始化 183
5.4.4
字符串和字符串结束标志 184
5.4.5
字符数组的输入输出 185
5.4.6
字符串处理函数 187
5.4.7
字符数组的应用 192
5.5 排序与查找 194
5.6 应用举例 200
5.7 综合实例:学生成绩管理程序(五) 202
5.8 常见程序错误 212
本章小结 212
习题5 213
实验5 数组 215
第6章 函数 218
6.1 函数概念 218
6.2 函数的定义与调用 220
6.2.1
函数的定义 220
6.2.2
函数调用 221
6.2.3
形式参数和实际参数 224
6.2.4
函数的返回值 225
6.3 函数的嵌套调用和递归 226
6.3.1
函数的嵌套调用 226
6.3.2
函数的递归调用 228
6.4 数组作为函数参数 232
6.5 变量的作用域及存储类型 238
6.5.1
动态存储方式与静态存储方式 238
6.5.2
变量的作用域 239
6.6 外部、内部函数 243
6.7 预处理命令 244
6.8 应用举例 246
6.9 综合实例:学生成绩管理程序(六) 250
6.10 常见程序错误及解决方法 260
本章小结 263
习题6 264
实验6 函数 267
第7章 指针 270
7.1 指针引例 270
7.2 指针和指针变量 271
7.2.1
指针的概念 271
7.2.2
指针变量的定义和引用 271
7.2.3
指针变量作为函数参数 273
7.3 指针与数组 275
7.3.1
通过指针访问一维数组 275
7.3.2
通过指针访问二维数组 279
7.3.3
通过指针访问字符串 282
7.3.4
用数组名作为函数参数 285
7.3.5
指针数组 287
7.4 指针与函数 290
7.4.1
指向函数的指针 290
7.4.2
返回指针值的函数 293
7.5 指向指针型数据的指针 295
7.6 动态数组 298
7.6.1
内存的动态分配 298
7.6.2
动态数组的应用 300
7.7 应用举例 301
7.8 综合实例:学生成绩管理程序(七) 305
7.9 常见程序错误及解决方法 315
本章小结 316
习题7 316
实验7 指针 318
第8章 结构体与其他构造类型 321
8.1 结构体引例 321
8.2 结构体类型和结构体变量 323
8.2.1
定义结构体类型 323
8.2.2
结构体变量的定义 325
8.2.3
结构体变量的初始化和引用 327
8.3 结构体数组 331
8.3.1
结构体数组的定义 331
8.3.2
结构体数组的初始化和引用 332
8.4 结构体指针 334
8.4.1
指向结构体变量的指针 334
8.4.2
指向结构体数组的指针 336
8.4.3
向函数传递结构体 337
8.5 链表 339
8.5.1
链表的定义 339
8.5.2
建立动态链表 341
8.5.3
链表的删除 344
8.5.4
链表的插入 345
8.6 共用体类型 347
8.7 枚举类型 350
8.8 用typedef声明新类型名 352
8.9 应用举例 354
8.10
综合实例:学生成绩管理程序(八) 359
8.11
常见程序错误及解决方法 369
本章小结 370
习题8 370
实验8 结构体与其他构造类型 374
第9章 文件 377
9.1 文件引例 377
9.2
C文件概述 378
9.3 文件的打开与关闭 379
9.3.1
文件类型指针 379
9.3.2
文件的打开函数 379
9.3.3
文件的关闭函数 381
9.4 文件的读写 382
9.4.1
文件读写函数 382
9.4.2
文件的读写举例 385
9.5 文件定位 388
9.5.1
文件定位函数——fseek( )函数 388
9.5.2
文件出错检测函数 389
9.6 文件综合举例 391
9.7 综合实例:学生成绩管理程序(九) 394
9.8 常见程序错误及解决方法 403
本章小结 404
习题9 404
实验9 文件 406
第10章 综合实例:用Visual
C 2010 开发通讯录管理程序 410
10.1
较大程序的开发过程 410
10.2
综合程序设计实例 411
10.2.1
题目的内容要求 411
10.2.2
程序的功能设计 412
10.2.3
程序的数据设计 413
10.2.4
程序的函数设计 414
10.2.5
用Visual C 2010开发通讯录管理程序 415
10.2.6
整体调试 444
10.2.7
程序维护 444
10.3
用Visual C 2010编写较大程序的注意事项 444
本章小结 445
习题10 445
参考文献 446
附录A 用Visual C
2010编写、调试C程序的方法 447
附录B 常用ASCII码字符对照表 457
附录C 常用库函数 458
附录D 习题参考答案 466