顶部
收藏

C语言程序设计——原理与实践


作者:
宋友 王君臣 肖文磊 李莹 谭火彬 主编
定价:
60.00元
ISBN:
978-7-04-058842-2
版面字数:
730.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2022-08-29
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机基础课程
三级分类:
程序设计技术

C 语言是编程入门的最佳计算机语言之一。C 语言编程入门容易,学好困难,既需要大量的编程实践,也需要对C 语言原理的深入分析。

本书根据程序设计初学者的认知规律组织章节和内容,编排结构新颖,内容系统性强,注重循序渐进地提高读者的编程能力。每一章都给出了大量而丰富的程序实例,实例注重实用性,每个实例都有问题分析和编程提示,在实例的分析中对关键的C 语言原理进行深入分析。每一章都自成体系,学完每一章,读者都能编写实用或有趣的程序,增加学习兴趣和信心,为新知识的学习奠定基础。

本书实践特色明显,但同时不失理论深度,适合作为本专科院校C 语言程序设计课程的教材,也适合作为广大编程爱好者的参考用书。

  • 前辅文
  • 第一部分 入门篇
    • 第1章 编程快速入门
      • 1.1 用C 语言编程的基本步骤
        • 1.1.1 编辑、编译、运行
        • 1.1.2 更完整的C 程序开发步骤
      • 1.2 初识C 语言编程
        • 1.2.1 程序的基本结构和语法
        • 1.2.2 基本的算术运算与数据类型
        • 1.2.3 选择语句if 与关系运算
        • 1.2.4 循环语句while 简介
      • 1.3 如何学编程
      • 1.4 本章小结
      • 练习题
    • 第2章 编程基础框架
      • 2.1 数据表示基础1 :常量
        • 2.1.1 十进制整数
        • 2.1.2 实数
        • 2.1.3 字符与ASCII 码
        • 2.1.4 转义字符
        • 2.1.5 字符串
      • 2.2 数据表示基础2 :变量
        • 2.2.1 变量类型与变量定义
        • 2.2.2 变量命令规则与方法
        • 2.2.3 数据类型及数据表示范围
        • 2.2.4 变量赋值与数据类型转换
      • 2.3 格式化输入输出
        • 2.3.1 标准输入函数scanf( )
        • 2.3.2 多组数据输入
        • 2.3.3 标准输出函数printf( )
        • 2.3.4 输入输出的常见问题
      • 2.4 赋值与算术运算
        • 2.4.1 运算中的类型转换
        • 2.4.2 运算的优先级
        • 2.4.3 自增与自减运算
        • 2.4.4 复合赋值运算符
      • 2.5 运算中的类型转换
      • 2.6 逻辑运算与if/else
      • 2.7 运算符的优先级
      • 2.8 数据表示基础3 :一维数组简介
      • 2.9 宏定义与常量的符号表示
      • 2.10 标准库函数简介
      • 2.11 本章小结
      • 练习题
    • 第3章 数据处理基础
      • 3.1 数值在计算机中的编码
        • 3.1.1 十进制与二进制
        • 3.1.2 数据的存储与理解
      • 3.2 数的编码
        • 3.2.1 原码
        • 3.2.2 反码
        • 3.2.3 补码
      • 3.3 位运算
        • 3.3.1 位运算符
        • 3.3.2 位运算实例
      • 3.4 其他进制
        • 3.4.1 八进制与十六进制
        • 3.4.2 更多进制
      • 3.5 变量与数据存储
        • 3.5.1 变量与内存地址
        • 3.5.2 数的存储范围
      • 3.6 浮点数的表达与存储简介
        • 3.6.1 小数在数学意义上的二进制表示
        • 3.6.2 用二进制表示小数的不足
        • 3.6.3 浮点数的编码与存储
      • 3.7 数组基础
        • 3.7.1 数组与内存地址
        • 3.7.2 数组访问与带参数的宏定义
        • 3.7.3 数组应用实例
      • 3.8 标准输入输出与文件重新定向
        • 3.8.1 用函数实现输入输出重新定向
        • 3.8.2 命令行模式下的输入输出重定向
      • 3.9 本章小结
      • 练习题
  • 第二部分 基础篇
    • 第4章 控制结构
      • 4.1 结构化程序设计
        • 4.1.1 从goto 到结构化编程
        • 4.1.2 理解结构化程序设计
        • 4.1.3 三类控制结构
        • 4.1.4 利用计算机求解问题:算法
      • 4.2 选择结构
        • 4.2.1 基本选择结构
        • 4.2.2 条件运算符
        • 4.2.3 嵌套选择结构与程序效率分析
        • 4.2.4 多路选择结构switch
      • 4.3 循环结构
        • 4.3.1 while 循环结构
        • 4.3.2 for 循环结构
        • 4.3.3 do...while 循环结构
        • 4.3.4 选用合适的循环结构
        • 4.3.5 循环结构的嵌套
        • 4.3.6 循环结构的非常规控制:break 和continue
      • 4.4 再论goto 语句
      • 4.5 本章小结
      • 练习题
    • 第5章 函数基础
      • 5.1 函数定义与调用
        • 5.1.1 函数的声明与调用
        • 5.1.2 自定义函数
      • 5.2 函数的模块化编程方法
        • 5.2.1 函数的形参与实参
        • 5.2.2 函数参数的值传递
        • 5.2.3 函数重在接口的原理
        • 5.2.4 局部变量与全局变量
      • 5.3 递归函数
        • 5.3.1 递归的基本概念
        • 5.3.2 递归函数与隐函数
        • 5.3.3 递归重在调用的思想
      • 5.4 标准库函数的应用简介
      • 5.5 本章小结
      • 练习题
    • 第6章 数组
      • 6.1 一维数组
        • 6.1.1 一维数组的定义
        • 6.1.2 一维数组初始化
        • 6.1.3 数组越界访问
        • 6.1.4 数组的复制
        • 6.1.5 sizeof 应用于数组
        • 6.1.6 一维数组作为函数参数
        • 6.1.7 变长数组及其隐患
      • 6.2 排序
        • 6.2.1 冒泡排序
        • 6.2.2 选择排序
        • 6.2.3 插入排序
        • 6.2.4 快速排序
        • 6.2.5 排序算法的稳定性
      • 6.3 查找
        • 6.3.1 顺序查找
        • 6.3.2 折半查找
      • 6.4 基于数组的常用数据结构
        • 6.4.1 栈
        • 6.4.2 队列
        • 6.4.3 循环队列
        • 6.4.4 哈希表
      • 6.5 字符串
        • 6.5.1 字符型数组与字符串
        • 6.5.2 字符串的定义与初始化
        • 6.5.3 字符串常量与字符串变量
        • 6.5.4 标准字符串处理函数
      • 6.6 二维数组与多维数组
        • 6.6.1 二维数组的定义与初始化
        • 6.6.2 二维数组的访问与存储
        • 6.6.3 二维数组作为函数参数
        • 6.6.4 二维字符数组
        • 6.6.5 多维数组的定义与存储
      • 6.7 数组应用与实践
      • 6.8 本章小结
      • 练习题
  • 第三部分 进阶篇
    • 第7章 指针基础
      • 7.1 指针、地址、变量、内存之间的关系
      • 7.2 数据类型的回顾
      • 7.3 指针变量
        • 7.3.1 指针变量的定义
        • 7.3.2 指针与变量的关系
        • 7.3.3 指针的初始化与赋值
        • 7.3.4 通过指针访问数据
        • 7.3.5 常量指针和指针常量
        • 7.3.6 char* 型指针与字符串
        • 7.3.7 指针作为函数参数
        • 7.3.8 数组名和指针作为函数参数的关系
        • 7.3.9 指针作为函数返回值
      • 7.4 指针运算
        • 7.4.1 指针加减整数
        • 7.4.2 指针与下标
        • 7.4.3 指针相减
        • 7.4.4 其他指针运算
        • 7.4.5 指针的比较
        • 7.4.6 指针的强制类型转换
      • 7.5 void * 指针与memcpy 函数
      • 7.6 malloc( ) 函数与堆空间
      • 7.7 本章小结
      • 练习题
    • 第8章 指针进阶
      • 8.1 指针与数组
      • 8.2 数组类型与数组指针
        • 8.2.1 数组类型
        • 8.2.2 数组指针
      • 8.3 多维数组与数组指针
        • 8.3.1 二维数组的深入理解
        • 8.3.2 二维数组作为函数参数的本质
        • 8.3.3 高维数组的深入理解
        • 8.3.4 多维数组下标与线性地址偏移
      • 8.4 多重指针
      • 8.5 指针数组
        • 8.5.1 指针数组
        • 8.5.2 指针数组与二维数组
      • 8.6 命令行参数
      • 8.7 函数指针
        • 8.7.1 函数指针
        • 8.7.2 函数指针的用法与意义
        • 8.7.3 使用函数指针的库函数
      • 8.8 本章小结
      • 练习题
    • 第9章 结构体与联合体
      • 9.1 struct 结构体
        • 9.1.1 结构体类型的定义
        • 9.1.2 结构体变量的定义
        • 9.1.3 结构体成员的对齐
        • 9.1.4 结构体的初始化
        • 9.1.5 结构体的访问
        • 9.1.6 结构体类型的嵌套定义
        • 9.1.7 无名结构体
        • 9.1.8 结构体数组
      • 9.2 union 联合体
        • 9.2.1 联合体类型与变量的定义
        • 9.2.2 联合体变量的用法
      • 9.3 typedef 类型定义关键字
        • 9.3.1 自定义类型基本概念
        • 9.3.2 自定义复合数据类型
      • 9.4 链表简介
        • 9.4.1 链表创建
        • 9.4.2 链表遍历
        • 9.4.3 链表插入与删除
      • 9.5 本章小结
      • 练习题
  • 第四部分 高级篇
    • 第10章 文件与文件流
      • 10.1 文件简介
        • 10.1.1 理解文件流
        • 10.1.2 文件的操作
        • 10.1.3 文件的分类
        • 10.1.4 正文文件与二进制文件的区别
      • 10.2 文件流的打开、读写和关闭
        • 10.2.1 打开文件
        • 10.2.2 关闭文件
      • 10.3 文件流的读写操作
        • 10.3.1 正文格式读写
        • 10.3.2 二进制格式读写
      • 10.4 文件流操作的规则
        • 10.4.1 Windows 系统的操作组合
        • 10.4.2 Linux 系统的操作组合
        • 10.4.3 跨平台文件操作
      • 10.5 文件流的定位与flush
        • 10.5.1 文件流的原理
        • 10.5.2 文件流的定位
        • 10.5.3 文件流的flush
      • 10.6 本章小结
      • 练习题
    • 第11章 程序开发的基本过程
      • 11.1 需求分析
        • 11.1.1 程序目标的描述
        • 11.1.2 数学模型的建立
        • 11.1.3 空间换时间的优化策略
      • 11.2 方案设计
        • 11.2.1 核心问题的分解
        • 11.2.2 解题思路的确定
        • 11.2.3 数据结构的选择
        • 11.2.4 算法的设计
      • 11.3 编码实现
        • 11.3.1 代码的结构
        • 11.3.2 函数的原则
      • 11.4 调试与测试简介
        • 11.4.1 调试的基本步骤
        • 11.4.2 调试的方法
        • 11.4.3 测试的思想
      • 11.5 本章小结
      • 练习题
    • 附录A gcc 编译器的安装
    • 附录B Code::Blocks 集成开发环境的安装
    • 附录C ASCII 码表
    • 附录D 运算优先级表
    • 附录E 常用库函数
    • 参考文献

“C语言程序设计——原理与实践”数字课程与纸质教材一体化设计,紧密配合。数字课程涵盖电子教案、程序源代码和在线编程平台,充分运用多种媒体资源,极大地丰富了知识的呈现形式,拓展了教材内容。在提升课程教学效果的同时,为学生学习提供思维与探索的空间。

相关图书