新書推薦:
《
认知行为疗法:心理咨询的顶层设计
》
售價:HK$
99.7
《
FANUC工业机器人装调与维修
》
售價:HK$
99.7
《
吕著中国通史
》
售價:HK$
62.7
《
爱琴海的光芒 : 千年古希腊文明
》
售價:HK$
199.4
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:HK$
66.1
《
SDGSAT-1卫星热红外影像图集
》
售價:HK$
445.8
《
股市趋势技术分析(原书第11版)
》
售價:HK$
221.8
《
汉匈战争全史
》
售價:HK$
99.7
|
內容簡介: |
张基温编著的《新概念C程序设计大学教程C99 版》是一本以计算思维训练为核心,以能力培养为目标的C语言程序设计教材,基于“程序设计一算法思维+语言艺术+工程规范”的指导思想和“前期以培养解题思路为主,语法知识够用就行;后期以补充必要的语法细节”的原则编写。全书分为程途启步、组织数据、构建算法和语海探幽4篇。第1篇用一个例子,分3个层次,快速而轻松地将读者引入程序设计之途,同时引入算法分析与测试设计相结合的程序设计方法,为进一步学习奠定基础。第2篇通过数组、结构体和指针3种构造数据类型的应用,开阔读者程序设计的眼界。第3篇从几个经典问题人手,通过穷举、迭代、递归、计算机模拟的介绍,将读者的思维纳入科学轨道。第4篇是关于一些重要语法现象的扩展和注解,介绍一些重要语法问题的细节,使读者在发挥C语言优势方面得到提升,可以作为知识扩展的阅读材料或自学参考。
本书结构新颖、概念准确,鱼渔并重、例题经典、习题丰富、题型全面,适应面宽、注重效果,适合教学、兼顾自学,并以C99作为蓝本,可以作为高等学校各专业的新一代程序设计课程教材,也可供从事程序设计相关领域的人员自学或参考。
|
目錄:
|
第1篇 程途启步
第1单元 简单程序设计
1.1 C语言程序主框架
1.1.1 用伪代码描述的简单计算器程序算法
1.1.2 将伪代码描述的算法逐步细化为C程序
1.2 数据类型与数据形式
1.2.1 数据类型
1.2.2 程序中的数据形式及其引用方式
1.3 标识符与声明
1.3.1 标识符
1.3.2 声明
1.3.3 变量的声明与初始化
1.4 操作符
1.4.1 赋值操作符与赋值表达式
1.4.2 算术操作符与算术表达式
1.4.3 操作符的优先级与结合性
1.5 函数
1.5.1 函数及其应用过程
1.5.2 函数调用与函数返回
1.5.3 函数定义
1.5.4 局部变量
1.5.5 函数声明
1.5.6 main函数
1.5.7 函数库、头文件与文件包含命令
1.6 格式化输入输出函数
1.6.1 printf函数的基本用法
1.6.2 scanf的基本用法
1.7 C程序的编译与执行
1.7.1 C语言程序的编译与连接
1.7.2 程序中的错误和异常
1.7.3 程序测试
1.7.4 设计用户友好的程序
习题1
第2单元 选择程序设计
2.1 可选择计算类型的计算器程序算法分析
2.1.1 主函数的算法分析
2.1.2 计算函数calculate的算法分析
2.1.3 判等操作符与关系操作符
2.2 if-else型选择结构
2.2.1 用if-else结构实现的calculate函数
2.2.2 if-else结构的应用特点
2.2.3 良好的程序书写风格
2.3 选择结构的程序测试
2.3.1 白箱测试法
2.3.2 等价分类法
2.4 字符类型
2.4.1 ASCII码
2.4.2 char类型的基本特点
2.4.3 转义字符
2.4.4 字符的输入输出
2.5 浮点类型
2.5.1 浮点类型取值范围与表数精度
2.5.2 浮点类型变量和字面量
2.5.3 浮点类型数据的操作
2.6 switch型选择结构
2.6.1 基于整数值匹配的选择结构——switch结构
2.6.2 一个字符分类程序
2.6.3 用switch结构实现的calculate函数
2.6.4 switch结构与if-else结构的比较
习题2
第3单元 重复程序设计
3.1 可连续计算的计算器程序的算法分析
3.1.1 主函数初步算法
3.1.2 主函数算法细化
3.1.3 重复结构的C语言实现途径
3.2 while结构
3.2.1 while结构的基本机理
3.2.2 使用while结构的可连续计算的计算器主函数
3.2.3 逗号操作符
3.3 do-while结构
3.3.1 do-while结构的基本机理
3.3.2 使用do-while结构的可连续计算的计算器程序主函数
3.4 for结构
3.4.1 for结构的基本机理
3.4.2 使用for结构的可连续计算的计算器程序主函数
3.4.3 计数型重复结构
3.4.4 复合赋值操作符与增值、减值操作符
3.5 重复结构的程序测试
3.5.1 基于路径覆盖的重复结构测试
3.5.2 边值分析法与重复结构测试
3.5.3 基于因果分析的程序测试
3.6 在重复体内控制重复过程
3.6.1 跳出当前层控制结构语句break
3.6.2 提前结束当前重复体语句continue
3.6.3 实例:求素数
习题3
第2篇 组织数据
第4单元 同类型数据的聚合类型:数组
4.1 一维数组
4.1.1 数组的特点
4.1.2 数组的定义
4.1.3 数组初始化
4.1.4 访问下标变量
4.2 二维数组
4.2.1 二维数组的概念
4.2.2 二维数组的初始化
4.2.3 访问二维数组元素
4.3 字符串
4.3.1 字符串字面量
4.3.2 字符串变量
4.3.3 字符串的输入输出
4.3.4 字符串操作库函数
习题4
第5单元 描述一类对象属性的聚合类型:结构体和共用体
5.1 结构体类型与结构体变量
5.1.1 结构体类型及其定制
5.1.2 结构体变量的声明与初始化
5.1.3 结构体变量及其分量的应用
5.2 用结构体数组存储一组学生信息
5.2.1 结构体数组的定义与初始化
5.2.2 结构体数组元素的访问
5.3 共用体类型
5.3.1 共用体类型的定制与共用体变量的定义
5.3.2 共用体类型与结构体类型的比较
5.3.3 共用体变量的应用
习题5
第6单元 指针
6.1 指针类型与指针变量
6.1.1 指针=基类型+地址
6.1.2 同类型指针间的赋值与判等操作
6.1.3 指针的递引用
6.1.4 悬空指针、空指针与void指针
习题6.1
6.2 数组的指针形式
6.2.1 数组名与指向数组元素的指针
6.2.2 指向数组元素指针的加减运算
6.2.2 指针与字符串
6.2.3 二维数组与指针
习题6.2
6.3 指向结构体变量的指针与链表
6.3.1 指向结构体类型变量的指针
6.3.2 链表及其特点
6.3.3 构建链表
习题6.3
6.4 动态存储分配
6.4.1 申请需要的存储空间
6.4.2 释放一个指针指向的存储空间
6.4.3 修改一个指针指向的存储空间大小
6.4.4 构建动态链表
习题6.4
第3篇 构建算法
第7单元 基础算法
7.1 穷举
7.1.1 搬砖问题
7.1.2 推断名次
习题7.1
7.2 迭代与递推
7.2.1 用二分迭代法求方程在指定区间的根
7.2.2 猴子吃桃子
7.2.3 用辗转相除法求两个正整数的*大公因子
习题7.2
7.3 递归
7.3.1 阶乘的递归计算
7.3.2 汉诺塔
习题7.3
第8单元 计算机模拟
8.1 随机问题模拟
8.1.1 产品随机抽样
8.1.2 用蒙特卡洛法求π的近似值
习题8.1
8.2 基于步长的模拟
8.2.1 事件步长法——中子扩散问题
8.2.2 时间步长法——盐水池问题
习题8.2
第9单元 数据处理
9.1 排序
9.1.1 直接选择排序
9.1.2 冒泡排序
习题9.1
9.2 查找
9.2.1 穷举查找
9.2.2 二分查找
习题9.2
第4篇 语海探幽
第10单元 算术数据类型及其转换
10.1 C数据类型概览
10.2 整数类型
10.2.1 有符号整数类型与无符号整数类型
10.2.2 标准整数类型与扩展整数类型
10.2.3 整数类型的极值宏
10.2.4 char类型
10.2.5 枚举
10.2.6 _Bool类型
10.3 浮点类型
10.3.1 浮点类型的值特性
10.3.2 浮点数据的舍入模式
10.3.3 浮点数据的求值特性
10.3.4 IEEE754标准
10.3.5 关于浮点数的判等操作
10.3.6 _Complex类型和_Imaginary类型
10.4 数据类型转换
10.4.1 普通算术转换——提升拉齐规则
10.4.2 传送转换——与目的类型一致原则
10.4.3 数据的显式类型转换规则
10.4.4 数据类型转换注意事项
习题10
第11单元 C语言中的常量
11.1 字面量
11.1.1 整数字面量的表示和辨识
11.1.2 浮点类型字面量的表示和辨识
11.1.3 复合字面量
11.2 宏
11.2.1 宏定义
11.2.2 使用宏应当注意的几点
11.2.3 带参宏定义
11.3 const类型限定符
11.3.1 用const限定变量
11.3.2 用const限定数组
11.3.3 用const限定函数参数
11.3.4 用const限定指针
11.3.5 在多文件程序中共享一个const定义
习题11
第12单元 C程序中变量的访问属性
12.1 变量访问属性的概念
12.1.1 变量的存储类型与生存期
12.1.2 标识符的作用域
12.1.3 标识符的链接属性
12.2 C语言程序实体的存储类型
12.2.1 C程序中的局部变量
12.2.2 外部变量的定义与声明
12.2.3 初始化
习题12
第13单元 操作符、表达式与语句
13.1 操作符与表达式
13.1.1 算术操作符
13.1.2 逻辑表达式
13.1.3 位操作符
13.1.4 条件表达式
13.1.5 增值表达式和减值表达式
13.1.6 下标表达式与指针的加减操作
13.1.7 赋值操作
13.1.8 左值表达式
13.2 操作符的副作用与序列点
13.2.1 操作符的副作用与透明引用
13.2.2 基于序列点的副作用不叠加表达式规则
13.2.3 函数的副作用
13.3 语句
13.3.1 表达式语句、空语句和复合语句
13.3.2 控制语句
13.3.3 跳转语句
13.3.4 关于分号(;)的说明
习题13
第14单元 函数
14.1 函数参数
14.1.1 现代C语言函数参数不能空
14.1.2 C语言函数调用中的值结合
14.1.3 指针类型参数
14.2 函数定义与函数声明
14.2.1 函数定义
14.2.2 函数声明
14.3 内联函数
14.3.1 内联函数的概念
14.3.2 C99的内联函数定义
14.3.3 gcc的内联函数定义
14.3.4 内联函数的限制
习题14
第15单元 输入输出
15.1 格式化输出函数pr
15.1.1 printf()格式参数结构
15.1.2 printf基本格式符
15.1.3 长度修饰符
15.1.4 域宽与精度说明
15.1.5 前缀修饰符
15.2 格式化输入函数s
15.2.1 scanf()指针参数
15.2.2 scanf格式参数结构
15.2.3 数值数据的输入控制
15.2.4 scanf与输入缓冲区
15.2.5 字符型数据的输入控制
15.2.6 scanf的停止与返回
15.3 C语言的文件操作
15.3.1 文件及其分类
15.3.2 FILE类型及其指针
15.3.3 C语言文件操作的一般过程
15.3.4 文件操作程序示例
习题15
附录
附录A C语言关键字
附录B C语言运算符的优先级和结合方向
附录C 编译预处理命令
C.1 宏定义
C.2 文件包含
C.3 条件编译
附录D C标准库头文件
附录E C语言常用标准库函数
E.1 数学函数
E.2 字符函数和字符串函数
E.3 输入输出函数
E.4 动态内存分配函数
E.5 退出程序函数
E.6 数值转换函数
E.7 时间和日期函数
参考文献
|
|