顶部
收藏

C语言程序设计(第4版)

“十二五”普通高等教育本科国家级规划教材

作者:
苏小红 赵玲玲 孙志岗 王宇颖 等
定价:
49.00元
ISBN:
978-7-04-051998-3
版面字数:
0.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
“十二五”普通高等教育本科国家级规划教材
出版时间:
2019-08-06
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
程序设计基础

本书是一本兼具趣味性和实用性的C语言程序设计教材。全书由14章组成,内容包括:为什么要学习编程,基本数据类型,基本算术运算,键盘输入和屏幕输出,选择控制结构,循环控制结构,函数与模块化程序设计,数组和算法基础,指针,字符串,指针和数组,结构体和数据结构基础,文件操作以及简单的游戏设计。

本书以应用为背景,面向编程实践和问题求解能力的训练,从实际问题出发,在案例的不断深化中逐步引出知识点,形成“程序设计方法由自底向上到自顶向下”和“数据结构由简单到复杂”的两条逻辑清晰的主线。案例内容紧密结合实践,举一反三,融会贯通,尤其侧重错误案例的分析和讲解,在任务驱动下,由浅入深、启发引导读者循序渐进地编写规模逐渐加大的程序,让读者在不知不觉中逐步加深对C语言程序设计方法的了解和掌握。本教材配有多媒体课件、例题和习题源代码以及基于C/S结构的编程题考试自动评分系统等教学资源,免费向任课教师提供。

