C语言程序设计——面向工程的理论与应用 / 高等学校公共课计算机规划教材
作者: 牛连强
出版时间:2013年7月
出版社:电子工业出版社
- 电子工业出版社
- 9787121204913
- 1-1
- 190638
- 0047151211-1
- 平装
- 16开
- 2013年7月
- 466
- 252
- 工学
- 软件工程
- TP312C
- 编程语言
- 研究生、本科
在内容编排和结构组织上,本书力求精练合理,难点概念合理分散,问题讲解简明生动,更重要的是将工程应用和强化实践能力的宗旨贯穿于每个部分。本书不同于一般的语法书籍,从基本习惯、说明案例至编程实战,都在不同程度上融入了工程元素,详细介绍了实际软件开发中的重点问题和注意事项,并说明哪些是工程应用中的合适技术,使学习者能够进行“近距离”的工程应用知识学习。
《C语言程序设计--面向工程的理论与应用》可作为普通高等学校计算机科学与技术、软件工程、网络工程及其他相关专业C语言课程的教材,也适合C语言的初学者和相关培训机构使用。
第1章 概述/1
1.1 程序设计基础/1
1.1.1 问题的求解过程/1
1.1.2 算法及其描述/2
1.1.3 模块化与结构化/3
1.2 C语言及其特点/4
1.2.1 C语言的产生和发展/4
1.2.2 C语言的主要特点/5
1.3 C语言程序的基本结构/6
1.4 C语言程序的执行过程/9
1.5 编程环境/10
1.5.1 安装和运行TC集成化环境/10
1.5.2 编写和运行程序/11
1.5.3 熟悉编辑环境/12
1.5.4 与程序调试有关的功能/13
1.5.5 简单的程序调试与纠错/14
1.6 习题/16
1.7 编程实战/17
第2章 数据与运算/18
2.1 标识符与关键字/18
2.1.1 标识符/18
2.1.2 关键字/19
2.2 数据类型/19
2.3 常量/20
2.3.1 直接常量与符号常量/20
2.3.2 整型常量/21
2.3.3 字符型常量与字符串常量/22
2.3.4 浮点型常量/25
2.4 变量/25
2.4.1 变量定义与初始化/26
2.4.2 整型变量/27
2.4.3 字符型变量/28
2.4.4 浮点型变量/29
2.5 算术运算与赋值运算/30
2.5.1 运算符和表达式/30
2.5.2 算术运算/31
2.5.3 赋值运算/31
2.5.4 自加和自减运算/34
2.6 关系运算和逻辑运算/35
2.6.1 逻辑值/35
2.6.2 关系运算/36
2.6.3 逻辑运算/37
2.7 位运算/39
2.7.1 位运算符及表达式/39
2.7.2 位运算操作/40
2.8 sizeof运算与逗号运算/43
2.8.1 sizeof运算符/43
2.8.2 逗号运算符/44
2.9 数据类型转换/45
2.9.1 隐式类型转换/45
2.9.2 显式类型转换/46
2.10 习题/47
2.11 编程实战/48
第3章 简单程序设计/49
3.1 C语言语句概述/49
3.1.1 语句分类/49
3.1.2 语句的形式/50
3.2 数据输出/52
3.2.1 输出一个字符/52
3.2.2 按自定义格式输出数据/53
3.3 数据输入/56
3.3.1 输入一个字符/56
3.3.2 按自定义格式输入数据/57
3.4 分支结构/60
3.4.1 条件运算符与条件表达式/60
3.4.2 if语句/61
3.4.3 switch语句与多分支处理/66
3.5 习题/69
3.6 编程实战/70
第4章 循环结构与数组/71
4.1 while语句与do-while语句/71
4.1.1 while语句/71
4.1.2 do-while语句/73
4.2 for语句/74
4.2.1 for语句的语法/74
4.2.2 for语句的特殊形式/75
4.3 流程转移语句/77
4.3.1 break语句/77
4.3.2 continue语句/78
4.3.3 goto语句/79
4.4 循环结构的应用/80
4.5 一维数组的定义和引用/82
4.5.1 一维数组的定义/83
4.5.2 一维数组的引用/83
4.5.3 一维数组的定义初始化/84
4.6 一维数组的应用/85
4.7 二维数组/87
4.7.1 二维数组的定义与引用/88
4.7.2 二维数组的定义初始化/88
4.7.3 二维数组的应用/90
4.8 习题/91
4.9 编程实战/93
第5章 函数/95
5.1 函数的定义与声明/95
5.1.1 函数定义/95
5.1.2 函数声明/98
5.2 函数调用及返回/99
5.2.1 函数的调用过程/99
5.2.2 用return语句控制函数返回/100
5.3 形参与实参/101
5.3.1 函数的形式参数/101
5.3.2 实参与形参的匹配/103
5.3.3 函数调用表达式/103
5.4 参数的传值调用规则/105
5.5 递归调用/106
5.5.1 递归调用过程/106
5.5.2 使用递归函数的典型问题/108
5.6 变量的存储属性/110
5.6.1 变量的生存期与作用域/111
5.6.2 局部变量/111
5.6.3 外部变量/115
5.6.4 static修饰、变量屏蔽和外部变量的使用/117
5.7 编译预处理指令/119
5.7.1 宏定义/119
5.7.2 文件包含/121
5.7.3 条件编译/121
5.8 习题/122
5.9 编程实战/124
第6章 指针/126
6.1 指针与指针变量/126
6.1.1 指针是经过包装的地址/126
6.1.2 指针变量/128
6.2 指针变量的赋值与指针的间接引用/129
6.2.1 指针变量的赋值/129
6.2.2 *运算符与间接访问/130
6.2.3 指针变量的初始化/132
6.3 指针的运算/133
6.3.1 指针的加减算术运算/133
6.3.2 指针的自加和自减运算/135
6.3.3 指针的比较/135
6.4 指针作函数的参数/136
6.4.1 修改实参变量的值/136
6.4.2 从被调用函数取得信息/138
6.5 利用指针访问一维数组/139
6.5.1 利用指针实现的快速数组元素访问/139
6.5.2 一维数组名的指针含义/140
6.5.3 指针与数组的一致性/140
6.6 向函数传递一维数组/141
6.7 习题/145
6.8 编程实战/147
第7章 字符串/148
7.1 用字符数组作字符串变量/148
7.1.1 对字符数组的特殊处理/148
7.1.2 用作字符串变量的字符数组的初始化/150
7.2 指向字符串常量的指针变量/151
7.2.1 模糊的字符串常量与变量/151
7.2.2 利用const限制指针的行为/152
7.3 字符串的输出与输入/153
7.3.1 字符串的输出/153
7.3.2 字符串的输入/154
7.3.3 内存格式化/154
7.4 字符串操作/155
7.4.1 向函数传递字符串/155
7.4.2 返回指针的函数/156
7.4.3 字符串运算函数/158
7.4.4 字符串处理函数的设计/161
7.5 指针数组/163
7.5.1 指针数组的定义与引用/163
7.5.2 字符串数组/163
7.6 指向指针的指针/165
7.6.1 指向指针的指针常量与变量/165
7.6.2 指针数组作函数参数/166
7.7 习题/167
7.8 编程实战/169
第8章 与指针相关的其他技术/171
8.1 二维数组的指针访问/171
8.1.1 二维数组的一维表示/171
8.1.2 二维数组名的指针含义/172
8.1.3 指向一维数组的指针变量/174
8.1.4 二维数组作函数参数/174
8.1.5 利用二维数组实现的字符串数组/177
8.2 动态内存管理/178
8.2.1 动态内存分配与使用/178
8.2.2 calloc函数与realloc函数/180
8.3 指向函数的指针/182
8.3.1 指向函数的指针常量与变量/182
8.3.2 函数指针的应用/183
8.4 定义的识别与数据类型的显式描述/185
8.4.1 由运算识别复杂的定义/185
8.4.2 用typedef显式描述数据类型/187
8.5 习题/189
8.6 编程实