高级语言程序设计
作者:赵少卡,郭永宁,林为伟 编著
出版时间: 2020年版
内容简介
本书是引领初学者由浅入深、循序渐进学习高级语言程序设计的教材。全书介绍了C语言中的基本数据类型、程序的控制结构、模块化程序设计、数组、指针、自定义数据类型、文件等知识,并提供了一个完整的综合应用实例。本书紧紧围绕新工科人才培养的目标,重点讲解了C程序设计的思想与方法,并结合丰富的案例,逐步培养初学者的算法意识、模块化的程序设计思想、自主学习能力,以及综合运用所学知识分析问题、解决问题的能力。本节配有多媒体课件、例题源代码、部分习题源代码、慕课平台等立体化教学资源。本书既可作为高等院校和计算机等级考试的教学用书,也可作为对高级语言程序设计感兴趣的读者的自学读物。
目录
第1章 程序设计ABC
1.1 历史沿革:程序语言的发展阶段
1.2 回望过去:C语言的发展史
1.3 小试身手:几个简单的C程序
1.4 平台出场:C语言的编程环境
1.5 本章小结
1.6 本章习题
第2章 基本数据类型
2.1 一探究竟:数据的机内表示
2.1.1 数值数据的表示
2.1.2 西文字符的编码
2.2 异彩纷呈:数据的表现形式
2.2.1 常量和变量
2.2.2 整型数据
2.2.3 浮点型数据
2.2.4 字符型数据
2.3 运算出场:最基本的运算符和表达式
2.3.1 算术运算符和算术表达式
2.3.2 赋值运算符和赋值表达式
2.3.3 逗号运算符与逗号表达式
2.4 有始有终:数据的控制台输入与输出
2.4.1 格式化输出函数
2.4.2 格式化输入函数
2.4.3 字符输入与输出函数
2.5 本章小结
2.6 本章常见的编程错误
2.7 本章习题
第3章 程序的控制结构
3.1 程序灵魂:算法
3.1.1 算法的特性
3.1.2 算法的表示
3.2 流水作业:顺序结构
3.3 择优录取:选择结构
3.3.1 关系运算符和关系表达式
3.3.2 逻辑运算符和逻辑表达式
3.3.3 条件语句(if语句)
3.3.4 开关语句(switch语句)
3.3.5 程序设计举例
3.4 周而复始:循环结构
3.4.1 while循环
3.4.2 do-while循环
3.4.3 for循环
3.4.4 循环的嵌套
3.4.5 循环的跳转
3.4.6 知识拓展:穷举与迭代
3.5 本章小结
3.6 本章常见的编程错误
3.7 本章习题
第4章 模块化程序设计
4.1 功能封装:函数
4.1.1 函数的含义
4.1.2 函数的定义和调用
4.1.3 函数的功能
4.1.4 函数原型
4.1.5 栈内存的分配和使用
4.1.6 函数的嵌套调用
4.1.7 函数的递归调用
4.1.8 程序举例
4.2 捉摸不定:变量的性质
4.2.1 变量的作用域
4.2.2 变量的生命期
4.2.3 外部函数和内部函数
4.3 磨刀不误:编译预处理
4.3.1 宏定义和宏替换
4.3.2 文件包含
4.3.3 条件编译
4.4 本章小结
4.5 本章常见的编程错误
4.6 本章习题
第5章 数组
5.1 批量处理:一维数组的定义和使用
5.1.1 一维数组的定义方式
5.1.2 一维数组的初始化
5.1.3 一维数组元素的引用
5.1.4 一维数组程序举例
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.3.4 字符数组的引用
5.3.5 字符数组的输入/输出
5.3.6 字符串处理函数
5.3.7 字符串的输入/输出
5.3.8 程序举例
5.4 思维训练:几种重要的算法
5.4.1 排序算法
5.4.2 查找算法
5.5 知识拓展:向函数传递数组
5.6 本章小结
5.7 本章常见的编程错误
5.8 本章习题
第6章 指针
6.1 寻觅芳踪:初识指针
6.1.1 内存地址和指针
6.1.2 指针变量的定义、初始化与引用
6.1.3 指针变量的移动和比较
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.3.5 指针数组
6.3.6 二级指针
6.3.7 内存的动态分配和动态数组的建立
6.4 本章小结
6.5 本章常见的编程错误
6.6 本章习题
第7章 自定义数据类型
7.1 求同存异:结构体类型
7.1.1 结构体类型的引入
7.1.2 结构体变量的定义、初始化和引用
7.1.3 结构体数组
7.1.4 结构体与指针
7.1.5 结构体与函数
7.2 伙伴牵手:链表
7.2.1 链表的概念
7.2.2 链表的基本操作
7.3 你中有我:共用体类型
7.3.1 共用体类型的定义
7.3.2 共用体变量的定义
7.3.3 共用体变量的初始化和引用
7.4 心中有数:枚举类型
7.5 别名当道:typedef类型
7.6 本章小结
7.7 本章常见的编程错误
7.8 本章习题
第8章 文件
8.1 揭示本质:文件的概念与分类
8.2 暂时歇脚:缓冲文件系统
8.3 有开有关:文件的打开与关闭
8.3.1 文件的打开(fopen()函数)
8.3.2 文件的关闭(fclose()函数)
8.4 有条不紊:文件的顺序读写
8.4.1 fgetc()函数和fputc()函数
8.4.2 fgets()函数和fputs()函数
8.4.3 fread()函数和fwrite()函数
8.5 随时来访:文件的随机读写
8.6 实时诊断:文件的状态
8.7 本章小结
8.8 本章常见的编程错误
8.9 本章习题
第9章 综合应用实例――课程表管理系统
9.1 项目背景
9.2 设计目的
9.3 系统分析与功能描述
9.4 总体设计
9.4.1 功能模块设计
9.4.2 数据结构设计
9.4.3 函数功能描述
9.5 程序实现
9.5.1 源码分析
9.5.2 运行结果
9.6 本章小结
9.7 本章习题
附录A ASCII码表及其中各控制字符的含义
附录B C语言关键字
附录C C语言运算符的优先级与结合性
附录D 常用的标准库函数
附录E Visual C++ 6.0上机指南
附录F Visual C++ 6.0常见编译错误
参考文献