第1章C语言与程序设计简介 1
1.1计算机和程序设计的基本概念 1
1.1.1计算机系统组成 1
1.1.2程序与程序设计语言 2
1.2C语言的发展历程和特点 4
1.2.1C语言的发展历程 4
1.2.2C语言的主要特点 5
1.3C语言程序的基本组成 6
1.4VisualC┼ ┼上机操作 8
1.4.1VisualC┼ ┼的安装和启动 9
1.4.2VisualC┼ ┼环境的使用 9
习题1 17
第2章C语言程序设计基础 19
2.1C语言的基本符号与数据类型 19
2.1.1C语言的基本符号 19
2.1.2C语言的数据类型 21
2.2常量 22
2.2.1整型常量、实型常量及符号常量 23
2.2.2字符常量与字符串常量 24
2.3变量 26
2.3.1变量的概念、定义与初始化 26
2.3.2整型变量、实型变量与字符型变量 28
2.4运算符与表达式 32
2.4.1C语言运算符简介 32
2.4.2算术运算符和算术表达式 35
2.4.3关系运算符和关系表达式 38
2.4.4逻辑运算符和逻辑表达式 39
2.4.5赋值运算符与复合赋值运算符 41
2.4.6表达式中数据类型的自动和强制转换 43
2.5数据的输入/输出 45
2.5.1字符输入/输出函数 46
2.5.2格式输出函数 47
2.5.8格式输入函数 51
习题2 55
第3章三种基本结构的程序设计 60
3.1程序基本结构及C程序语句分类 60
3.1.1程序的基本结构 60
3.1.2C程序中的语句分类 61
3.2顺序结构程序设计 63
3.2.1赋值语句 63
3.2.2顺序结构程序 64
3.3选择结构程序设计 66
3.3.1if语句 66
3.3.2if语句的嵌套 70
3.3.3条件运算符和条件表达式 72
3.3.4switch语句 73
3.4循环结构程序设计 78
3.4.1while语句 78
3.4.2do…while语句 81
3.4.3for语句 83
3.4.4逗号运算符及逗号表达式 86
3.4.5break语句、continue语句和goto语句 87
3.4.6循环嵌套 91
3.5典型例题精讲 93
习题3 111
第4章数组 121
4.1一维数组 121
4.1.1一维数组的定义 121
4.1.2一维数组的引用和初始化 122
4.2二维数组 126
4.2.1二维数组的定义 126
4.2.2二维数组的引用和初始化 127
4.3字符数组和字符串 130
4.3.1字符数组的定义、引用及初始化 130
4.3.2字符串 133
4.3.3常用字符串处理函数 134
4.4典型例题精讲 138
习题4 148
第5章函数 155
5.1函数的概念及分类 155
5.1.1函数的概念 155
5.1.2函数的分类 155
5.2函数的定义和调用 156
5.2.1函数的定义 156
5.2.2函数的调用和返回值 157
5.2.3函数执行的分析方法 159
5.2.4函数的声明 161
5.3变量的作用域 162
5.3.1全局变量与局部变量 162
5.3.2函数的副作用 163
5.4函数的嵌套与递归 164
5.4.1函数的嵌套调用 164
5.4.2函数的递归调用 166
5.5典型例题精讲 169
5.6递归转化为非递归的研究 177
5.6.1汉诺塔问题的递归解法 177
5.6.2汉诺塔问题的非递归解法 180
5.6.3八皇后问题的递归解法 182
5.6.4八皇后问题的非递归解法 185
习题5 187
第6章指针 194
6.1指针和指针变量 194
6.1.1地址和指针的概念 194
6.1.2指针变量的定义和初始化 195
6.1.3指针变量的引用和运算 196
6.2指针与数组 199
6.2.1指针与一维数组 199
6.2.2指针与二维数组 203
6.2.3指针数组 208
6.3指针与字符串及多级指针 210
6.3.1指针与字符串 210
6.3.2多级指针 212
6.4指针与函数 215
6.4.1指针变量作为函数参数 215
6.4.2用数组名作函数参数 217
6.4.3返回指针值的函数 222
6.5动态数组 223
6.6典型例题精讲 226
习题6 234
第7章结构体 242
7.1结构体类型的定义与结构体变量 242
7.1.1结构体类型的定义 242
7.1.2结构体变量 245
7.1.3用typedef定义类型 250
7.2结构体数组及指向结构体的指针 253
7.2.1结构体数组 253
7.2.2指向结构体的指针 256
7.3链表 259
7.3.1链表的概念 259
7.3.2动态存储分配 261
7.3.3动态链表的建立与查找 262
7.3.4链表结点的插入与删除 266
7.4共用体 270
7.4.1共用体的概念与定义 270
7.4.2共用体变量的引用和赋值 272
7.5典型例题精讲 275
习题7 282
第8章文件 290
8.1文件的概念 290
8.1.1文件的分类 290
8.1.2文件指针及文件操作过程 291
8.2文件的打开与关闭 292
8.2.1文件的打开 292
8.2.2文件的关闭 294
8.3文件的读写 295
8.3.1字符读/写函数 295
8.3.2字符串读/写函数 298
8.3.3数据块读/写函数 299
8.3.4格式化读/写函数 301
8.4文件的定位与随机读/写 303
8.5典型例题精讲 307
习题8 312
第9章C语言与程序设计补遗 316
9.1变量的存储类别与生命期 316
9.2指向函数的指针变量 320
9.3带参数的main函数 324
9.4编译预处理命令 326
9.4.1宏定义命令 326
9.4.2文件包含命令 329
9.5枚举类型 332
9.6位运算 336
习题9 340
附录 346
附录1ASCII表 346
附录2C运算符和优先级 347
附录3常用C库函数 348
附录4部分习题参考答案 350
参考文献 354