描述
开 本: 16开包 装: 平装是否套装: 否国际标准书号ISBN: 9787115325716丛书名: 21世纪高等学校计算机规划教材——高校系列
2.以贯穿性思维将一个项目的开发过程融入整本教材
本书通过一个贯穿全书的案例,逐步引出C语言的基础知识和应用方式,其中包括:C语言的数据类型和运算、顺序结构、选择结构、循环结构、函数、数组、指针、结构体和文件。文中穿插了较多的示例程序,这些程序代码都经过VC9和gcc双重编译调试通过。书中涉及的C语法完全符合C99标准。
本书可作为普通高校本、专科学生的教学用书,也可供一般工程技术人员参考使用。
第1章 引论 1
1.1 程序设计概述 1
1.1.1 为什么需要程序设计 2
1.1.2 什么是程序设计语言 4
1.1.3 程序设计语言的多样性 4
1.1.4 高级程序设计语言的基本结构 5
1.1.5 高级程序设计语言的开发过程 6
1.1.6 高级程序设计语言的标准化 7
1.2 计算机系统 8
1.2.1 硬件系统 8
1.2.2 软件系统 9
1.2.3 关于使用计算机系统的一些话题 10
1.3 C语言程序设计起步 10
1.3.1 C程序的基本结构 10
1.3.2 C程序的设计流程 13
1.3.3 C程序的编辑、编译、链接和运行 15
1.4 关于数据结构和算法 17
1.5 贯穿全书的案例 18
本章小结 19
第2章 数据类型和运算 20
2.1 问题的引入 20
2.2 数据类型 21
2.2.1 整数类型 22
2.2.2 字符类型 22
2.2.3 浮点类型 24
2.3 标识符与变量 25
2.3.1 标识符 25
2.3.2 变量 26
2.4 常量和枚举类型 28
2.4.1 字面常量、命名常量和符号常量 28
2.4.2 枚举类型 30
2.5 运算符和表达式 30
2.5.1 运算符和表达式概述 30
2.5.2 赋值运算符和赋值表达式 31
2.5.3 算术运算符和算术表达式 32
2.5.4 关系运算符和关系表达式 34
2.5.5 逻辑运算符和逻辑表达式 35
2.5.6 条件运算符和条件表达式 35
2.5.7 逗号运算符和逗号表达式 36
2.5.8 移位运算符和移位表达式 36
2.5.9 位运算符和位运算表达式 37
2.5.10 复合赋值运算符和复合赋值表达式 37
2.5.11 sizeof运算符 38
2.6 混合运算 39
2.6.1 运算符的优先级规则 39
2.6.2 类型转换 40
2.7 编程实例 42
2.8 C程序的书写风格 45
2.9 解决方案 45
本章小结 46
第3章 控制结构——顺序结构 47
3.1 问题引入 47
3.2 C语句概述 48
3.2.1 C语句的分类 48
3.2.2 非语句的情况 49
3.3 顺序控制结构 50
3.4 字符输入、输出 51
3.4.1 getchar()函数(字符输入函数) 51
3.4.2 putchar()函数(字符输出函数) 52
3.5 格式化输入、输出 52
3.5.1 格式化输出函数printf() 53
3.5.2 格式化输入函数scanf() 55
3.6 编译预处理 58
3.6.1 文件包含 59
3.6.2 宏替换 59
3.6.3 条件编译 60
3.7 解决方案 60
本章小结 61
第4章 控制结构——选择结构 62
4.1 问题引入 62
4.2 选择结构概述 62
4.3 if语句 63
4.3.1 单/双路选择if语句 63
4.3.2 多路选择if-else if语句 65
4.3.3 if语句的嵌套 67
4.4 多路选择switch语句 69
4.4.1 switch语句的基本语法 69
4.4.2 使用break语句终止switch语句的执行 70
4.4.3 switch语句与if-else if语句的异同 73
4.4.4 在switch语句中声明变量 73
4.5 解决方案 73
本章小结 75
第5章 控制结构——循环结构 76
5.1 问题引入 76
5.2 循环结构的概述 76
5.3 while语句 77
5.3.1 while语句的语法 77
5.3.2 死循环 78
5.3.3 程序实例 79
5.4 do-while语句 80
5.4.1 do-while语句的语法 80
5.4.2 迭代法 80
5.5 for语句 83
5.5.1 for语句的语法 83
5.5.2 for语句的变体形式 83
5.5.3 穷举法 84
5.6 循环嵌套 86
5.7 break和continue语句 88
5.7.1 break语句 88
5.7.2 continue语句 89
5.8 循环的应用 90
5.8.1 迭代法的应用 90
5.8.2 处理多个字符输入 90
5.8.3 穷举法应用 92
5.9 解决方案 94
本章小结 94
第6章 函数 95
6.1 问题引入 95
6.2 函数的声明和定义 96
6.2.1 函数的分类 96
6.2.2 函数原型的声明 96
6.2.3 函数的定义 97
6.2.4 函数类型 98
6.3 函数的调用 99
6.3.1 函数的参数 99
6.3.2 函数的返回值和return语句 100
6.3.3 函数的调用过程 102
6.3.4 函数的嵌套调用 102
6.4 函数的设计 103
6.5 存储分类 105
6.5.1 局部变量和全局变量 105
6.5.2 自动变量和静态变量 107
6.6 外部声明 109
6.7 函数递归 110
6.8 解决方案 114
本章小结 115
第7章 数组 116
7.1 问题引入 116
7.2 一维数组 117
7.2.1 一维数组的声明 117
7.2.2 一维数组元素的使用 118
7.2.3 一维数组的初始化 119
7.2.4 一维数组作为函数的参数 121
7.2.5 一维数组的应用 123
7.3 二维数组 129
7.3.1 二维数组的声明和使用 129
7.3.2 二维数组的初始化 131
7.3.3 二维数组作为函数的参数 133
7.3.4 二维数组的应用 134
7.3.5 二维数组和一维数组的关系 136
7.4 字符数组 138
7.4.1 字符数组、字符串及其初始化 138
7.4.2 字符串处理函数 140
7.4.3 一维、二维字符数组和字符串处理函数的应用 142
7.5 高维数组 144
7.6 解决方案 145
本章小结 148
第8章 指针 149
8.1 问题引入 149
8.2 指针的声明和使用 150
8.2.1 指针变量的声明 150
8.2.2 指针的使用 151
8.2.3 const作用于指针 154
8.3 指针的运算 156
8.3.1 指针的赋值运算 156
8.3.2 指针的比较运算 157
8.3.3 指针的算术运算 157
8.4 指针和数组 159
8.4.1 指向数组元素的指针 159
8.4.2 指向字符的指针、字符数组和字符串 162
8.4.3 指针数组 164
8.4.4 指向数组的指针 166
8.5 指向指针的指针 167
8.6 指针和函数 168
8.6.1 指针作为函数的参数 168
8.6.2 函数返回指针 173
8.6.3 指向函数的指针 174
8.6.4 使用typedef来简化类型 178
8.7 动态内存管理 179
8.8 解决方案 182
本章小结 182
第9章 结构体 183
9.1 问题引入 183
9.2 结构体类型声明和使用 184
9.2.1 结构体类型声明 184
9.2.2 结构体变量声明 186
9.2.3 结构体变量的使用和初始化 187
9.2.4 何时使用结构体 189
9.3 结构体数组 189
9.4 结构体与指针 191
9.4.1 指针变量作为结构体的成员 191
9.4.2 指向结构体变量的指针 192
9.4.3 指向结构体数组元素的指针 195
9.5 结构体与函数 198
9.5.1 结构体变量作为函数参数传递 198
9.5.2 函数返回结构体类型值 201
9.6 位域 204
9.7 联合体 205
9.8 解决方案 205
本章小结 207
第10章 文件 208
10.1 问题引入 208
10.2 C文件概述 208
10.3 文件的打开和关闭 210
10.3.1 fopen()函数(文件打开函数) 210
10.3.2 fclose()函数 211
10.4 文件的读写 212
10.4.1 字符的读写 212
10.4.2 格式化读写 213
10.4.3 字符串读写 214
10.4.4 数据块读写 216
10.5 关于文件操作的其他函数 217
10.5.1 rewind()函数 217
10.5.2 fseek()函数 218
10.5.3 ftell()函数 218
10.5.4 ferror()函数 219
10.5.5 feof()函数 219
10.6 解决方案 219
附录A C99关键字 222
附录B C语言的运算符 223
附录C 运算符的优先级和结合性 224
附录D ASCII码表 225
附录E 标准C语言头文件 227
参考文献 228
评论
还没有评论。