第1章 计算思维与C语言程序设计 1
1.1 什么是计算思维 1
1.1.1 计算思维概念 1
1.1.2 计算思维的特征 1
1.1.3 计算思维的本质 2
1.1.4 计算思维与计算机的关系 2
1.2 C语言概述 3
1.2.1 计算机语言发展史 3
1.2.2 什么是C语言 3
1.2.3 C语言的特点 4
1.2.4 C语言的发展趋势 5
1.3 C语言开发环境的搭建 5
1.3.1 Visual C+++ 6.0集成开发环境 6
1.3.2 利用Visual C+++ 6.0开发环境新建文件 6
1.3.3 利用Visual C+++ 6.0开发环境编写程序 7
1.4 C语言代码风格 9
1.4.1 程序格式 9
1.4.2 程序注释 11
本章小结 11
习题1 11
第2章 C语言的基础知识 12
2.1 C语言的基本数据类型 12
2.1.1 数据类型概述 12
2.1.2 整数类型 13
2.1.3 实数类型 13
2.1.4 字符类型 14
2.2 标识符与关键字 14
2.3 常量 15
2.3.1 数值常量 15
2.3.2 字符型常量 15
2.3.3 字符串常量 16
2.3.4 符号常量 16
2.4 变量 16
2.5 运算符与表达式 17
2.5.1 算术运算符 17
2.5.2 关系运算符 19
2.5.3 逻辑运算符 19
2.5.4 赋值运算符 20
2.5.5 条件运算符 21
2.5.6 逗号运算符 21
2.5.7 求字节运算符 21
2.5.8 各种运算符的优先级 22
2.6 数据类型转换 22
2.6.1 自动转换 22
2.6.2 赋值转换 23
2.6.3 强制类型转换 24
2.7 本章小结 24
习题2 24
第3章 顺序结构程序设计 27
3.1 C语言的基本语句 27
3.1.1 表达式语句 27
3.1.2 函数调用语句 27
3.1.3 流程控制语句 28
3.1.4 空语句 28
3.1.5 复合语句 28
3.2 输入输出操作 29
3.2.1 格式化输入与输出 29
3.2.2 字符数据输入与输出 32
3.3 顺序程序设计 34
3.4 图书管理系统案例 35
本章小结 36
习题3 36
第4章 选择结构程序设计 38
4.1 if条件语句 38
4.1.1 if语句 38
4.1.2 if...else语句 40
4.1.3 if...else if语句 41
4.1.4 if条件语句的嵌套 43
4.2 switch条件语句 43
4.3 图书管理系统案例 47
本章小结 49
习题4 49
第5章 循环结构程序设计 51
5.1 for循环语句 51
5.1.1 语句格式 51
5.1.2 for语句的变形 53
5.2 while循环语句 54
5.3 do...while循环语句 55
5.4 循环结构的嵌套 57
5.5 break和continue语句 58
5.5.1 break语句 58
5.5.2 continue语句 59
5.5.3 break和continue的区别 60
5.6 图书管理系统案例 60
本章小结 62
习题5 62
第6章 函数 65
6.1 函数概述 65
6.1.1 使用include命令行调用标准库函数 65
6.1.2 标准库函数的调用 66
6.2 函数定义和返回值 66
6.2.1 函数定义 66
6.2.2 函数的返回值 67
6.3 函数的调用 69
6.3.1 函数的调用方式 69
6.3.2 函数调用时的语法规定 69
6.4 函数的声明 71
6.4.1 函数声明的形式 71
6.4.2 函数声明的位置 72
6.5 参数传递 73
6.5.1 数据传递方式 73
6.5.2 函数调用的过程 74
6.6 函数的嵌套与递归 75
6.6.1 嵌套调用 75
6.6.2 递归调用 75
6.7 变量的作用域和存储类型 77
6.7.1 局部变量和全局变量 77
6.7.2 变量的存储类型 78
6.7.3 内部函数与外部函数 80
6.8 图书管理系统案例 80
本章小结 83
习题6 83
第7章 数组 85
7.1 数组概述 85
7.2 一维数组 85
7.2.1 一维数组的定义 85
7.2.2 一维数组的初始化 86
7.2.3 一维数组元素的引用 87
7.3 二维数组 89
7.3.1 二维数组的定义 89
7.3.2 二维数组的初始化 90
7.3.3 二维数组元素的引用 90
7.4 多维数组 92
7.5 字符数组与字符串 93
7.5.1 字符数组的定义 93
7.5.2 字符数组的初始化 93
7.5.3 字符串处理的函数 95
7.6 数组作为函数参数 98
7.6.1 数组元素作为函数的实参 98
7.6.2 数组名作为函数的实参 98
7.7 图书管理系统案例 99
本章小结 101
习题7 101
第8章 指针 104
8.1 指针的基本概念 104
8.2 变量与指针 104
8.2.1 指针变量的定义 105
8.2.2 指针变量的引用 105
8.2.3 指针变量作为函数参数 108
8.3 一维数组与指针 109
8.3.1 指向数组元素的指针变量 109
8.3.2 指向数组的指针的相关运算 110
8.3.3 通过指针引用数组元素 112
8.3.4 数组作函数的参数 115
8.4 二维数组与指针 119
8.4.1 二维数组的地址 119
8.4.2 指向二维数组元素的指针 121
8.4.3 行指针变量 122
8.5 字符串与指针 123
8.5.1 字符串的表示与引用 123
8.5.2 字符串指针作函数参数 124
8.6 返回指针值的函数 125
8.7 指针数组 126
8.7.1 指针数组概述 126
8.7.2 指向指针的指针 128
8.8 函数的指针和指向函数的指针变量 130
8.9 图书管理系统案例 131
本章小结 132
习题8 132
第9章 自定义数据类型 134
9.1 结构体类型 134
9.1.1 结构体类型的定义 134
9.1.2 结构体变量 136
9.1.3 结构体数组 139
9.1.4 结构体指针 142
9.2 共用体数据类型 147
9.2.1 共用体类型的定义 147
9.2.2 共用体变量的引用 148
9.2.3 共用体的应用 149
9.3 枚举数据类型 150
9.4 自定义类型 152
9.5 图书管理系统案例 153
本章小结 155
习题9 155
第10章 预处理 157
10.1 预处理器 157
10.2 宏定义 158
10.2.1 不带参数的宏 158
10.2.2 带参数的宏 160
10.3 文件包含 162
10.4 条件编译 163
10.4.1 #if命令 163
10.4.2 #ifdef命令 164
10.4.3 #ifndef命令 165
本章小结 165
习题10 165
第11章 文件 168
11.1 文件概述 168
11.1.1 文件的分类 168
11.1.2 文件指针 169
11.2 文件的打开与关闭 169
11.2.1 文件打开fopen函数() 170
11.2.2 文件关闭函数fclose函数() 171
11.3 文件的读写 172
11.3.1 字符读写函数fgetc()和fputc() 172
11.3.2 字符串读写函数fgets()和fputs() 176
11.3.3 数据块读写函数fread()和fwtrite() 178
11.3.4 格式化读写函数fscanf()和fprintf() 180
11.4 文件的随机读写 182
11.4.1 文件定位 182
11.4.2 文件的随机读写 183
11.5 文件检测函数 184
11.5.1 文件结束检测函数feof() 184
11.5.2 读写文件出错检测函数ferror() 184
11.5.3 文件出错标志和文件结束标志置0函数chearerr() 185
11.6 图书管理系统案例 185
本章小结 186
习题11 187
习题参考答案 189
参考文献 210
附录1 运算符的优先级和结合性 211
附录2 常用字符的ASCII码对照表 213
附录3 C语言常用库函数 215