微信扫一扫,移动浏览光盘
简介
本书是一本兼具趣味性和实用性的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和减l运算符
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 字符指针
lO.4 字符串的访问和输入/输出
10.4.1 如何访问字符串中的单个字符
10.4.2 字符串的输入/输出
10.5 字符串处理函数
10.6 向函数传递字符串
10.7 从函数返回字符串指针
10.8 本章扩充内容
10.9 本章知识点小结
10.1 0本章常见错误小结
习题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标准库函数
参考文献
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和减l运算符
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 字符指针
lO.4 字符串的访问和输入/输出
10.4.1 如何访问字符串中的单个字符
10.4.2 字符串的输入/输出
10.5 字符串处理函数
10.6 向函数传递字符串
10.7 从函数返回字符串指针
10.8 本章扩充内容
10.9 本章知识点小结
10.1 0本章常见错误小结
习题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语言程序设计(第3版)
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×