本书以突出“套用”、强调“技能”为目标,以实践性、实用性为编着原则,按照《C语言程式设计实用教程》的结构,每一章分为知识体系、複习纲要、本章常见错误小结、实验环节、测试练习五部分内容。具体内容包括对理论教材的各章节知识点、技术和方法的提炼、概括和总结,上机实验和各种类型练习题等,以指导学生学习和理解掌握理论教材的内容,培养学生的动手能力和套用能力。 本书知识点按照由浅入深安排,循序渐进,案例丰富,具有很强的实践性。本书既可以用做《C语言程式设计实用教程》的实践教材,也可作为各类高等学校非计算机专业C语言程式设计课程教材的配套教材或自学参考书。
基本介绍
- 书名:C语言程式设计实用教程
- 作者:周虹 葛茂松 苏晓光
- ISBN:978-7-115-32774-1
- 页数:275
- 定价:39元
- 出版时间:2013.11
- 开本:16
目 录
第1章 程式设计基础 1
1.1 算法及表示 1
1.1.1 算法的特性 2
1.1.2 算法的表示 2
1.2 程式设计及结构化程式设计方法 2
1.2.1 程式 2
1.2.2 程式设计 3
1.2.3 结构化程式设计 3
1.3 C语言的发展及特点 3
1.3.1 C语言出现的历史背景 3
1.3.2 C语言的特点 4
1.4 C程式的构成 4
1.5 程式的书写格式和程式的书写风格 5
实验 Turbo C、VC的使用 16
习题1 17
第2章 数据类型、运算符和表达式 19
2.1 C语言数据类型简介 20
2.2 标识符 20
2.2.1 字元集 20
2.2.2 标识符概述 20
2.2.3 标识符的分类 20
2.3 常量与变数 21
2.3.1 常量 21
2.3.2 符号常量 21
2.3.3 变数 21
2.3.4 变数赋初值 21
2.4 整型数据 22
2.4.1 整型数据在记忆体中的存储形式 22
2.4.2 整型常量 22
2.4.3 整型变数 22
2.5 实型数据 22
2.5.1 实型常量 22
2.5.2 实型变数 23
2.6 字元型数据 23
2.6.1 字元常量 23
2.6.2 字元串常量 24
2.6.3 字元变数 24
2.7 运算符和表达式 24
2.7.1 C运算符简介 24
2.7.2 表达式的求值规则 25
2.7.3 混合运算中的类型转换 25
2.8 算术运算符和算术表达式 26
2.8.1 基本算术运算符 26
2.8.2 算术表达式和运算符的优先权与结合性 26
2.8.3 自增、自减运算符 26
2.9 赋值运算与赋值表达式 26
2.9.1 赋值运算符 26
2.9.2 类型转换 26
2.9.3 複合的赋值运算符 27
2.9.4 赋值表达式 27
2.10 逗号运算符和逗号表达式 27
2.11 关係运算符和关係表达式 28
2.11.1 关係运算符及其优先次序 28
2.11.2 关係表达式 28
2.12 逻辑运算符及逻辑表达式 28
2.12.1 逻辑运算符及其优先次序 28
2.12.2 逻辑表达式 29
2.13 条件运算符与条件表达式 29
2.13.1 条件运算符与条件表达式 29
2.13.2 条件运算符的优先权与结合性 29
实验 数据类型、运算符和表达式 30
习题2 32
第3章 顺序结构程式设计 37
3.1 C语句概述 37
3.2 赋值语句 38
3.3 字元数据的输入/输出 38
3.3.1 字元输出函式putchar() 38
3.3.2 字元输入函式getchar() 39
3.4 格式输入/输出 39
3.4.1 格式输出函式printf() 39
3.4.2 格式输入函式scanf() 40
3.5 套用举例 40
实验(一) 输入/输出函式及格式 41
实验(二) 顺序结构程式设计 43
习题3 45
第4章 选择结构程式设计 55
4.1 if语句 55
4.1.1 简单if语句 55
4.1.2 双分支if语句 56
4.1.3 多分支if语句 56
4.1.4 if语句使用说明 57
4.2 if语句的嵌套 57
4.3 多分支结构 57
实验(一) if语句 58
实验(二) 多分支选择语句 60
习题4 61
第5章 循环结构程式设计 72
5.1 goto语句以及用goto语句构成循环 72
5.2 while语句 73
5.3 do…while语句 73
5.4 for语句 73
5.5 几种循环的比较 74
5.6 循环嵌套 74
5.7 continue语句 75
5.8 break语句 75
实验(一) 循环程式设计(一) 75
实验(二) 循环程式设计(二) 77
实验(三) 多重循环 78
实验(四) 综合实验 80
习题5 80
第6章 数组 92
6.1 数组和数组元素 92
6.2 一维数组 93
6.2.1 一维数组的定义和引用 93
6.2.2 一维数组的初始化 93
6.3 多维数组 93
6.3.1 二维数组的定义和引用 93
6.3.2 二维数组的初始化 94
6.4 字元数组 94
6.4.1 字元数组的定义和引用 94
6.4.2 字元数组的初始化 94
6.4.3 字元串的输入/输出 94
6.4.4 用于字元处理的库函式 95
实验(一) 一维数组的使用 96
实验(二) 二维数组的使用 98
实验(三) 字元数组和字元串 99
实验(四) 综合实验 100
习题6 101
第7章 函式 112
7.1 模组化程式设计 113
7.1.1 模组化程式设计简介 113
7.1.2 函式概述 113
7.2 函式的定义 113
7.2.1 无参函式的定义 113
7.2.2 有参函式的定义 113
7.2.3 函式的返回值 114
7.3 函式的调用 114
7.3.1 函式调用的一般形式 114
7.3.2 函式的声明 114
7.3.3 函式参数的传递 114
7.4 函式的嵌套调用与递归调用 115
7.4.1 函式的嵌套调用 115
7.4.2 函式的递归调用 115
7.5 数组作函式参数 116
7.5.1 数组元素作函式实参 116
7.5.2 数组名作函式参数 116
7.5.3 多维数组作函式参数 116
7.6 变数的作用域 116
7.6.1 局部变数 116
7.6.2 全局变数 116
7.7 变数的存储类别 117
7.7.1 变数的生存期 117
7.7.2 局部变数的存储类别 117
7.7.3 全局变数的存储类别 117
7.7.4 存储类别小结 117
7.8 内部函式和外部函式 118
7.8.1 内部函式 118
7.8.2 外部函式 118
实验(一) 函式的引用 119
实验(二) 函式的嵌套调用和递归调用 121
实验(三) 变数的作用域及存储类别 123
实验(四) 综合实验 124
习题7 125
第8章 编译预处理 134
8.1 宏定义 134
8.1.1 不带参数的宏定义 134
8.1.2 带参数的宏定义 135
8.2 档案包含 135
8.3 条件编译 135
实验 编译预处理 136
习题8 137
第9章 指针 145
9.1 相关概念 145
9.1.1 变数的地址 145
9.1.2 数据的访问方式 146
9.1.3 指针和指针变数 146
9.2 指针变数的定义和使用 146
9.2.1 指针变数的定义 146
9.2.2 指针变数的初始化和赋值 146
9.2.3 指针变数的引用 147
9.2.4 指针的运算 147
9.3 指针变数作函式参数 147
9.4 数组的指针和指向数组的指针变数 148
9.4.1 指向数组元素的指针 148
9.4.2 通过指针引用数组元素 148
9.4.3 数组名作函式参数 148
9.4.4 指向多维数组的指针与指针变数 149
9.5 字元串的指针和指向字元串的指针变数 149
9.5.1 字元串的表示形式 149
9.5.2 对使用字元指针变数与字元数组的讨论 150
9.5.3 字元串指针作函式参数 150
9.6 函式的指针和指向函式的指针变数 150
9.6.1 用函式指针变数调用函式 150
9.6.2 指向函式的指针变数作函式参数 150
9.7 返回指针值的函式 151
9.8 指针数组和指向指针的指针 151
9.8.1 指针数组的概念 151
9.8.2 指向指针的指针 151
9.8.3 main()函式的命令行参数 151
实验(一) 指针的使用 152
实验(二) 指针作函式参数 154
实验(三) 综合试验 156
习题9 157
第10章 结构体与共用体 162
10.1 结构体类型及变数的定义 162
10.1.1 结构体类型的定义 162
10.1.2 结构体变数的定义 163
10.2 结构体变数的引用和初始化 163
10.3 结构体数组 164
10.3.1 定义结构体数组 164
10.3.2 结构体数组的初始化 164
10.4 指向结构体类型数据的指针 164
10.4.1 指向结构体变数的指针 164
10.4.2 指向结构体数组的指针 164
10.4.3 结构体变数和指向结构体的指针作函式参数 164
10.5 用指针处理鍊表 165
10.5.1 鍊表概述 165
10.5.2 处理动态鍊表所需的函式 165
10.5.3 鍊表的基本操作 165
10.6 共用体 166
10.6.1 共用体变数的引用方式 166
10.6.2 共用体类型数据的特点 166
10.7 枚举类型 167
10.8 用typedef定义类型 167
实验 结构体与共用体 168
习题10 171
第11章 位运算 179
11.1 位运算符与位运算 180
11.1.1 按位与运算符(&) 180
11.1.2 按位或运算符(|) 180
11.1.3 按位异或运算符(^) 180
11.1.4 按位取反运算符(~) 181
11.1.5 左移运算符() 181
11.1.6 右移运算符() 181
11.1.7 位运算赋值运算符 181
11.1.8 不同长度的数据进行位运算 181
11.2 位段 181
实验 位运算 181
习题11 183
第12章 档案 189
12.1 档案的概念 189
12.2 档案操作函式 190
12.2.1 档案的打开 190
12.2.2 档案的关闭 190
12.3 档案检测函式 190
12.4 常用的读写函式 191
12.4.1 读写字元函式 191
12.4.2 读写字元串函式 192
12.4.3 读写数据块函式 192
12.4.4 格式化读写函式:fprintf()函式和fscanf()函式 192
12.5 档案的定位 192
12.5.1 rewind()函式 193
12.5.2 随机读写和fseek()函式 193
实验 档案操作 194
习题12 195
第13章 实用项目开发技术简介 203
13.1 C语言图形功能简介 203
13.1.1 图形与硬体 204
13.1.2 文本与图形 204
13.1.3 图形设计 207
13.2 图形模式的初始化 207
13.3 独立图形运行程式的建立 209
13.4 萤幕颜色的设定和清屏函式 209
13.5 基本画图函式 210
13.5.1 画点 210
13.5.2 画线 211
13.6 基本图形的填充 212
13.6.1 基本图形的填充 212
13.6.2 设定填充方式 213
13.6.3 任意封闭图形的填充 214
13.7 图形操作函式 214
13.7.1 图形视窗操作 214
13.7.2 萤幕操作函式 215
13.8 图形模式下的文本操作 216
13.8.1 文本的输出 216
13.8.2 文本字型、字型和输出方式的设定 216
13.8.3 用户对文本字元大小的设定 217
13.9 C语言动画设计 218
13.10 选单设计技术 218
13.10.1 下拉式选单的设计 218
13.10.2 选择式选单的设计 219
13.11 大型程式开发的项目管理 219
13.11.1 项目管理器 219
13.11.2 用项目管理器开发程式项目的步骤 219
13.11.3 项目管理器的使用技巧 220
实验 C语言的图形功能 220
习题13 225
附录A 习题参考答案 226
附录B Turbo C编译出错信息 264
参考文献 275