简介
本书介绍C语言及其程序设计,包括教程部分共12章、实验11个和综合
应用实习。介绍内容循序渐进;实用教程部分一般是在讲解内容后紧跟示例
;章节中的练习用于快速训练当前章节内容;综合实例是对本章内容的综合
;上机实验指导部分有利于学生先入门,然后自己操作和编程练习。
本书可作为高职高专有关课程教材,也可供广大学习C++语言的人员参
考使用。本套教程可免费下载教学课件、教程、习题和上机实验指导中的源
程序。
目录
第一部分 教程 1
第1章 c语言概述 1
1.1 c程序设计 1
1.1.1 c程序设计过程 1
1.1.2 visual c++环境c程序开发过程 3
1.2 c程序结构 4
1.2.1 main函数 5
1.2.2 头文件的包含 6
1.2.3 注释 6
习题1 7
第2章 数据及其运算 8
2.1 数据的表示方法 8
2.1.1 进制的概念 8
2.1.2 原码、反码和补码 9
2.1.3 非数值信息的编码 10
2.2 基本数据类型 11
2.2.1 整型 11
2.2.2 实型 12
2.2.3 字符型 12
2.2.4 实际位长 12
.2.3 内存和变量 14
2.3.1 标识符 14
2.3.2 变量和变量定义 15
2.3.3 变量赋值和初始化 17
2.4 常量 18
2.4.1 整数 18
2.4.2 实数 18
2.4.3 字符常量和转义字符 19
2.4.4 字符串常量 20
2.4.5 标识符常量 21
2.5 算术运算 22
2.5.1 算术运算符 22
2.5.2 数值类型转换 24
2.5.3 优先级和结合性 25
2.5.4 算术表达式的值和类型 26
2.5.5 代数式和表达式 28
2.6 赋值运算 29
2.6.1 左值和右值 29
2.6.2 数值截取和数值溢出 29
2.6.3 多重赋值 31
2.6.4 复合赋值 32
2.6.5 自增和自减 32
2.7 sizeof运算符 33
2.8 逗号运算符 34
2.9 位运算 34
2.9.1 位逻辑运算 34
2.9.2 移位运算 35
2.10 综合实例:交换算法 36
习题2 38
第3章 数据的输入/输出 42
3.1 输出函数printf概述 42
3.1.1 库函数原型和调用 42
3.1.2 转义输出 43
3.1.3 格式参数域 44
3.1.4 域参匹配 44
3.2 数据的格式输出 45
3.2.1 基本类型格式 45
3.2.2 类型修饰符 49
3.2.3 宽度和精度 52
3.2.4 对齐、前缀及填充符 54
3.2.5 单字符输出putchar 55
3.3 格式输入函数scanf 56
3.3.1 scanf函数功能 56
3.3.2 scanf控制格式 58
3.3.3 多数据输入 58
3.3.4 输入匹配 59
3.3.5 空读和域宽 60
3.3.6 输入中断和分隔 61
3.3.7 字符输入和键盘缓冲区 61
3.4 综合实例:列表显示数据 63
习题3 64
第4章 顺序和选择 67
4.1 语句概述 67
4.1.1 表达式语句和空语句 67
4.1.2 函数调用语句 68
4.1.3 语句块 68
4.1.4 控制语句 69
4.2 流程控制条件 70
4.2.1 关系运算及其表达式 70
4.2.2 逻辑运算及表达式 72
4.2.3 逻辑运算的优化 72
4.3 if语句 73
4.3.1 简单if语句 74
4.3.2 if…else语句 76
4.3.3 if…else if…else语句 77
4.3.4 嵌套if语句 79
4.3.5 ? : 运算 81
4.4 switch语句 82
4.5 综合实例:简单计算器(上 85
习题4 87
第5章 循环和转向 89
5.1 while语句 89
5.1.1 while语句的一般格式 89
5.1.2 while语句的循环程序设计 89
5.2 do…while语句 91
5.2.1 do…while语句的一般格式 91
5.2.2 do…while语句的特点 92
5.3 for语句 93
5.3.1 for语句的一般格式 93
5.3.2 for语句的省略形式 95
5.4 循环嵌套 96
5.5 转向语句 98
5.5.1 break语句 98
5.5.2 continue语句 98
5.5.3 goto语句 99
5.6 综合实例:简单计算器(中 100
习题5 103
第6章 基本结构化程序设计 106
6.1 算法和程序 106
6.2 算法的结构化描述 108
6.2.1 流程图 108
6.2.2 n-s图 110
6.3 程序设计举例 111
6.3.1 数学问题 111
6.3.2 图案打印 114
6.4 综合实例:简单计算器(下 116
习题6 120
第7章 函数 123
7.1 概述 123
7.2 函数的定义 124
7.2.1 函数定义的一般形式 124
7.2.2 函数参数的设计 127
7.2.3 函数类型和返回值 128
7.3 函数的调用 130
7.3.1 函数调用的一般形式 130
7.3.2 函数声明 131
7.3.3 参数传递方式 134
7.3.4 参数求值顺序 135
7.3.5 全局变量和局部变量 136
7.4 函数嵌套调用 137
7.5 递归调用和递归函数 139
7.6 综合实例:猜数字游戏 140
习题7 142
第8章 数组 145
8.1 一维数组 145
8.1.1 一维数组的定义和引用 145
8.1.2 一维数组的初始化 147
8.2 二维和多维数组 150
8.2.1 二维和多维数组的定义和引用 150
8.2.2 多维数组的本质 151
8.2.3 二维数组的初始化和赋值 153
8.2.4 二维数组的基本应用 154
8.3 字符数组和字符串 156
8.3.1 一维字符数组 156
8.3.2 二维字符数组 157
8.4 数组与函数 157
8.4.1 传递一维数组 158
8.4.2 传递多维数组 159
8.5 综合实例:冒泡排序法 160
习题8 162
第9章 程序组织和预处理 165
9.1 作用域和可见性 165
9.1.1 函数原型作用域 165
9.1.2 函数作用域 165
9.1.3 块作用域 166
9.1.4 文件作用域 167
9.2 变量存储类型 168
9.2.1 自动类型auto 168
9.2.2 寄存器类型register 169
9.2.3 局部变量static 170
9.2.4 多源文件和static全局变量 171
9.2.5 外部类型extern 172
9.3 内部函数和外部函数 173
9.3.1 内部函数 174
9.3.2 外部函数 175
9.4 编译预处理 175
9.4.1 宏定义 176
9.4.2 文件包含命令 177
9.4.3 文件重复包含处理 177
9.5 综合实例:数组模型 179
习题9 181
第10章 指针 184
10.1 指针的定义和操作 184
10.1.1 地址和指针 184
10.1.2 指针的定义 185
10.1.3 指针的运算符&和* 185
10.1.4 指针的初始化和赋值 186
10.1.5 指针的算术运算 189
10.2 指针和数组 190
10.2.1 指针和一维数组 190
10.2.2 指针和二维数组 193
10.2.3 指针数组 196
10.2.4 多级指针 197
10.3 指针和函数 198
10.3.1 指针作为函数的参数 198
10.3.2 返回指针的函数 200
10.3.3 指向函数的指针 201
10.4 void指针和动态内存 203
10.4.1 void指针 204
10.4.2 内存分配和释放 205
10.5 字符指针和字符串操作 207
10.5.1 字符指针定义和初始化 208
10.5.2 字符指针的使用 209
10.5.3 字符指针数组和多级字符指针 209
10.5.4 字符串的输入 211
10.5.5 字符串的输出 213
10.5.6 字符串处理函数 213
10.6 综合实例:josephus问题 217
习题10 218
第11章 结构、联合和枚举 221
11.1 结构类型 221
11.1.1 结构类型声明 221
11.1.2 结构类型变量的定义 222
11.1.3 结构类型变量的引用 224
11.2 结构数组和结构指针 225
11.2.1 定义和初始化 225
11.2.2 结构数组元素的引用 227
11.2.3 结构指针的成员引用 228
11.3 结构和函数 230
11.3.1 传递结构参数 230
11.3.2 返回结构 232
11.4 联合 233
11.4.1 联合的声明和定义 233
11.4.2 联合变量的引用 234
11.5 枚举 235
11.6 使用typedef 237
11.7 综合实例:简单链表 239
11.7.1 链表概述 239
11.7.2 链表的创建和遍历 240
11.7.3 链表的删除 242
11.7.4 链表节点的插入和添加 244
习题11 245
第12章 文件 249
12.1 文件概述 249
12.1.1 文件分类 249
12.1.2 文件指针 250
12.1.3 文件打开和关闭 250
12.2 文件读/写 252
12.2.1 字符读/写 252
12.2.2 字符串读/写 253
12.2.3 格式化读/写 254
12.2.4 块数据读/写 256
12.3 随机文件和定位操作 258
12.3.1 随机文件 259
12.3.2 定位操作 259
12.4 文件状态检测和错误处理 262
12.5 综合实例:学生信息的文件存取 263
习题12 266
第二部分 实验 268
实验1 认识visual c++6.0中文版开发环境 268
实验内容 268
实验步骤 268
思考与练习 276
实验2 数据类型、运算符和表达式 277
实验内容 277
实验步骤 277
思考与练习 279
实验3 分支语句 281
实验内容 281
实验步骤 281
思考与练习 283
实验4 循环和基本程序设计 284
实验内容 284
实验步骤 284
思考与练习 286
实验5 函数 287
实验内容 287
实验步骤 287
思考与练习 290
实验6 数组 291
实验内容 291
实验步骤 291
思考与练习 294
实验7 程序组织、预处理和调试 295
实验内容 295
实验步骤 295
思考与练习 298
实验8 指针 299
实验内容 299
实验步骤 299
思考与练习 302
实验9 字符串和结构数组 303
实验内容 303
实验步骤 303
思考与练习 308
实验10 链表 309
实验内容 309
实验步骤 309
实验11 文件 310
实验内容 310
实验步骤 310
思考与练习 316
第三部分 综合应用实习 317
实习题目 317
所需知识 317
界面要求 317
结构模型 317
操作及其算法实现 318
文档要求 319
附录a 运算符优先级和结合性 320
附录b ascii码表 321
附录c 常用c库函数 323
附录d 使用turbo c 2.0 325
第1章 c语言概述 1
1.1 c程序设计 1
1.1.1 c程序设计过程 1
1.1.2 visual c++环境c程序开发过程 3
1.2 c程序结构 4
1.2.1 main函数 5
1.2.2 头文件的包含 6
1.2.3 注释 6
习题1 7
第2章 数据及其运算 8
2.1 数据的表示方法 8
2.1.1 进制的概念 8
2.1.2 原码、反码和补码 9
2.1.3 非数值信息的编码 10
2.2 基本数据类型 11
2.2.1 整型 11
2.2.2 实型 12
2.2.3 字符型 12
2.2.4 实际位长 12
.2.3 内存和变量 14
2.3.1 标识符 14
2.3.2 变量和变量定义 15
2.3.3 变量赋值和初始化 17
2.4 常量 18
2.4.1 整数 18
2.4.2 实数 18
2.4.3 字符常量和转义字符 19
2.4.4 字符串常量 20
2.4.5 标识符常量 21
2.5 算术运算 22
2.5.1 算术运算符 22
2.5.2 数值类型转换 24
2.5.3 优先级和结合性 25
2.5.4 算术表达式的值和类型 26
2.5.5 代数式和表达式 28
2.6 赋值运算 29
2.6.1 左值和右值 29
2.6.2 数值截取和数值溢出 29
2.6.3 多重赋值 31
2.6.4 复合赋值 32
2.6.5 自增和自减 32
2.7 sizeof运算符 33
2.8 逗号运算符 34
2.9 位运算 34
2.9.1 位逻辑运算 34
2.9.2 移位运算 35
2.10 综合实例:交换算法 36
习题2 38
第3章 数据的输入/输出 42
3.1 输出函数printf概述 42
3.1.1 库函数原型和调用 42
3.1.2 转义输出 43
3.1.3 格式参数域 44
3.1.4 域参匹配 44
3.2 数据的格式输出 45
3.2.1 基本类型格式 45
3.2.2 类型修饰符 49
3.2.3 宽度和精度 52
3.2.4 对齐、前缀及填充符 54
3.2.5 单字符输出putchar 55
3.3 格式输入函数scanf 56
3.3.1 scanf函数功能 56
3.3.2 scanf控制格式 58
3.3.3 多数据输入 58
3.3.4 输入匹配 59
3.3.5 空读和域宽 60
3.3.6 输入中断和分隔 61
3.3.7 字符输入和键盘缓冲区 61
3.4 综合实例:列表显示数据 63
习题3 64
第4章 顺序和选择 67
4.1 语句概述 67
4.1.1 表达式语句和空语句 67
4.1.2 函数调用语句 68
4.1.3 语句块 68
4.1.4 控制语句 69
4.2 流程控制条件 70
4.2.1 关系运算及其表达式 70
4.2.2 逻辑运算及表达式 72
4.2.3 逻辑运算的优化 72
4.3 if语句 73
4.3.1 简单if语句 74
4.3.2 if…else语句 76
4.3.3 if…else if…else语句 77
4.3.4 嵌套if语句 79
4.3.5 ? : 运算 81
4.4 switch语句 82
4.5 综合实例:简单计算器(上 85
习题4 87
第5章 循环和转向 89
5.1 while语句 89
5.1.1 while语句的一般格式 89
5.1.2 while语句的循环程序设计 89
5.2 do…while语句 91
5.2.1 do…while语句的一般格式 91
5.2.2 do…while语句的特点 92
5.3 for语句 93
5.3.1 for语句的一般格式 93
5.3.2 for语句的省略形式 95
5.4 循环嵌套 96
5.5 转向语句 98
5.5.1 break语句 98
5.5.2 continue语句 98
5.5.3 goto语句 99
5.6 综合实例:简单计算器(中 100
习题5 103
第6章 基本结构化程序设计 106
6.1 算法和程序 106
6.2 算法的结构化描述 108
6.2.1 流程图 108
6.2.2 n-s图 110
6.3 程序设计举例 111
6.3.1 数学问题 111
6.3.2 图案打印 114
6.4 综合实例:简单计算器(下 116
习题6 120
第7章 函数 123
7.1 概述 123
7.2 函数的定义 124
7.2.1 函数定义的一般形式 124
7.2.2 函数参数的设计 127
7.2.3 函数类型和返回值 128
7.3 函数的调用 130
7.3.1 函数调用的一般形式 130
7.3.2 函数声明 131
7.3.3 参数传递方式 134
7.3.4 参数求值顺序 135
7.3.5 全局变量和局部变量 136
7.4 函数嵌套调用 137
7.5 递归调用和递归函数 139
7.6 综合实例:猜数字游戏 140
习题7 142
第8章 数组 145
8.1 一维数组 145
8.1.1 一维数组的定义和引用 145
8.1.2 一维数组的初始化 147
8.2 二维和多维数组 150
8.2.1 二维和多维数组的定义和引用 150
8.2.2 多维数组的本质 151
8.2.3 二维数组的初始化和赋值 153
8.2.4 二维数组的基本应用 154
8.3 字符数组和字符串 156
8.3.1 一维字符数组 156
8.3.2 二维字符数组 157
8.4 数组与函数 157
8.4.1 传递一维数组 158
8.4.2 传递多维数组 159
8.5 综合实例:冒泡排序法 160
习题8 162
第9章 程序组织和预处理 165
9.1 作用域和可见性 165
9.1.1 函数原型作用域 165
9.1.2 函数作用域 165
9.1.3 块作用域 166
9.1.4 文件作用域 167
9.2 变量存储类型 168
9.2.1 自动类型auto 168
9.2.2 寄存器类型register 169
9.2.3 局部变量static 170
9.2.4 多源文件和static全局变量 171
9.2.5 外部类型extern 172
9.3 内部函数和外部函数 173
9.3.1 内部函数 174
9.3.2 外部函数 175
9.4 编译预处理 175
9.4.1 宏定义 176
9.4.2 文件包含命令 177
9.4.3 文件重复包含处理 177
9.5 综合实例:数组模型 179
习题9 181
第10章 指针 184
10.1 指针的定义和操作 184
10.1.1 地址和指针 184
10.1.2 指针的定义 185
10.1.3 指针的运算符&和* 185
10.1.4 指针的初始化和赋值 186
10.1.5 指针的算术运算 189
10.2 指针和数组 190
10.2.1 指针和一维数组 190
10.2.2 指针和二维数组 193
10.2.3 指针数组 196
10.2.4 多级指针 197
10.3 指针和函数 198
10.3.1 指针作为函数的参数 198
10.3.2 返回指针的函数 200
10.3.3 指向函数的指针 201
10.4 void指针和动态内存 203
10.4.1 void指针 204
10.4.2 内存分配和释放 205
10.5 字符指针和字符串操作 207
10.5.1 字符指针定义和初始化 208
10.5.2 字符指针的使用 209
10.5.3 字符指针数组和多级字符指针 209
10.5.4 字符串的输入 211
10.5.5 字符串的输出 213
10.5.6 字符串处理函数 213
10.6 综合实例:josephus问题 217
习题10 218
第11章 结构、联合和枚举 221
11.1 结构类型 221
11.1.1 结构类型声明 221
11.1.2 结构类型变量的定义 222
11.1.3 结构类型变量的引用 224
11.2 结构数组和结构指针 225
11.2.1 定义和初始化 225
11.2.2 结构数组元素的引用 227
11.2.3 结构指针的成员引用 228
11.3 结构和函数 230
11.3.1 传递结构参数 230
11.3.2 返回结构 232
11.4 联合 233
11.4.1 联合的声明和定义 233
11.4.2 联合变量的引用 234
11.5 枚举 235
11.6 使用typedef 237
11.7 综合实例:简单链表 239
11.7.1 链表概述 239
11.7.2 链表的创建和遍历 240
11.7.3 链表的删除 242
11.7.4 链表节点的插入和添加 244
习题11 245
第12章 文件 249
12.1 文件概述 249
12.1.1 文件分类 249
12.1.2 文件指针 250
12.1.3 文件打开和关闭 250
12.2 文件读/写 252
12.2.1 字符读/写 252
12.2.2 字符串读/写 253
12.2.3 格式化读/写 254
12.2.4 块数据读/写 256
12.3 随机文件和定位操作 258
12.3.1 随机文件 259
12.3.2 定位操作 259
12.4 文件状态检测和错误处理 262
12.5 综合实例:学生信息的文件存取 263
习题12 266
第二部分 实验 268
实验1 认识visual c++6.0中文版开发环境 268
实验内容 268
实验步骤 268
思考与练习 276
实验2 数据类型、运算符和表达式 277
实验内容 277
实验步骤 277
思考与练习 279
实验3 分支语句 281
实验内容 281
实验步骤 281
思考与练习 283
实验4 循环和基本程序设计 284
实验内容 284
实验步骤 284
思考与练习 286
实验5 函数 287
实验内容 287
实验步骤 287
思考与练习 290
实验6 数组 291
实验内容 291
实验步骤 291
思考与练习 294
实验7 程序组织、预处理和调试 295
实验内容 295
实验步骤 295
思考与练习 298
实验8 指针 299
实验内容 299
实验步骤 299
思考与练习 302
实验9 字符串和结构数组 303
实验内容 303
实验步骤 303
思考与练习 308
实验10 链表 309
实验内容 309
实验步骤 309
实验11 文件 310
实验内容 310
实验步骤 310
思考与练习 316
第三部分 综合应用实习 317
实习题目 317
所需知识 317
界面要求 317
结构模型 317
操作及其算法实现 318
文档要求 319
附录a 运算符优先级和结合性 320
附录b ascii码表 321
附录c 常用c库函数 323
附录d 使用turbo c 2.0 325
C教程
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×