本书适合作为高等学校各专业的C语言程序设计课程教材,也可作为从事计算机相关工作的科技人员、计算机爱好者及各类自学人员参考。

  • 前辅文
  • 第1章 为什么要学习编程
    • 1.1 学习编程的热潮
      • 1.1.1 席卷全球的“编程一小时”
      • 1.1.2 资本汹涌的少儿编程
      • 1.1.3 “再不学编程就晚了”
    • 1.2 为什么要学编程
    • 1.3 什么是“编程”
    • 1.4 怎么学编程
      • 1.4.1 一切都是计算
      • 1.4.2 学编程不是学语法
      • 1.4.3 动手,动手,再动手
    • 1.5 本章小结
    • 习题
  • 第2章 基本数据类型
    • 2.1 常量与变量
      • 2.1.1 常量
      • 2.1.2 变量
    • 2.2 简单的屏幕输出
    • 2.3 数据类型
    • 2.4 如何计算变量或数据类型所占内存空间的大小
    • 2.5 变量的赋值和赋值运算符
    • 2.6 本章扩充内容
    • 2.7 本章知识点小结
    • 2.8 本章常见错误小结
    • 习题
  • 第3章 基本算术运算
    • 3.1 C运算符和表达式
      • 3.1.1 算术运算符和表达式
      • 3.1.2 复合的赋值运算符
      • 3.1.3 增1和减1运算符
    • 3.2 宏常量与宏替换
    • 3.3 const常量
    • 3.4 自动类型转换与强制类型转换运算符
    • 3.5 常用的标准数学函数
    • 3.6 本章知识点小结
    • 3.7 本章常见错误小结
    • 习题
  • 第4章 键盘输入和屏幕输出
    • 4.1 单个字符的输入/输出
      • 4.1.1 字符常量
      • 4.1.2 字符的输入/输出
    • 4.2 数据的格式化屏幕输出
    • 4.3 数据的格式化键盘输入
    • 4.4 本章扩充内容
      • 4.4.1 用%c输入字符时存在的问题
      • 4.4.2 %c格式符存在问题的解决方法
    • 4.5 本章知识点小结
    • 4.6 本章常见错误小结
    • 习题
  • 第5章 选择控制结构
    • 5.1 生活中与计算机中的问题求解方法
    • 5.2 算法的概念及其描述方法
      • 5.2.1 算法的概念
      • 5.2.2 算法的描述方法
    • 5.3 关系运算符与关系表达式
    • 5.4 用于单分支控制的条件语句
    • 5.5 用于双分支控制的条件语句
    • 5.6 条件运算符和条件表达式
    • 5.7 用于多分支控制的条件语句
    • 5.8 用于多路选择的switch语句
    • 5.9 逻辑运算符和逻辑表达式
    • 5.10 本章扩充内容
      • 5.10.1 程序测试
      • 5.10.2 对输入非法字符的检查与处理
      • 5.10.3 位运算符
    • 5.11 本章知识点小结
    • 5.12 本章常见错误小结
    • 习题
  • 第6章 循环控制结构
    • 6.1 循环控制结构与循环语句
    • 6.2 计数控制的循环
    • 6.3 嵌套循环
    • 6.4 条件控制的循环
    • 6.5 流程的转移控制
      • 6.5.1 goto语句
      • 6.5.2 break语句
      • 6.5.3 continue语句
      • 6.5.4 穷举法编程实例
    • 6.6 本章扩充内容
      • 6.6.1 结构化程序设计的核心思想
      • 6.6.2 常用的程序调试与排错方法
      • 6.6.3 类型溢出
    • 6.7 本章知识点小结
    • 6.8 本章常见错误小结
    • 习题
  • 第7章 函数与模块化程序设计
    • 7.1 分而治之与信息隐藏
    • 7.2 函数的定义
      • 7.2.1 函数的分类
      • 7.2.2 函数的定义
    • 7.3 向函数传递值和从函数返回值
      • 7.3.1 函数调用
      • 7.3.2 函数原型
      • 7.3.3 函数封装与防御性程序设计
      • 7.3.4 函数设计的基本原则
    • 7.4 函数的递归调用和递归函数
    • 7.5 变量的作用域和生存期
      • 7.5.1 变量的作用域
      • 7.5.2 变量的生存期
    • 7.6 模块化程序设计
      • 7.6.1 模块分解的基本原则
      • 7.6.2 自顶向下、逐步求精
      • 7.6.3 模块化程序设计与多文件编程实例
      • 7.6.4 条件编译
    • 7.7 本章扩充内容——代码风格
    • 7.8 本章知识点小结
    • 7.9 本章常见错误小结
    • 习题
  • 第8章 数组和算法基础
    • 8.1 一维数组的定义和初始化
    • 8.2 二维数组的定义和初始化
    • 8.3 向函数传递一维数组
    • 8.4 排序和查找
    • 8.5 向函数传递二维数组
    • 8.6 本章知识点小结
    • 8.7 本章常见错误小结
    • 习题
  • 第9章 指针
    • 9.1 变量的内存地址
    • 9.2 指针变量的定义和初始化
    • 9.3 间接寻址运算符
    • 9.4 按值调用与模拟按引用调用
    • 9.5 用指针变量作函数参数的程序实例
    • 9.6 函数指针及其应用
    • 9.7 本章知识点小结
    • 9.8 本章常见错误小结
    • 习题
  • 第10章 字符串
    • 10.1 字符串字面量
    • 10.2 字符串的存储
    • 10.3 字符指针
    • 10.4 字符串的访问和输入/输出
      • 10.4.1 如何访问字符串中的单个字符
      • 10.4.2 字符串的输入/输出
    • 10.5 字符串处理函数
    • 10.6 向函数传递字符串
    • 10.7 从函数返回字符串指针
    • 10.8 本章扩充内容
      • 10.8.1 const类型限定符
      • 10.8.2 字符处理函数
      • 10.8.3 数值字符串向数值的转换
    • 10.9 本章知识点小结
    • 10.10 本章常见错误小结
    • 习题
  • 第11章 指针和数组
    • 11.1 指针和一维数组间的关系
    • 11.2 指针和二维数组间的关系
    • 11.3 指针数组及其应用
      • 11.3.1 指针数组用于表示多个字符串
      • 11.3.2 指针数组用于表示命令行参数
    • 11.4 动态数组
      • 11.4.1 C程序的内存映像
      • 11.4.2 动态内存分配函数
      • 11.4.3 长度可变的一维动态数组
      • 11.4.4 长度可变的二维动态数组
    • 11.5 本章扩充内容
      • 11.5.1 常见的内存错误及其对策
      • 11.5.2 缓冲区溢出攻击
    • 11.6 本章知识点小结
    • 11.7 本章常见错误小结
    • 习题
  • 第12章 结构体和数据结构基础
    • 12.1 从基本数据类型到抽象数据类型
    • 12.2 结构体的定义
      • 12.2.1 为什么要定义结构体类型
      • 12.2.2 结构体变量的定义
      • 12.2.3 用typedef定义数据类型
      • 12.2.4 结构体变量的初始化
      • 12.2.5 嵌套的结构体
      • 12.2.6 结构体变量的引用
      • 12.2.7 结构体所占内存的字节数
    • 12.3 结构体数组的定义和初始化
      • 12.3.1 结构体数组的定义
      • 12.3.2 结构体数组的初始化
    • 12.4 结构体指针的定义和初始化
      • 12.4.1 指向结构体变量的指针
      • 12.4.2 指向结构体数组的指针
    • 12.5 向函数传递结构体
    • 12.6 共用体
    • 12.7 枚举数据类型
    • 12.8 动态数据结构单向链表
      • 12.8.1 问题的提出
      • 12.8.2 链表的定义
      • 12.8.3 单向链表的建立
      • 12.8.4 单向链表的删除操作
      • 12.8.5 单向链表的插入操作
    • 12.9 本章扩充内容
      • 12.9.1 栈和队列
      • 12.9.2 树和图
      • 12.9.3 数据的逻辑结构和存储结构
    • 12.10 本章知识点小结
    • 12.11 本章常见错误小结
    • 习题
  • 第13章 文件操作
    • 13.1 二进制文件和文本文件
    • 13.2 文件的打开和关闭
    • 13.3 按字符读写文件
    • 13.4 按格式读写文件
    • 13.5 按数据块读写文件
    • 13.6 本章扩充内容
      • 13.6.1 文件的随机读写
      • 13.6.2 标准输入/输出重定向
    • 13.7 本章知识点小结
    • 13.8 本章常见错误小结
    • 习题
  • 第14章 简单的游戏设计
    • 14.1 动画的基本原理
    • 14.2 迷宫游戏
    • 14.3 Flappy bird游戏
    • 14.4 本章知识点小结
    • 14.5 本章常见错误小结
    • 习题
  • 附录A C关键字
  • 附录B GCC中基本数据类型的取值范围
  • 附录C C运算符的优先级与结合性
  • 附录D 常用字符与ASCII码值对照表
  • 附录E 常用的ANSI C标准库函数
  • 参考文献

相关图书