顶部
收藏

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

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

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

本书是一本兼具趣味性和实用性的C语言程序设计教材。全书由13章组成,内容包括:为什么要学C语言,C数据类型,简单的算术运算和表达式,键盘输入和屏幕输出,选择控制结构,循环控制结构,函数,数组,指针,字符串,指针和数组,结构体和共用体,文件操作。

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

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

 

  • 前辅文
  • 第1章 为什么要学C 语言
    • 1.1 引言
    • 1.2 游戏、黑客和C 语言
    • 1.3 C 语言,不老的传说
    • 1.4 C 语言的爱与恨
    • 1.5 C 语言教给我们的事
    • 1.6 什么是“编程”
    • 1.7 本章小结
    • 习题1
  • 第2章 C 数据类型
    • 2.1 常量与变量
      • 2.1.1 常量
      • 2.1.2 变量
    • 2.2 简单的屏幕输出
    • 2.3 数据类型
    • 2.4 如何计算变量或数据类型所占内存空间的大小
    • 2.5 变量的赋值和赋值运算符
    • 2.6 本章扩充内容
    • 2.7 本章知识点小结
    • 2.8 本章常见错误小结
    • 习题2
    • 本章实验题
  • 第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 本章常见错误小结
    • 习题3
    • 本章实验题
  • 第4章 键盘输入和屏幕输出
    • 4.1 单个字符的输入/输出
      • 4.1.1 字符常量
      • 4.1.2 字符的输入/输出
    • 4.2 数据的格式化屏幕输出
    • 4.3 数据的格式化键盘输入
    • 4.4 本章扩充内容
    • 4.5 本章知识点小结
    • 4.6 本章常见错误小结
    • 习题4
    • 本章实验题
  • 第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 本章常见错误小结
    • 习题5
    • 本章实验题
  • 第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 本章常见错误小结
    • 习题6
    • 本章实验题
  • 第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.7 本章扩充内容
    • 7.8 本章知识点小结
    • 7.9 本章常见错误小结
    • 习题7
    • 本章实验题
  • 第8章 数组
    • 8.1 一维数组的定义和初始化
    • 8.2 二维数组的定义和初始化
    • 8.3 向函数传递一维数组
    • 8.4 排序和查找
    • 8.5 向函数传递二维数组
    • 8.6 本章知识点小结
    • 8.7 本章常见错误小结
    • 习题8
    • 本章实验题
  • 第9章 指针
    • 9.1 变量的内存地址
    • 9.2 指针变量的定义和初始化
    • 9.3 间接寻址运算符
    • 9.4 按值调用与模拟按引用调用
    • 9.5 用指针变量作函数参数的程序实例
    • 9.6 函数指针及其应用
    • 9.7 本章知识点小结
    • 9.8 本章常见错误小结
    • 习题9
    • 本章实验题
  • 第10章 字符串
    • 10.1 字符串常量
    • 10.2 字符串的存储
    • 10.3 字符指针
    • 10.4 字符串的访问和输入/输出
      • 10.4.1 如何访问字符串中的单个字符
      • 10.4.2 字符串的输入/输出
    • 10.5 字符串处理函数
    • 10.6 向函数传递字符串
    • 10.7 从函数返回字符串指针
    • 10.8 本章扩充内容
    • 10.9 本章知识点小结
    • 10.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 本章常见错误小结
    • 习题11
    • 本章实验题
  • 第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.10 本章常见错误小结
    • 习题12
    • 本章实验题
  • 第13章 文件操作
    • 13.1 二进制文件和文本文件
    • 13.2 文件的打开和关闭
    • 13.3 按字符读写文件
    • 13.4 按格式读写文件
    • 13.5 按数据块读写文件
    • 13.6 本章扩充内容
      • 13.6.1 文件的随机读写
      • 13.6.2 标准输入/输出重定向
    • 13.7 本章知识点小结
    • 13.8 本章常见错误小结
    • 习题13
    • 本章实验题
  • 附录A C 关键字
  • 附录B Visual C++下基本数据类型的取值范围
  • 附录C C 运算符的优先级与结合性
  • 附录D 常用字符与ASCII 值对照表
  • 附录E 常用的ANSI C 标准库函数
  • 参考文献

C语言程序设计数字课程与纸质教材一体化设计,紧密配合。数字课程涵盖微视频、教学课件、动画演示、答疑解惑等板块。充分运用多种形式媒体资源,极大地丰富了知识的呈现形式,拓展了教材内容。在提升课程教学效果同时,为学生学习提供思维与探索的空间。

2.1何为二进制?如何表示二进制的正负?
文档pdf
2.2数据在程序中是如何表示的?
文档pdf
2.3变量有哪些基本属性?
文档pdf
2.4在高级语言中为什么要引入数据类型?
文档pdf
详见纸质图书
2.5变量的类型决定了什么?
文档pdf
详见纸质图书
2.6计算机的内存是如何编址的,如何衡量内存空间的大小?
文档pdf
详见纸质图书
3.1求余运算的应用举例
文档pdf
详见纸质图书
3.2如何理解-a++?
文档pdf
详见纸质图书
3.3不同类型数据间的赋值
文档pdf
详见纸质图书
4.1函数printf()的格式转换说明
文档pdf
详见纸质图书
4.2为什么用%lf输入而用%f输出double型数据呢?
文档pdf
详见纸质图书
4.3函数scanf()的格式转换说明符
文档pdf
详见纸质图书
4.4例4.4讲解
文档pdf
详见纸质图书
4.5格式修饰符“星”的作用
文档pdf
详见纸质图书
4.6scanf()函数的%c格式符输入字符型数据时存在的问题
文档pdf
详见纸质图书
4.7函数scanf()的格式修饰符
文档pdf
详见纸质图书
5.1计算两数的最大值
文档pdf
详见纸质图书
5.2多分支选择控制
文档pdf
详见纸质图书
5.3在数学上正确的表达式在C语言的逻辑上不一定总是正确的
文档pdf
详见纸质图书
5.4逻辑运算符的短路特性
文档pdf
详见纸质图书

相关图书