第一部分 入门篇 2
第1章 C语言概述 2
1.1 C语言的历史 2
1.2 C语言的特点 3
1.3 程序和程序设计语言 4
1.3.1 程序和程序设计 4
1.3.2 程序设计语言 4
1.4 简单的C程序介绍 5
1.4.1 认识C语言程序 5
1.4.2 分析C语言程序的结构特点 6
1.4.3 说明C程序书写规则 7
1.4.4 理解C程序的编译和运行 7
1.4.5 掌握开发程序的过程 8
1.5 Visual C++集成开发环境简介 9
1.5.1 Microsoft Visual C++6.0简介 9
1.5.2 Microsoft Visual C++6.0集成开发环境 10
1.6 常用调试手段简介 15
本章小结 17
习题1 17
第2章 C语言基础知识 18
2.1 C语言的词法符号 19
2.1.1 关键字 19
2.1.2 标识符 19
2.1.3 分隔符 20
2.2 C语言的数据类型 20
2.2.1 整型 20
2.2.2 浮点型 21
2.2.3 字符型 22
2.3 常量与变量 22
2.3.1 常量 22
2.3.2 变量 24
2.4 算数运算与赋值 26
2.4.1 算术运算符和算术表达式 26
2.4.2 赋值运算符和赋值表达式 28
2.5 综合应用实例 29
本章小结 30
习题2 30
第3章 简单程序设计 32
3.1 C语句概述 34
3.2 数据输出与输入 35
3.2.1 printf函数 35
3.2.2 scanf函数 38
3.3 字符输入输出函数 39
3.4 关系表达式和逻辑表达式 40
3.4.1 关系运算符及其表达式 40
3.4.2 逻辑运算符及其表达式 40
3.5 流程图简介 42
3.6 简单的if语句 43
3.6.1 单分支if语句 43
3.6.2 双分支if...else语句 44
3.7 C语言中几个特殊知识点 46
3.7.1 类型转换 46
3.7.2 逗号运算符和逗号表达式 47
3.7.3 条件表达式 48
3.8 综合应用实例 48
3.8.1 程序分析 48
3.8.2 应用实例 51
本章小结 55
习题3 55
第二部分 基础篇 58
第4章 if语句的嵌套及多分支程序设计 58
4.1 if语句的嵌套 58
4.2 switch语句 62
4.3 综合应用实例 64
4.3.1 程序分析 64
4.3.2 应用实例 66
本章小结 70
习题4 71
第5章 循环结构程序设计 72
5.1 for循环 73
5.2 while、do...while循环 76
5.2.1 while循环 76
5.2.2 do...while循环 78
5.2.3 while循环与do...while循环语句的区别 79
5.3 三种循环语句的比较 80
5.3.1 三种循环语句的比较 80
5.3.2 循环的嵌套 80
5.4 循环控制语句 82
5.5 for循环语句的特殊格式 83
5.6 综合应用实例 85
5.6.1 程序分析 85
5.6.2 应用实例 88
本章小结 90
习题5 91
第6章 数组 92
6.1 数组的定义和引用 93
6.1.1 数组的概念 93
6.1.2 一维数组 93
6.1.3 一维数组应用 95
6.2 二维数组 97
6.2.1 二维数组 97
6.2.2 二维数组应用 98
6.3 字符数组 99
6.3.1 字符数组 100
6.3.2 字符串 100
6.3.3 字符数组应用 103
6.4 综合应用实例 104
6.4.1 程序分析 104
6.4.2 应用实例 106
本章小结 110
习题6 110
第7章 函数 111
7.1 函数概述 112
7.1.1 函数的概念 112
7.1.2 函数的分类 112
7.1.3 函数的定义 113
7.1.4 函数的调用 114
7.2 函数的参数、变量的存储域和作用域 117
7.2.1 函数的参数 117
7.2.2 函数调用中的数据传递方法 120
7.2.3 变量的存储域和作用域、局部变量和全局变量 120
7.3 函数的嵌套调用和递归调用 125
7.3.1 函数的嵌套调用 125
7.3.2 函数的递归调用 126
7.4 综合应用实例 129
本章小结 131
习题7 132
第三部分 提高篇 134
第8章 指针 134
8.1 指针和指针变量 135
8.1.1 什么是指针变量 135
8.1.2 指针变量的定义和初始化 136
8.1.3 指针变量的使用 136
8.2 指针与函数 138
8.2.1 指针变量用作函数参数 139
8.2.2 返回指针值的函数 140
8.2.3 函数的指针和指向函数的指针变量 141
8.3 指针与数组 143
8.3.1 指向一维数组的指针变量 143
8.3.2 指向二维数组的指针变量 147
8.4 指向字符串的指针变量 151
8.5 指针数组和指向指针的指针变量 152
8.5.1 指针数组 152
8.5.2 指向指针的指针变量 153
8.5.3 main函数的参数 154
8.6 综合应用实例 155
8.6.1 程序分析 155
8.6.2 应用实例 157
本章小结 160
习题8 161
第9章 编译预处理 163
9.1 宏定义 164
9.1.1 不带参数的宏定义 164
9.1.2 带参数的宏定义 165
9.2 文件包含 166
9.3 条件编译 167
9.4 综合应用实例 168
本章小结 170
习题9 170
第10章 位运算 171
10.1 位运算符 171
10.2 位运算符的运算功能 172
10.2.1 基本位运算 172
10.2.2 扩展位运算 174
10.3 综合应用实例 174
本章小结 176
习题10 176
第11章 结构体、共用体和用户自定义类型 177
11.1 结构体类型的基本使用 178
11.1.1 结构体类型的说明 178
11.1.2 结构体变量定义及其初始化 179
11.1.3 结构体变量的内存分配 181
11.1.4 结构体变量的引用和操作 181
11.2 结构体与函数 183
11.3 链表 184
11.4 共用体 189
11.5 用户自定义类型typedef 190
11.6 综合应用实例 191
本章小结 193
习题11 194
第12章 文件 197
12.1 文件基本知识 197
12.1.1 文件的分类 197
12.1.2 C语言中文件I/O操作方法 198
12.2 文件指针 198
12.3 文件的打开及关闭 199
12.3.1 文件打开函数fopen() 199
12.3.2 文件关闭函数fclose() 200
12.4 文件的其他操作函数 200
12.4.1 文件顺序写函数 200
12.4.2 文件顺序读函数 201
12.4.3 文件随机读写函数 202
12.4.4 文件检测函数和文件定位函数 204
12.5 综合应用实例 205
本章小结 207
习题12 207
附录A ASCII码表 209
附录B C语言运算符的优先级及其结合性 211
附录C 库函数 212
附录D 编译错误信息 216
参考文献 222