编辑推荐
高等学校计算机专业系列教材,强化程序设计能力。
内容简介
本书以程序设计为主线,在详细阐述程序设计基本概念、原理和方法的基础上,结合实践教学和学科竞赛的实际情况,通过经典实例讲解和实训,使学生掌握利用C语言进行结构化程序设计的技术和方法。
本书注重培养学生良好的编程习惯,帮助他们掌握常见的算法思路,真正提高他们运用C语言编程解决实际问题的综合能力,为后续课程实践环节的教学打下良好基础。
本书可作为计算机类专业本科或专科教材,也可作为信息类或其他相关专业的选修教材或辅助读物。
作者简介
编著者谢满德,博士、教授、硕士生导师。现任浙江工商大学信息与电子工程学院副院长、浙江工商大学人工智能研究所副所长。
章节目录
版权信息
前言
教学建议
第1章 C语言与程序设计概述
1.1 初见C语言程序
1.2 计算机与程序设计
1.2.1 指令与程序
1.2.2 程序与程序设计
1.2.3 程序设计和程序设计语言
1.2.4 程序设计过程
1.3 C语言学习与自然语言学习类比
1.4 C语言的发展历史、现状与特点
1.4.1 C语言的发展历史和现状
1.4.2 C语言的特点
习题
第2章 示例驱动的C语言语法元素
2.1 变量与表达式
2.2 分支语句
2.2.1 if语句
2.2.2 switch语句
2.3 循环语句
2.3.1 while循环语句
2.3.2 for循环语句
2.4 符号常量
2.5 输入/输出
2.6 数组
2.7 函数
2.8 算法
2.8.1 算法概念
2.8.2 流程图与算法描述
习题
第3章 基本数据类型和表达式
3.1 基本语法单位
3.1.1 基本符号
3.1.2 关键字
3.1.3 标识符
3.2 数据类型
3.3 常量与变量
3.3.1 常量
3.3.2 变量
3.3.3 变量的初始化
3.4 表达式和运算符
3.4.1 算术运算符
3.4.2 赋值运算符
3.4.3 关系运算符
3.4.4 逻辑运算符
3.4.5 位运算符
3.4.6 逗号运算符
3.4.7 条件运算符
3.4.8 强制类型转换运算符
3.4.9 运算符优先级和结合性
3.5 各类数值型数据间的混合运算
习题
第4章 输入/输出语句
4.1 字符输出函数putchar
4.2 格式控制输出函数printf
4.2.1 printf函数的形式
4.2.2 格式说明字符
4.3 字符输入函数getchar
4.4 格式控制输入函数scanf
4.4.1 一般形式
4.4.2 格式说明
4.4.3 使用scanf函数时需注意的问题
4.5 多组数据输入控制
4.6 输入/输出程序示例
习题
第5章 C语言程序结构
5.1 C语言语句概述
5.2 程序设计基础
5.3 结构化程序设计的三种基本结构
5.3.1 顺序结构
5.3.2 选择结构
5.3.3 循环结构
5.4 if分支语句
5.4.1 第一种if语句形式
5.4.2 第二种if语句形式
5.4.3 第三种if语句形式
5.4.4 if语句的嵌套
5.4.5 程序举例
5.5 switch分支语句
5.6 while循环语句
5.7 do…while循环语句
5.8 for循环语句
5.9 break语句和continue语句
5.9.1 break语句
5.9.2 continue语句
5.10 多重循环的嵌套
5.11 程序举例
5.12 C语言的基本编码规范
5.12.1 程序书写规范
5.12.2 命名规范
习题
第6章 数组
6.1 为什么要引入数组
6.2 一维数组
6.2.1 一维数组的定义
6.2.2 一维数组元素的引用
6.2.3 一维数组元素的初始化
6.3 二维数组
6.3.1 双下标变量
6.3.2 二维数组及其定义
6.3.3 二维数组的初始化
6.3.4 二维数组应用示例
6.4 综合应用示例
6.5 字符数组
6.5.1 字符串和字符串结束标志
6.5.2 字符数组的输入/输出
6.5.3 字符串函数
6.5.4 二维的字符数组
6.5.5 字符数组应用举例
习题
第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 函数调用时值的单向传递性
7.3.7 函数调用应用举例
7.4 函数的嵌套调用
7.5 函数的递归调用
7.5.1 函数递归调用的概念
7.5.2 递归调用应用举例
7.6 数组作为函数参数
7.6.1 用数组元素作为函数实参
7.6.2 用数组名作为函数参数
7.6.3 用多维数组作为函数参数
7.7 变量的作用域
7.7.1 局部变量
7.7.2 全局变量
7.8 变量的存储类别和生存期
7.8.1 变量的存储类别
7.8.2 动态变量
7.8.3 静态变量
7.8.4 外部变量
7.9 内部函数和外部函数
7.9.1 内部函数
7.9.2 外部函数
习题
第8章 编译预处理
8.1 宏定义
8.1.1 不带参数的宏定义
8.1.2 带参数的宏定义
8.2 文件包含
8.3 条件编译
习题
第9章 指针
9.1 地址和指针的概念
9.2 指针变量和地址运算符
9.2.1 指针变量的定义
9.2.2 指针变量的使用
9.3 指针和数组
9.3.1 通过指针存取数组元素
9.3.2 字符串和指针
9.4 指针和函数
9.4.1 用指针作为函数的参数
9.4.2 用指针作为函数的返回值
9.4.3 指向函数的指针
9.5 多级指针
9.5.1 多级指针的概念和使用
9.5.2 多级指针和多级数组
9.5.3 命令行参数
9.6 指针和动态存储管理
9.6.1 概述
9.6.2 malloc函数和free函数
9.6.3 动态存储管理的应用
9.7 指针和指针运算小结
习题
第10章 结构与联合
10.1 为什么需要结构体
10.2 结构体类型变量的定义和引用
10.2.1 结构体类型变量的定义
10.2.2 结构体类型变量的引用
10.2.3 结构体类型变量的初始化
10.3 结构体数组的定义和引用
10.4 结构体指针的定义和引用
10.4.1 指向结构体类型变量的指针的使用
10.4.2 指向结构体类型数组的指针的使用
10.5 链表的定义和操作
10.5.1 链表
10.5.2 链表的建立
10.5.3 输出链表元素
10.5.4 删除链表元素
10.5.5 插入链表元素
10.5.6 查询链表元素
10.6 联合
10.6.1 联合的定义
10.6.2 联合成员的引用
10.6.3 应用举例
10.6.4 数组、结构和联合类型的比较
10.7 枚举类型
10.8 用typedef定义类型名
习题
第11章 文件操作
11.1 文件的基本概念
11.1.1 概述
11.1.2 文件分类
11.1.3 缓冲文件系统和非缓冲文件系统
11.1.4 流式文件
11.2 标准文件
11.3 文件类型指针
11.4 文件的打开与关闭
11.4.1 文件的打开
11.4.2 文件的关闭
11.5 文件的顺序读写
11.6 文件顺序读写的常用函数
11.7 文件顺序读写的应用示例
11.8 文件的随机读写
11.8.1 文件的定位
11.8.2 文件操作的出错检测
11.9 非缓冲文件系统
习题
第12章 综合实训
12.1 综合实训1:俄罗斯方块游戏
12.1.1 问题描述
12.1.2 问题分析
12.1.3 数据结构分析
12.1.4 程序执行流程和设计分析
12.1.5 程序运行和测试
12.2 综合实训2:五子棋游戏
12.2.1 问题描述
12.2.2 问题分析
12.2.3 数据结构分析
12.2.4 程序执行流程和设计分析
12.2.5 程序运行和测试
12.3 综合实训3:员工管理系统
12.3.1 问题描述
12.3.2 问题分析
12.3.3 数据结构分析
12.3.4 程序执行流程和设计分析
12.3.5 程序运行和测试
12.4 综合实训设计中的分析与讨论
第13章 初涉ACM/ICPC
13.1 ACM/ICPC概述
13.2 n皇后问题
13.2.1 问题描述
13.2.2 问题分析与求解
13.2.3 问题小结
13.3 方块与收纳盒
13.3.1 问题描述
13.3.2 问题分析与求解
13.3.3 问题小结
13.4 离散化
13.4.1 问题描述
13.4.2 问题分析与求解
13.4.3 问题小结
13.5 快速幂
13.5.1 问题描述
13.5.2 问题分析与求解
13.5.3 问题小结
13.6 最大子段和与分治法
13.6.1 问题描述
13.6.2 问题分析与求解
13.6.3 问题小结
13.7 矩阵连乘问题与动态规划算法
13.7.1 问题描述
13.7.2 问题分析与求解
13.7.3 问题小结
13.8 最短路径和Dijkstra算法
13.8.1 问题描述
13.8.2 问题分析与求解
13.8.3 问题小结
13.9 模拟
13.9.1 问题描述
13.9.2 问题分析与求解
13.9.3 问题小结
13.10 一些提供练习服务的网站
参考文献
C语言程序设计与实践(第3版)是2023年由机械工业出版社出版,作者刘文强 编著。
得书感谢您对《C语言程序设计与实践(第3版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。