C语言程序设计(工业和信息化普通高等教育“十二五”规划教材立项项目)
定 价:39.8 元
- 作者:赵山林 高媛 主编
- 出版时间:2012/10/1
- ISBN:9787115287939
- 出 版 社:人民邮电出版社
- 中图法分类:H31
- 页码:331
- 纸张:胶版纸
- 版次:1
- 开本:16K
本书是“零基础”读者的C语言教材。全书按照基本类型数据、结构化程序设计、模块化函数设计、指针、数组、字符串、结构体、文件的顺序阐述了C语言语法和句法规则,归纳了分支、循环算法设计思路和函数设计方法,并配以大量实例阐述了程序设计方法。本书习题包括选择题、填空题、编程题3种题型,覆盖范围广。
本书可作为高等院校计算机及相关专业的教材,也可作为自学参考书。
第1章 绪论 1
1.1 计算机基础知识 1
1.1.1 冯·诺依曼体系结构的计算机及工作原理 1
1.1.2 数制及数制间的转换 3
1.1.3 数据在内存中的存储 7
1.1.4 软件系统 12
1.2 程序设计基础 14
1.2.1 利用计算机解决实际问题的具体步骤 15
1.2.2 算法及其表示 16
1.2.3 结构化程序设计 21
1.3 C语言简介 22
1.3.1 C语言的发展 22
1.3.2 C语言的符号集 24
1.3.3 C程序结构 25
习题 27
第2章 数据及运算 29
2.1 数据类型 29
2.2 C程序中数据的表示方法 30
2.2.1 常量 30
2.2.2 变量 34
2.3 运算符及其表达式 37
2.3.1 C运算符概述 37
2.3.2 算术运算符及算术表达式 37
2.3.3 赋值运算符和赋值表达式 39
2.3.4 自增自减运算符及含自增自减运算的表达式 40
2.3.5 逗号运算符和逗号表达式 41
2.3.6 表达式小结 42
2.4 类型转换 42
2.4.1 类型的自动转换 42
2.4.2 类型的强制转换 47
习题 48
第3章 顺序结构程序设计 50
3.1 C语句概述 50
3.2 常用库函数使用 51
3.2.1 库函数的使用 52
3.2.2 输出函数 53
3.2.3 输入函数 59
3.3 顺序结构程序设计举例 64
习题 66
第4章 选择结构程序设计 69
4.1 逻辑量 69
4.1.1 任意确定的值 69
4.1.2 关系表达式 69
4.1.3 逻辑表达式 70
4.2 if语句 72
4.2.1 if语句的格式 72
4.2.2 条件表达式 75
4.2.3 if语句的嵌套 77
4.3 switch语句 81
4.4 选择结构程序设计举例 85
习题 90
第5章 循环结构程序设计 94
5.1 循环结构的概念 94
5.2 实现循环的语句 95
5.2.1 while语句 95
5.2.2 do~while语句 99
5.2.3 for语句 102
5.3 break和continue语句 105
5.3.1 break语句 105
5.3.2 continue语句 107
5.4 循环的嵌套 108
5.5 循环结构程序设计举例 111
习题 116
第6章 函数 122
6.1 概述 122
6.1.1 函数概述 122
6.1.2 C程序结构 124
6.1.3 函数分类 125
6.2 函数的定义 125
6.2.1 函数定义的一般形式 125
6.2.2 关于函数定义的几点说明 128
6.3 函数的调用 130
6.3.1 函数声明 130
6.3.2 函数调用 132
6.3.3 函数调用的执行机制 133
6.4 函数的嵌套调用和递归调用 134
6.4.1 函数的嵌套调用 134
6.4.2 函数的递归调用 135
6.5 变量的作用域与生存期 139
6.5.1 变量的属性 139
6.5.2 局部变量 140
6.5.3 全局变量 142
6.6 函数举例 147
习题 151
第7章 指针 156
7.1 指针的基本概念 156
7.1.1 变量的直接访问和间接访问 156
7.1.2 指针与指针变量 157
7.2 指向变量的指针变量 158
7.2.1 指针变量的定义 158
7.2.2 指向关系的建立 159
7.2.3 间接访问 160
7.3 指针变量做函数形参 163
7.4 指向函数的指针和返回指针值的函数 166
7.4.1 指向函数的指针 166
7.4.2 指向函数的指针变量 167
7.4.3 指向函数的指针变量做函数参数 169
7.4.4 返回指针值的函数 171
7.5 多级指针 172
7.5.1 二级指针 172
7.5.2 多级指针 173
习题 173
第8章 数组 176
8.1 数组的基本概念 176
8.2 一维数组 177
8.2.1 一维数组的定义 177
8.2.2 一维数组元素的引用 178
8.2.3 一维数组元素的初始化 180
8.2.4 一维数组程序设计举例 180
8.3 指向数组元素的指针变量 184
8.3.1 指向数组元素的指针变量 184
8.3.2 指针变量做函数形参访问主调函数中的数组元素 190
8.4 二维数组 195
8.4.1 二维数组的定义 195
8.4.2 二维数组元素的引用 196
8.4.3 二维数组元素的初始化 197
8.4.4 二维数组程序设计举例 198
8.5 二维数组和指针 200
8.5.1 二维数组的指针 200
8.5.2 指向二维数组元素的指针变量 201
8.5.3 指向一维数组的指针变量 202
8.5.4 指向一维数组的指针变量做函数形参 203
8.6 指针数组 204
8.6.1 指针数组的定义 205
8.6.2 指针数组的引用与初始化 205
8.6.3 利用指针数组处理二维数组 205
8.6.4 一维指针数组和二级指针的关系 206
习题 206
第9章 字符串 210
9.1 字符数组和字符串 210
9.1.1 一维字符数组表示字符串 210
9.1.2 二维字符数组表示字符串 214
9.2 指向字符的指针变量和字符串 216
9.2.1 指向字符的指针变量表示字符串 216
9.2.2 使用指针数组表示多个字符串 224
9.3 命令行参数 227
习题 228
第10章 结构体、联合体与枚举 232
10.1 结构体类型及结构体变量 232
10.1.1 结构体类型的定义 232
10.1.2 结构体变量 233
10.1.3 结构体嵌套 237
10.1.4 结构体变量做函数形参 239
10.2 结构体数组 240
10.2.1 结构体数组的定义 241
10.2.2 结构体数组的引用 241
10.2.3 结构体数组的初始化 242
10.3 结构体指针 243
10.3.1 指向结构体变量的指针变量 243
10.3.2 指向结构体数组元素的指针 245
10.3.3 结构体指针变量做函数形参 247
10.4 链表 248
10.4.1 单向链表的概念 248
10.4.2 内存的动态分配与释放函数 249
10.4.3 单向链表算法 251
10.5 联合体 260
10.5.1 联合体类型的定义 260
10.5.2 联合体变量的定义 261
10.5.3 联合体变量的引用 262
10.6 枚举 266
10.6.1 枚举类型的定义 266
10.6.2 枚举变量的定义和引用 266
10.7 类型别名 268
习题 269
第11章 位和位段 273
11.1 位运算 273
11.1.1 位运算符 273
11.1.2 位运算举例 278
11.2 位段 280
11.2.1 位段结构体类型的定义 280
11.2.2 位段结构体类型变量的定义 281
11.2.3 位段结构体变量成员的引用 283
习题 284
第12章 文件 287
12.1 文件概述 287
12.1.1 文件的概念 287
12.1.2 缓冲文件系统 288
12.2 文件的使用 288
12.2.1 文件类型指针 289
12.2.2 文件的打开 289
12.2.3 文件的关闭 291
12.2.4 文件的读写 291
12.2.5 文件的定位 297
12.2.6 文件的检测 299
12.3 文件程序设计举例 300
习题 303
第13章 编译预处理 304
13.1 宏定义 304
13.1.1 不带参数的宏定义 304
13.1.2 带参数的宏定义 307
13.2 文件包含 309
13.3 条件编译 311
习题 313
附录1 常用字符的ASCII码表 315
附录2 C的运算符及优先级和结合性 316
附录3 VisualC++6.0集成开发环境 317
附录3.1 在VisualC++6.0环境下编写C语言程序 318
附录3.2 VisualC++6.0常用命令 322
附录3.3 常见错误提示信息及修改建议 324
附录4 常用标准库函数 328