《C语言程式设计:问题与求解方法》是计算机基础课程系列教材。由机械工业出版社,2012年出版。作者何勤。
基本介绍
- 书名:《C语言程式设计:问题与求解方法》
- 作者:何勤
- 类别:计算机基础课程系列教材
- 出版社:机械工业出版社
- 出版时间:2012-12-07
- 开本:16开
基本信息
C语言程式设计:问题与求解方法
书号: 40002
ISBN: 978-7-111-40002-8
作者: 何勤
印次: 1-1
开本: 16开
字数: 466千字
定价: 36.0
所属丛书: 计算机基础课程系列教材
出版日期: 2012-12-07
内容简介
《C语言程式设计:问题与求解方法》从编程原理、基本语法、丰富且循序渐进的例题三个方面以C语言为平台介绍程式设计,旨在开拓学生解决问题的思路,培养学生解决问题的能力。
本书的创新之处在于首先通过一个“理想厨房”的实例类比了计算机系统的工作原理,为读者深入理解程式的工作原理打下基础。
之后从C语言的程式结构和基本语法要素、顺序结构程式设计、选择结构程式设计、循环结构程式设计、数组、函式、指针、档案等方面由浅入深地介绍了C语言程式设计的知识。
每个知识单元的例题着重讲解问题解决的思路和算法,使读者学会如何以C语言为工具解决实际问题。
《C语言程式设计:问题与求解方法》适合作为高等院校C语言程式设计课程的教材,也可供C语言初学者参考。
目录信息
前言
写给学生的话—应该如何学习编程
教学建议
第0章 “理想厨房”的工作原理1
0.1 理想厨房系统1
0.2 理想厨房系统的一个炒菜实例3
0.3 “理想厨房”工作的重要特点6
0.4 理想厨房系统与计算机系统术语对照表7
本章习题8
第1章 计算机的基本工作原理9
1.1 二进制简介9
1.1.1 二进制与二进制数的基本概念9
1.1.2 与二进制数相关的术语:位、位串、位元组 10
1.1.3 数和码的含义与区别11
1.2 计算机系统13
1.2.1 计算机系统中的硬体14
1.2.2 计算机系统中的软体16
1.2.3 计算机指令所能做的工作17
1.3 提高部分18
1.3.1 程式(指令序列)在硬体上的运行过程18
1.3.2 结构化、规范化的机器语言程式18
1.3.3 各种数制之间的转换19
本章习题21
第2章 C语言程式结构和基本语法要素24
2.1 高级程式设计语言和编译程式简介24
2.2 C语言历史概述24
2.3 C语言源程式的主要构成成分:函式定义25
2.4 C语言源程式的次要组成成分:编译预处理命令、注释和声明26
2.5 C语言字元集29
2.6 标识符30
2.7 关键字 30
2.8 分隔设定31
2.9 常量31
2.9.1 数值常量31
2.9.2 符号常量32
2.9.3 数据的机内形式和机外形式33
2.10 变数33
2.10.1 变数的定义33
2.10.2 变数名和变数的值34
2.10.3 各种基本类型的变数定义35
2.10.4 变数的初始化36
2.11 数据输出—格式化输出函式 printf()的用法 36
2.12 数据输入—格式化输入库函式scanf()的用法39
2.13 运算符42
2.14 表达式43
2.15 算术表达式44
2.16 赋值语句45
2.17 提高部分48
2.17.1 对字元量的进一步说明48
2.17.2 变数地址的运算符 & 和变数占用的记忆体位元组数的运算符 sizeof49
本章习题50
第3章 顺序结构程式设计53
3.1 语句执行的顺序性53
3.2 用计算机求解问题的步骤53
3.3 逐步求精的伪代码54
3.4 验证算法的方法56
3.5 赋值表达式和多重赋值59
3.6 变数类型的进一步讨论59
3.7 各种类型的常量62
3.8 不同类型数据之间的类型转换63
3.9 常见编程错误66
3.10 提高部分67
3.10.1 机内形式的整数67
3.10.2 二进制浮点数在计算机中的表示方法 70
本章习题72
第4章 选择结构程式设计 74
4.1 两种基本的if语句74
4.2 布尔表达式之一:关係表达式77
4.3 空语句79
4.4 複合语句81
4.5 if语句的嵌套及其用法83
4.6 布尔表达式之二:逻辑表达式84
4.7 一种特殊的多重嵌套if语句——多分支选择结构语句90
4.8 switch语句 92
4.9 选择结构的常见错误96
*4.10 提高部分97
4.10.1 其他表达式作为布尔表达式使用97
4.10.2 条件运算符98
4.10.3 逻辑表达式的短路运算98
本章习题98
第5章 循环结构程式设计100
5.1 while语句100
5.2 自增、自减运算符和表达式的副作用109
5.3 do…while循环语句113
5.4 for语句117
5.5 複合赋值运算符和逗号表达式120
5.6 break语句和continue语句121
5.7 循环语句的嵌套125
5.8 常见错误139
5.9 提高部分139
本章习题140
第6章 数组142
6.1 引言142
6.2 一维数组143
6.2.1 一维数组的定义143
6.2.2 下标变数(数组元素)143
6.2.3 数组元素中的下标和下标表达式143
6.2.4 动态下标变数143
6.2.5 下标和下标表达式的允许取值範围 144
6.2.6 数组元素在记忆体中的相对位置144
6.2.7 数组元素的初始化144
6.2.8 下标变数中数值的存取145
6.3 一维字元数组和字元串162
6.3.1 一维字元数组的定义162
6.3.2 单个字元的输入输出库函式166
6.4 二维数组172
6.5 编程综合练习181
本章习题194
第7章 函式196
7.1 引言196
7.2 函式的概念197
7.3 函式编写的一些重要原则199
7.4 使用数组(或数组元素)作为函式参数206
7.5 函式的递归209
7.6 有关函式定义、返回、声明、调用的进一步说明218
7.6.1 函式定义218
7.6.2 return语句与函式类型219
7.6.3 函式声明与函式原型220
7.6.4 函式调用221
7.6.5 函式的形式参数与实际参数221
7.7 提高部分222
本章习题229
第8章 指针231
8.1 引言231
8.2 指针变数的定义、初始化和套用231
8.2.1 指针变数的定义231
8.2.2 指针变数的初始化232
8.2.3 指针赋值 233
8.2.4 间接定址运算符233
8.2.5 指针变数作为函式的形式参数和实际参数235
8.2.6 指针作为函式调用的返回值 237
8.3 指向数组的指针以及相关的运算237
8.3.1 指针变数指向数组元素238
8.3.2 数组名用作指针(常量)240
8.4 提高部分243
本章习题246
第9章 C语言进阶248
9.1 结构 248
9.1.1 结构类型的定义248
9.1.2 定义结构变数 249
9.1.3 结构变数的初始化和访问(输入/输出和存取)250
9.1.4 结构数组和结构指针的定义、初始化以及访问方式252
9.1.5 用typedef 定义类型的别名254
9.2 编译预处理255
9.2.1 #include 命令255
9.2.2 #define命令256
9.2.3 条件编译指令257
9.3 档案、流和输入/输出258
9.3.1 概述258
9.3.2 档案和流的概念 259
9.3.3 档案的两种形式260
9.3.4 档案的输入和输出261
9.4 提高部分266
9.4.1 鍊表(单鍊表)266
9.4.2 位运算271
9.4.3 枚举类型274
9.4.4 档案流的本质276
本章习题277
第10章 综合案例280
本章习题289
第11章 编程原理进阶290
11.1 引言290
11.2 输入/输出设备和输入/输出接口电路291
11.3 硬碟291
11.4 中断和作业系统292
11.4.1 作业系统工作的机制292
11.4.2 作业系统的特点295
11.5 计算机为何採用二进制数位讯号300
本章习题302
附录A Microsoft Visual C++ 6.0集成开发环境介绍303
附录B 常用字元与ASCII码对照表310
附录C C语言常用库函式313
附录D 运算符的优先权与结合性317
附录E printf()函式和scanf()函式的使用方式318
参考文献320